Code Monkey home page Code Monkey logo

Comments (101)

SamSaffron avatar SamSaffron commented on August 17, 2024 4

This does reproduce it in docker:

docker run -it --rm ruby:3.0
gem install rails -v 6.1.7.7
rails new --skip-javascript app
cd app

echo "gem 'mini_racer', '~> 0.12.0'" >> Gemfile
echo 'gem "autoprefixer-rails", "10.4.16.0"' >> Gemfile

bundle install
./bin/rails assets:clobber assets:precompile

I looked at the files and there is nothing special about them, the backtrace for the segfault is on cleanup.

specifically miniracer calling deallocate from the finalize_list in ruby and free_context_raw leading to a segfault.

@lloeki is this enough for you to debug, or do you need more help here? One possibility here is that somehow autoprefixer is forking processes, I looked at the code and it does not look like it.

The crash looks like is is from

if (isolate_info) {
isolate_info->release();
}

from mini_racer.

lloeki avatar lloeki commented on August 17, 2024 3

@SamSaffron Yeah I think I can fit that in this week's schedule.

from mini_racer.

lloeki avatar lloeki commented on August 17, 2024 2

LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2 ruby -r rbconfig -e "puts RbConfig::CONFIG['MAINLIBS']"

LD_PRELOAD wouldn't change RbConfig::CONFIG['MAINLIBS'] output, it'd just forcefully inject jemalloc symbols into it.

In any case it appears that RbConfig::CONFIG['MAINLIBS'] doesn't contain anything about jemalloc anyway, even when statically built against jemalloc.

I'm not able to reproduce the issue in a local docker either.

I couldn't reproduce it either inside that x86_64 image: test suite passes, even when artificially stressing libv8 by throwing copious amounts of quickly hacked JS code processing to it (granted it was a real quick test).

from mini_racer.

emilong avatar emilong commented on August 17, 2024 2

If this is any help, @SamSaffron's repro did work for me and I traced the segfault a bit further down to this line:

I forced libv8-node down to 20.12.1.0 and the issue went away, so perhaps it's possible that it's either a bug in 21.7.2.0 or a breaking change requiring an update?

Edit: for those who don't know (like me before yesterday!) that isolate in the line I think is a v8::Isolate, i.e. part of V8 proper and not mini_racer.

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024 2

thanks so much for the instruction ... CPU is running hot now :)

from mini_racer.

lloeki avatar lloeki commented on August 17, 2024 2

Ruby 2.7 is EOL

It's not so much for the Ruby version than the glibc one.

from mini_racer.

tisba avatar tisba commented on August 17, 2024 1

Hey @D-system. A couple of question hopefully helping to narrow the issue down

  • Can you reproduce it with a freshly created rails application? On aarch64-linux my basic checks works, as well as rails new foo && cd foo && bundle install && RAILS_ENV=production SECRET_KEY_BASE=1 bin/rails assets:clobber assets:precompile using cimg/ruby:3.2.3-node.

  • Can you reproduce the issue with Ruby 3.3.0?

  • Can you confirm if you're using jemalloc or not? Looks like the image is at least installing libjemalloc, I haven't checked if they build Ruby against it, or using LD_PRELOAD, or using this up to the user. There have been various issues with jemalloc and mini_racer/v8. In case jemalloc is used, can you try without?

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024 1

@lloeki this looks urgent , should we roll out a release that puts us back at an earlier version while we work this out ?

from mini_racer.

fjl82 avatar fjl82 commented on August 17, 2024 1

I am indeed using puma in clustered mode, but it was working fine on 0.8.0, and starting puma in single mode gives me the same segfault in the same place. I have the suggested fork safety line in an initializer, and removing this makes no difference in any scenario.

from mini_racer.

D-system avatar D-system commented on August 17, 2024 1

I'm still not able to reproduce it in a local Docker even when I use the Docker image of the CI.

I continue to investigate on the CI directly. SSH and vi for the win!

Anyway, I track down the issue. On a brand new Rails 6.1 app:

  • precompile assets: no problem
  • add mini_racer: no problem
  • add bootstrap 4: problem (let's look at bootstrap own dependencies)
  • removed bootstrap and added sassc-rails: no problem
  • removed sassc-rails and added autoprefixer-rails 10.4.16.0: problem
  • removed autoprefixer-rails and added execjs 2.9.1: no problem

autoprefixer-rails has only execjs as dependency.
In my very case, autoprefixer-rails might have some code that seg fault in the CI only.

I don't know what else I could search.

from mini_racer.

lloeki avatar lloeki commented on August 17, 2024 1

@george-gca entirely unrelated. see rubyjs/libv8-node#36 (comment)

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024 1

@lloeki FYI my above sample also repros outside of docker... it crashes with a segfault in the isolate->Dispose() line. I checked and the isolate is not in use, I guess the next step here is to compile this somehow on local with symbols so we can step into v8 and see where in Dispose this is crashing. will try a bit more to figure out if I can somehow make repro script, nothing complex is happening here just creating a context and then GC is clearing it up.

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024 1

Repro:

#!/usr/bin/env ruby

require "bundler/setup"
require "mini_racer"
Thread
  .new do
    ctx = MiniRacer::Context.new
    ctx.eval(File.read("/tmp/eval.js"))
  end
  .join

eval.js is
eval.js.txt

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024 1

I am on glibc here yeah lets see I am building now with gcc to see if it resolves before going too crazy.

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024 1

I have good news @lloeki

libv8-node-22.4.0.0-x86_64-linux.gem

No longer crashes, any chance you can push this out? This may be the best possible resolution here...

  1) Failure:
MiniRacerTest#test_timeout [test/mini_racer_test.rb:1045]:
MiniRacer::ScriptTerminatedError expected but nothing was raised.

I am sure this is resolvable...

from mini_racer.

lloeki avatar lloeki commented on August 17, 2024 1

@SamSaffron apologies for the lack of updates, I started building but hit some local snags. I should have them sorted out over the weekend.

from mini_racer.

D-system avatar D-system commented on August 17, 2024 1

@tisba I think you meant 0.13.0.
Yes, I just tried with 0.13.0 without success.
It still seg fault in the unsafe block.

#!/bin/bash -eo pipefail
RAILS_ENV=production SECRET_KEY_BASE=1 bin/rails assets:clobber assets:precompile
I, [2024-08-01T10:15:50.803867 #8314]  INFO -- : Removed /home/circleci/ec/public/assets
yarn install v1.22.19
warning package.json: No license field
info No lockfile found.
warning package-lock.json found. Your project contains lock files generated by tools other than Yarn. It is advised not to mix package managers in order to avoid resolution inconsistencies caused by unsynchronized lock files. To clear this warning, remove package-lock.json.
warning No license field
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.04s.
/home/circleci/.rubygems/gems/mini_racer-0.13.0/lib/mini_racer.rb:228: [BUG] Segmentation fault at 0x00007f9ca8fe03e8
ruby 3.3.4 (2024-07-09 revision be1089c8ec) [x86_64-linux]

-- Control frame information -----------------------------------------------
c:0045 p:---- s:0281 e:000280 CFUNC  :eval_unsafe
c:0044 p:0009 s:0275 e:000274 BLOCK  /home/circleci/.rubygems/gems/mini_racer-0.13.0/lib/mini_racer.rb:228
c:0043 p:0010 s:0272 e:000271 METHOD /home/circleci/.rubygems/gems/mini_racer-0.13.0/lib/mini_racer.rb:348
c:0042 p:0008 s:0261 e:000260 BLOCK  /home/circleci/.rubygems/gems/mini_racer-0.13.0/lib/mini_racer.rb:227 [FINISH]
c:0041 p:---- s:0258 e:000257 CFUNC  :synchronize
c:0040 p:0045 s:0254 e:000253 METHOD /home/circleci/.rubygems/gems/mini_racer-0.13.0/lib/mini_racer.rb:225
c:0039 p:0017 s:0247 e:000246 BLOCK  /home/circleci/.rubygems/gems/execjs-2.9.1/lib/execjs/mini_racer_runtime.rb:28
c:0038 p:0003 s:0244 e:000242 METHOD /home/circleci/.rubygems/gems/execjs-2.9.1/lib/execjs/mini_racer_runtime.rb:67
c:0037 p:0024 s:0236 e:000235 METHOD /home/circleci/.rubygems/gems/execjs-2.9.1/lib/execjs/mini_racer_runtime.rb:27
c:0036 p:0025 s:0230 e:000229 METHOD /home/circleci/.rubygems/gems/execjs-2.9.1/lib/execjs/mini_racer_runtime.rb:35
c:0035 p:0071 s:0224 e:000222 METHOD /home/circleci/.rubygems/gems/terser-1.2.3/lib/terser.rb:229
c:0034 p:0014 s:0213 e:000212 METHOD /home/circleci/.rubygems/gems/terser-1.2.3/lib/terser.rb:181
c:0033 p:0029 s:0207 e:000206 METHOD /home/circleci/.rubygems/gems/terser-1.2.3/lib/terser/compressor.rb:36
c:0032 p:0007 s:0199 e:000198 METHOD /home/circleci/.rubygems/gems/terser-1.2.3/lib/terser/compressor.rb:23
c:0031 p:0047 s:0194 e:000193 METHOD /home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/processor_utils.rb:84
c:0030 p:0013 s:0186 e:000185 BLOCK  /home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/processor_utils.rb:66 [FINISH]
c:0029 p:---- s:0181 e:000180 CFUNC  :reverse_each
c:0028 p:0035 s:0177 e:000176 METHOD /home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/processor_utils.rb:65
c:0027 p:0395 s:0169 e:000168 METHOD /home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/loader.rb:184
c:0026 p:0054 s:0145 e:000144 BLOCK  /home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/loader.rb:59
c:0025 p:0033 s:0139 e:000138 METHOD /home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/loader.rb:339
c:0024 p:0115 s:0129 e:000128 METHOD /home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/loader.rb:43
c:0023 p:0006 s:0120 e:000119 BLOCK  /home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/cached_environment.rb:44
c:0022 p:0013 s:0117 e:000114 BLOCK  /home/circleci/.rubygems/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/map.rb:207
c:0021 p:0033 s:0112 e:000111 METHOD /home/circleci/.rubygems/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/map.rb:187
c:0020 p:0010 s:0105 e:000104 METHOD /home/circleci/.rubygems/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/map.rb:206
c:0019 p:0008 s:0099 e:000098 METHOD /home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/cached_environment.rb:44
c:0018 p:0025 s:0094 e:000093 METHOD /home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/base.rb:81
c:0017 p:0023 s:0086 e:000085 METHOD /home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/base.rb:88 [FINISH]
c:0016 p:---- s:0075 e:000074 CFUNC  :each
c:0015 p:---- s:0072 e:000071 CFUNC  :to_a
c:0014 p:0009 s:0068 e:000067 BLOCK  /home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/manifest.rb:125
c:0013 p:0010 s:0065 e:000064 BLOCK  /home/circleci/.rubygems/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24
c:0012 p:0002 s:0061 e:000060 BLOCK  /home/circleci/.rubygems/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48 [FINISH]
c:0011 p:---- s:0058 e:000057 CFUNC  :synchronize
c:0010 p:0016 s:0054 e:000053 METHOD /home/circleci/.rubygems/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48
c:0009 p:0014 s:0050 e:000049 METHOD /home/circleci/.rubygems/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22
c:0008 p:0015 s:0042 e:000041 BLOCK  /home/circleci/.rubygems/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/promise.rb:564
c:0007 p:0008 s:0036 e:000035 METHOD /home/circleci/.rubygems/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:359
c:0006 p:0041 s:0028 e:000027 BLOCK  /home/circleci/.rubygems/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:350
c:0005 p:0018 s:0022 e:000021 METHOD <internal:kernel>:187
c:0004 p:0004 s:0017 e:000016 BLOCK  /home/circleci/.rubygems/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:341 [FINISH]
c:0003 p:---- s:0014 e:000013 CFUNC  :catch
c:0002 p:0006 s:0009 e:000008 BLOCK  /home/circleci/.rubygems/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:340 [FINISH]
c:0001 p:---- s:0003 e:000002 DUMMY  [FINISH]

-- Ruby level backtrace information ----------------------------------------
/home/circleci/.rubygems/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:340:in `block in create_worker'
/home/circleci/.rubygems/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:340:in `catch'
/home/circleci/.rubygems/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:341:in `block (2 levels) in create_worker'
<internal:kernel>:187:in `loop'
/home/circleci/.rubygems/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:350:in `block (3 levels) in create_worker'
/home/circleci/.rubygems/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:359:in `run_task'
/home/circleci/.rubygems/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/promise.rb:564:in `block in realize'
/home/circleci/.rubygems/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in `execute'
/home/circleci/.rubygems/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in `synchronize'
/home/circleci/.rubygems/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in `synchronize'
/home/circleci/.rubygems/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in `block in synchronize'
/home/circleci/.rubygems/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in `block in execute'
/home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/manifest.rb:125:in `block (2 levels) in find'
/home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/manifest.rb:125:in `to_a'
/home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/manifest.rb:125:in `each'
/home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/base.rb:88:in `find_all_linked_assets'
/home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/base.rb:81:in `find_asset'
/home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/cached_environment.rb:44:in `load'
/home/circleci/.rubygems/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/map.rb:206:in `fetch_or_store'
/home/circleci/.rubygems/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/map.rb:187:in `fetch'
/home/circleci/.rubygems/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/map.rb:207:in `block in fetch_or_store'
/home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/cached_environment.rb:44:in `block in load'
/home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/loader.rb:43:in `load'
/home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/loader.rb:339:in `fetch_asset_from_dependency_cache'
/home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/loader.rb:59:in `block in load'
/home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/loader.rb:184:in `load_from_unloaded'
/home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/processor_utils.rb:65:in `call_processors'
/home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/processor_utils.rb:65:in `reverse_each'
/home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/processor_utils.rb:66:in `block in call_processors'
/home/circleci/.rubygems/gems/sprockets-4.2.1/lib/sprockets/processor_utils.rb:84:in `call_processor'
/home/circleci/.rubygems/gems/terser-1.2.3/lib/terser/compressor.rb:23:in `call'
/home/circleci/.rubygems/gems/terser-1.2.3/lib/terser/compressor.rb:36:in `call'
/home/circleci/.rubygems/gems/terser-1.2.3/lib/terser.rb:181:in `compile_with_map'
/home/circleci/.rubygems/gems/terser-1.2.3/lib/terser.rb:229:in `run_terserjs'
/home/circleci/.rubygems/gems/execjs-2.9.1/lib/execjs/mini_racer_runtime.rb:35:in `call'
/home/circleci/.rubygems/gems/execjs-2.9.1/lib/execjs/mini_racer_runtime.rb:27:in `eval'
/home/circleci/.rubygems/gems/execjs-2.9.1/lib/execjs/mini_racer_runtime.rb:67:in `translate'
/home/circleci/.rubygems/gems/execjs-2.9.1/lib/execjs/mini_racer_runtime.rb:28:in `block in eval'
/home/circleci/.rubygems/gems/mini_racer-0.13.0/lib/mini_racer.rb:225:in `eval'
/home/circleci/.rubygems/gems/mini_racer-0.13.0/lib/mini_racer.rb:225:in `synchronize'
/home/circleci/.rubygems/gems/mini_racer-0.13.0/lib/mini_racer.rb:227:in `block in eval'
/home/circleci/.rubygems/gems/mini_racer-0.13.0/lib/mini_racer.rb:348:in `timeout'
/home/circleci/.rubygems/gems/mini_racer-0.13.0/lib/mini_racer.rb:228:in `block (2 levels) in eval'
/home/circleci/.rubygems/gems/mini_racer-0.13.0/lib/mini_racer.rb:228:in `eval_unsafe'

-- Threading information ---------------------------------------------------
Total ractor count: 1
Ruby thread count for this ractor: 38

-- Machine register context ------------------------------------------------
 RIP: 0x00007f9ca8fe0400 RBP: 0x00007f9d933f0620 RSP: 0x00007f9d933f0550
 RAX: 0x0000000000000003 RBX: 0x0000000000000000 RCX: 0x00007f9ca8fe0400
 RDX: 0x00000d18d2380069 RDI: 0x0000238071df0859 RSI: 0x0000238071de33f1
  R8: 0x0000000000000003  R9: 0x000000000000004f R10: 0x00007f9d5c2dcc99
 R11: 0x0000238071df085b R12: 0x0000238071df0859 R13: 0x00007f9d5c2c9080
 R14: 0x0000000000000003 R15: 0x00007f9d933f04c0 EFL: 0x0000000000010246

-- C level backtrace information -------------------------------------------

Received "segmentation fault" signal

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024 1

oh no, and yes we just saw some of these too cc @lloeki 😢

will try debugging more this week

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024 1

Sadly #300 (comment) no longer crashes... I need a new consistent repro

from mini_racer.

tisba avatar tisba commented on August 17, 2024 1

@D-system does #300 (comment) still reproduce the issue for you?

from mini_racer.

D-system avatar D-system commented on August 17, 2024

I don't think jemalloc is enabled:

$ ruby -r rbconfig -e "puts RbConfig::CONFIG['MAINLIBS']"
-lz -lrt -lrt -ldl -lcrypt -lm -lpthread

Even by using the LD_PRELOAD, it does not seems to work:

$ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2  ruby -r rbconfig -e "puts RbConfig::CONFIG['MAINLIBS']"
-lz -lrt -lrt -ldl -lcrypt -lm -lpthread


# Checking the directory
$ ls -l /usr/lib/x86_64-linux-gnu/libjemalloc*
-rw-r--r-- 1 root root 1119814 Jan 24  2022 /usr/lib/x86_64-linux-gnu/libjemalloc.a
-rw-r--r-- 1 root root 1119970 Jan 24  2022 /usr/lib/x86_64-linux-gnu/libjemalloc_pic.a
lrwxrwxrwx 1 root root      16 Jan 24  2022 /usr/lib/x86_64-linux-gnu/libjemalloc.so -> libjemalloc.so.2
-rw-r--r-- 1 root root  744440 Jan 24  2022 /usr/lib/x86_64-linux-gnu/libjemalloc.so.2

Let me see if I can make a new app and get the same error.


I didn't realized there was a more debug output:

```

-- Ruby level backtrace information ----------------------------------------
/home/circleci/repo/vendor/ruby/3.2.0/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:340:in block in create_worker' /home/circleci/repo/vendor/ruby/3.2.0/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:340:in catch'
/home/circleci/repo/vendor/ruby/3.2.0/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:341:in block (2 levels) in create_worker' /home/circleci/repo/vendor/ruby/3.2.0/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:341:in loop'
/home/circleci/repo/vendor/ruby/3.2.0/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:350:in block (3 levels) in create_worker' /home/circleci/repo/vendor/ruby/3.2.0/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:359:in run_task'
/home/circleci/repo/vendor/ruby/3.2.0/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/promise.rb:564:in block in realize' /home/circleci/repo/vendor/ruby/3.2.0/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in execute'
/home/circleci/repo/vendor/ruby/3.2.0/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in synchronize' /home/circleci/repo/vendor/ruby/3.2.0/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in synchronize'
/home/circleci/repo/vendor/ruby/3.2.0/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in block in synchronize' /home/circleci/repo/vendor/ruby/3.2.0/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in block in execute'
/home/circleci/repo/vendor/ruby/3.2.0/gems/sprockets-4.2.1/lib/sprockets/manifest.rb:125:in block (2 levels) in find' /home/circleci/repo/vendor/ruby/3.2.0/gems/sprockets-4.2.1/lib/sprockets/manifest.rb:125:in to_a'
/home/circleci/repo/vendor/ruby/3.2.0/gems/sprockets-4.2.1/lib/sprockets/manifest.rb:125:in each' /home/circleci/repo/vendor/ruby/3.2.0/gems/sprockets-4.2.1/lib/sprockets/base.rb:88:in find_all_linked_assets'
/home/circleci/repo/vendor/ruby/3.2.0/gems/sprockets-4.2.1/lib/sprockets/base.rb:81:in find_asset' /home/circleci/repo/vendor/ruby/3.2.0/gems/sprockets-4.2.1/lib/sprockets/cached_environment.rb:44:in load'
/home/circleci/repo/vendor/ruby/3.2.0/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/map.rb:206:in fetch_or_store' /home/circleci/repo/vendor/ruby/3.2.0/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/map.rb:187:in fetch'
/home/circleci/repo/vendor/ruby/3.2.0/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/map.rb:207:in block in fetch_or_store' /home/circleci/repo/vendor/ruby/3.2.0/gems/sprockets-4.2.1/lib/sprockets/cached_environment.rb:44:in block in load'
/home/circleci/repo/vendor/ruby/3.2.0/gems/sprockets-4.2.1/lib/sprockets/loader.rb:43:in load' /home/circleci/repo/vendor/ruby/3.2.0/gems/sprockets-4.2.1/lib/sprockets/loader.rb:339:in fetch_asset_from_dependency_cache'
/home/circleci/repo/vendor/ruby/3.2.0/gems/sprockets-4.2.1/lib/sprockets/loader.rb:59:in block in load' /home/circleci/repo/vendor/ruby/3.2.0/gems/sprockets-4.2.1/lib/sprockets/loader.rb:184:in load_from_unloaded'
/home/circleci/repo/vendor/ruby/3.2.0/gems/sprockets-4.2.1/lib/sprockets/processor_utils.rb:65:in call_processors' /home/circleci/repo/vendor/ruby/3.2.0/gems/sprockets-4.2.1/lib/sprockets/processor_utils.rb:65:in reverse_each'
/home/circleci/repo/vendor/ruby/3.2.0/gems/sprockets-4.2.1/lib/sprockets/processor_utils.rb:66:in block in call_processors' /home/circleci/repo/vendor/ruby/3.2.0/gems/sprockets-4.2.1/lib/sprockets/processor_utils.rb:84:in call_processor'
/home/circleci/repo/vendor/ruby/3.2.0/gems/terser-1.2.2/lib/terser/compressor.rb:23:in call' /home/circleci/repo/vendor/ruby/3.2.0/gems/terser-1.2.2/lib/terser/compressor.rb:36:in call'
/home/circleci/repo/vendor/ruby/3.2.0/gems/terser-1.2.2/lib/terser.rb:181:in compile_with_map' /home/circleci/repo/vendor/ruby/3.2.0/gems/terser-1.2.2/lib/terser.rb:229:in run_terserjs'
/home/circleci/repo/vendor/ruby/3.2.0/gems/terser-1.2.2/lib/terser.rb:189:in context' /home/circleci/repo/vendor/ruby/3.2.0/gems/execjs-2.9.1/lib/execjs/module.rb:27:in compile'
/home/circleci/repo/vendor/ruby/3.2.0/gems/execjs-2.9.1/lib/execjs/runtime.rb:68:in compile' /home/circleci/repo/vendor/ruby/3.2.0/gems/execjs-2.9.1/lib/execjs/runtime.rb:68:in new'
/home/circleci/repo/vendor/ruby/3.2.0/gems/execjs-2.9.1/lib/execjs/mini_racer_runtime.rb:10:in initialize' /home/circleci/repo/vendor/ruby/3.2.0/gems/execjs-2.9.1/lib/execjs/mini_racer_runtime.rb:67:in translate'
/home/circleci/repo/vendor/ruby/3.2.0/gems/execjs-2.9.1/lib/execjs/mini_racer_runtime.rb:11:in block in initialize' /home/circleci/repo/vendor/ruby/3.2.0/gems/mini_racer-0.12.0/lib/mini_racer.rb:225:in eval'
/home/circleci/repo/vendor/ruby/3.2.0/gems/mini_racer-0.12.0/lib/mini_racer.rb:225:in synchronize' /home/circleci/repo/vendor/ruby/3.2.0/gems/mini_racer-0.12.0/lib/mini_racer.rb:227:in block in eval'
/home/circleci/repo/vendor/ruby/3.2.0/gems/mini_racer-0.12.0/lib/mini_racer.rb:348:in timeout' /home/circleci/repo/vendor/ruby/3.2.0/gems/mini_racer-0.12.0/lib/mini_racer.rb:228:in block (2 levels) in eval'
/home/circleci/repo/vendor/ruby/3.2.0/gems/mini_racer-0.12.0/lib/mini_racer.rb:228:in `eval_unsafe'

-- Machine register context ------------------------------------------------
RIP: 0x00007f97ea8d24e7 RBP: 0x00007f977fefa220 RSP: 0x00007f977fefa1e0
RAX: 0x00007f97edbd1000 RBX: 0x00007f96ec003000 RCX: 0x0000000000001000
RDX: 0x0000000000002127 RDI: 0x00007f96ec003000 RSI: 0x000000000003c000
R8: 0x0000000000040000 R9: 0x00007f977831dd10 R10: 0x00007f977831fc20
R11: 0x8bdbe29ebe0b09bc R12: 0x0000000000002000 R13: 0x00007f97edbb8000
R14: 0x000000000003c000 R15: 0x00005597131dd5a0 EFL: 0x0000000000010202

-- C level backtrace information -------------------------------------------
SEGV received in SEGV handler

</details>

from mini_racer.

D-system avatar D-system commented on August 17, 2024

I made a brand new Rails 6.1.7.7 app I got the same error with those changes:

  • remove webpacker
  • add gem "bootstrap", "~> 4.3"
  • add gem "sprockets-rails" (it does error out with sprockets and without webpacker)
  • add gem "mini_racer", "~> 0.12.0"

Note: it does precompile the files then seg fault.

``` $ bundle ; ./bin/rails assets:clobber assets:precompile Bundle complete! 18 Gemfile dependencies, 84 gems now installed. Use `bundle info [gemname]` to see where a bundled gem is installed. I, [2024-04-23T18:59:24.147478 #10018] INFO -- : Removed /home/circleci/new_rails_app/public/assets yarn install v1.22.19 [1/4] Resolving packages... success Already up-to-date. Done in 0.42s. I, [2024-04-23T18:59:25.739888 #10018] INFO -- : Writing /home/circleci/new_rails_app/public/assets/manifest-b4bf6e57a53c2bdb55b8998cc94cd00883793c1c37c5e5aea3ef6749b4f6d92b.js I, [2024-04-23T18:59:25.740896 #10018] INFO -- : Writing /home/circleci/new_rails_app/public/assets/manifest-b4bf6e57a53c2bdb55b8998cc94cd00883793c1c37c5e5aea3ef6749b4f6d92b.js.gz I, [2024-04-23T18:59:25.741133 #10018] INFO -- : Writing /home/circleci/new_rails_app/public/assets/application-04024382391bb910584145d8113cf35ef376b55d125bb4516cebeb14ce788597.css I, [2024-04-23T18:59:25.742186 #10018] INFO -- : Writing /home/circleci/new_rails_app/public/assets/application-04024382391bb910584145d8113cf35ef376b55d125bb4516cebeb14ce788597.css.gz ./bin/rails: [BUG] Segmentation fault at 0x00007fb3f7901008 ruby 3.2.3 (2024-01-18 revision 52bb2ac0a6) [x86_64-linux]

-- Control frame information -----------------------------------------------
c:0001 p:0000 s:0003 E:0011f0 DUMMY [FINISH]

-- Machine register context ------------------------------------------------
RIP: 0x00007fb3f4602745 RBP: 0x00007ffea2fe8d10 RSP: 0x00007ffea2fe8c80
RAX: 0x00007fb3f7901000 RBX: 0x00007fb374bc0000 RCX: 0x000000000003cfff
RDX: 0x000000000003bfff RDI: 0x00007fb374bc3000 RSI: 0x000000000003c000
R8: 0x00007fb3ec07e680 R9: 0x0000000000000000 R10: 0x00007fb3fe254f70
R11: 0x69454a582143dfed R12: 0x00007fb3ec03dd08 R13: 0x00007fb374bc3000
R14: 0x0000555dc5c6e350 R15: 0x000000000003c000 EFL: 0x0000000000010202

-- C level backtrace information -------------------------------------------
/usr/local/lib/libruby.so.3.2(rb_print_backtrace+0xd) [0x7fb3fe90494f] /home/circleci/ruby/vm_dump.c:785
/usr/local/lib/libruby.so.3.2(rb_vm_bugreport) /home/circleci/ruby/vm_dump.c:1080
/usr/local/lib/libruby.so.3.2(rb_bug_for_fatal_signal+0xf4) [0x7fb3fe6fb664] /home/circleci/ruby/error.c:813
/usr/local/lib/libruby.so.3.2(sigsegv+0x4d) [0x7fb3fe853f5d] /home/circleci/ruby/signal.c:964
/lib/x86_64-linux-gnu/libc.so.6(0x7fb3fe285520) [0x7fb3fe285520]
/home/circleci/.rubygems/extensions/x86_64-linux/3.2.0/mini_racer-0.12.0/mini_racer_extension.so(0x7fb3f4602745) [0x7fb3f4602745]
/home/circleci/.rubygems/extensions/x86_64-linux/3.2.0/mini_racer-0.12.0/mini_racer_extension.so(0x7fb3f4e18bbd) [0x7fb3f4e18bbd]
/home/circleci/.rubygems/extensions/x86_64-linux/3.2.0/mini_racer-0.12.0/mini_racer_extension.so(0x7fb3f4e18c16) [0x7fb3f4e18c16]
/home/circleci/.rubygems/extensions/x86_64-linux/3.2.0/mini_racer-0.12.0/mini_racer_extension.so(0x7fb3f4e60288) [0x7fb3f4e60288]
/home/circleci/.rubygems/extensions/x86_64-linux/3.2.0/mini_racer-0.12.0/mini_racer_extension.so(0x7fb3f4e08210) [0x7fb3f4e08210]
/home/circleci/.rubygems/extensions/x86_64-linux/3.2.0/mini_racer-0.12.0/mini_racer_extension.so(0x7fb3f4e07ffe) [0x7fb3f4e07ffe]
/home/circleci/.rubygems/extensions/x86_64-linux/3.2.0/mini_racer-0.12.0/mini_racer_extension.so(0x7fb3f4dffe15) [0x7fb3f4dffe15]
/home/circleci/.rubygems/extensions/x86_64-linux/3.2.0/mini_racer-0.12.0/mini_racer_extension.so(0x7fb3f491cba1) [0x7fb3f491cba1]
/home/circleci/.rubygems/extensions/x86_64-linux/3.2.0/mini_racer-0.12.0/mini_racer_extension.so(0x7fb3f491c619) [0x7fb3f491c619]
/home/circleci/.rubygems/extensions/x86_64-linux/3.2.0/mini_racer-0.12.0/mini_racer_extension.so(0x7fb3f44abaa0) [0x7fb3f44abaa0]
/home/circleci/.rubygems/extensions/x86_64-linux/3.2.0/mini_racer-0.12.0/mini_racer_extension.so(0x7fb3f44ae2c2) [0x7fb3f44ae2c2]
/home/circleci/.rubygems/extensions/x86_64-linux/3.2.0/mini_racer-0.12.0/mini_racer_extension.so(free_context_raw+0x137) [0x7fb3f44abc4f] /home/circleci/.rubygems/gems/mini_racer-0.12.0/ext/mini_racer_extension/mini_racer_extension.cc:1461
/home/circleci/.rubygems/extensions/x86_64-linux/3.2.0/mini_racer-0.12.0/mini_racer_extension.so(free_context+0xec) [0x7fb3f44abde5] /home/circleci/.rubygems/gems/mini_racer-0.12.0/ext/mini_racer_extension/mini_racer_extension.cc:1489
/home/circleci/.rubygems/extensions/x86_64-linux/3.2.0/mini_racer-0.12.0/mini_racer_extension.so(deallocate+0x24) [0x7fb3f44abea0] /home/circleci/.rubygems/gems/mini_racer-0.12.0/ext/mini_racer_extension/mini_racer_extension.cc:1516
/usr/local/lib/libruby.so.3.2(run_final+0xf) [0x7fb3fe71dea2] /home/circleci/ruby/gc.c:4399
/usr/local/lib/libruby.so.3.2(finalize_list) /home/circleci/ruby/gc.c:4418
/usr/local/lib/libruby.so.3.2(finalize_deferred_heap_pages) /home/circleci/ruby/gc.c:4447
/usr/local/lib/libruby.so.3.2(rb_objspace_call_finalizer+0x350) [0x7fb3fe72a4c0] /home/circleci/ruby/gc.c:4584
/usr/local/lib/libruby.so.3.2(rb_ec_finalize+0x2a) [0x7fb3fe706c31] /home/circleci/ruby/eval.c:168
/usr/local/lib/libruby.so.3.2(rb_ec_cleanup) /home/circleci/ruby/eval.c:262
/usr/local/lib/libruby.so.3.2(ruby_run_node+0x9d) [0x7fb3fe706e7d] /home/circleci/ruby/eval.c:330
/usr/local/bin/ruby(rb_main+0x21) [0x555dc3f48187] ./main.c:38
/usr/local/bin/ruby(main) ./main.c:57
/lib/x86_64-linux-gnu/libc.so.6(0x7fb3fe26cd90) [0x7fb3fe26cd90]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80) [0x7fb3fe26ce40]
[0x555dc3f481d5]

-- Other runtime information -----------------------------------------------

  • Loaded script: ./bin/rails

  • Loaded features:

    0 enumerator.so
    1 thread.rb
    2 fiber.so
    3 rational.so
    4 complex.so
    5 ruby2_keywords.rb
    6 /usr/local/lib/ruby/3.2.0/x86_64-linux/enc/encdb.so
    7 /usr/local/lib/ruby/3.2.0/x86_64-linux/enc/trans/transdb.so
    8 /usr/local/lib/ruby/3.2.0/x86_64-linux/rbconfig.rb
    9 /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/compatibility.rb
    10 /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/defaults.rb
    11 /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/deprecate.rb
    12 /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/errors.rb
    13 /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/unknown_command_spell_checker.rb

[...]


</details>

from mini_racer.

D-system avatar D-system commented on August 17, 2024

I also tried the same project with mini_racer 0.9. It works.

$ bundle ; ./bin/rails assets:clobber assets:precompile
Fetching gem metadata from https://rubygems.org/..........
Resolving dependencies...
Fetching libv8-node 18.19.0.0 (x86_64-linux) (was 21.7.2.0)
Installing libv8-node 18.19.0.0 (x86_64-linux) (was 21.7.2.0)
Fetching mini_racer 0.9.0 (was 0.12.0)
Installing mini_racer 0.9.0 (was 0.12.0) with native extensions
Bundle complete! 18 Gemfile dependencies, 84 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
I, [2024-04-23T19:04:10.030111 #10198]  INFO -- : Removed /home/circleci/new_rails_app/public/assets
yarn install v1.22.19
[1/4] Resolving packages...
success Already up-to-date.
Done in 0.37s.
I, [2024-04-23T19:04:11.476483 #10198]  INFO -- : Writing /home/circleci/new_rails_app/public/assets/manifest-b4bf6e57a53c2bdb55b8998cc94cd00883793c1c37c5e5aea3ef6749b4f6d92b.js
I, [2024-04-23T19:04:11.477493 #10198]  INFO -- : Writing /home/circleci/new_rails_app/public/assets/manifest-b4bf6e57a53c2bdb55b8998cc94cd00883793c1c37c5e5aea3ef6749b4f6d92b.js.gz
I, [2024-04-23T19:04:11.477738 #10198]  INFO -- : Writing /home/circleci/new_rails_app/public/assets/application-04024382391bb910584145d8113cf35ef376b55d125bb4516cebeb14ce788597.css
I, [2024-04-23T19:04:11.478602 #10198]  INFO -- : Writing /home/circleci/new_rails_app/public/assets/application-04024382391bb910584145d8113cf35ef376b55d125bb4516cebeb14ce788597.css.gz
$

from mini_racer.

D-system avatar D-system commented on August 17, 2024

It seems sprocket is used by default if no other assets pipeline exists.

The Gemfile without the comments

source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '3.2.3'

gem 'rails', '~> 6.1.7', '>= 6.1.7.7'
gem 'sqlite3', '~> 1.4'
gem 'puma', '~> 5.0'
gem 'sass-rails', '>= 6'
gem 'turbolinks', '~> 5'
gem 'jbuilder', '~> 2.7'

gem "bootstrap", "~> 4.3"    # <- the problem
gem "mini_racer", "~> 0.9.0" # <- added

gem 'bootsnap', '>= 1.4.4', require: false

group :development, :test do
  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
end

group :development do
  gem 'web-console', '>= 4.1.0'
  gem 'rack-mini-profiler', '~> 2.0'
  gem 'listen', '~> 3.3'
  gem 'spring'
end

group :test do
  gem 'capybara', '>= 3.26'
  gem 'selenium-webdriver', '>= 4.0.0.rc1'
  gem 'webdrivers'
end

gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024

@D-system does this repro in Linux as well

from mini_racer.

D-system avatar D-system commented on August 17, 2024

@SamSaffron it's all tested inside the CircleCI image linked above. So, it's an Ubuntu based linux on x86_64.

from mini_racer.

lloeki avatar lloeki commented on August 17, 2024

should we roll out a release that puts us back at an earlier version while we work this out ?

So the idea would be to have 0.12.1 be 0.9.0? That would be odd.

from mini_racer.

lloeki avatar lloeki commented on August 17, 2024

I'll try a repro.

from mini_racer.

D-system avatar D-system commented on August 17, 2024

The official ruby:3.2.3 Docker image does not have that problem.
Trying with cimg/ruby:3.2.3-node on my local machine (instead of their data centers)

from mini_racer.

tisba avatar tisba commented on August 17, 2024

I'm not able to reproduce yet, can't spend much time on it right now though.

The product I'm working on in my day job is using docker images based on the ruby:3.3.0 and we have an extensive test suite with lots of JavaScript that is evaluated by mini_racer. It works with 0.12.0 on x86 and aarch64 (both linux) just fine, I also have no issues on macOS 14.4.1 (arm). Running directly on x86 without Docker in Github Actions is also fine.

🤔

from mini_racer.

D-system avatar D-system commented on August 17, 2024

I tried with cimg/ruby:3.2.3-node as base image with --platform=x86_64, I was not able to reproduce the problem.
eg: FROM --platform=x86_64 cimg/ruby:3.2.3-node

I'm not able to reproduce the issue in a local docker either.

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024

@D-system any chance you can create a container that repros this consistently. Then we can docker run <SOMETHING> and have it crash?

from mini_racer.

fjl82 avatar fjl82 commented on August 17, 2024

I just wanted to add another case of this issue. I tried to update yesterday from 0.8 to 0.12 and started getting segfaults. I don't use docker or any version managers, just the system's 3.0.2p107 (the default ruby) on Ubuntu 22.04. This is on rails 7.0.8.1 with libv8 21.7.2.0. I've reverted to 0.8 and libv8 18.16.0.0 for now. I'm not using jemalloc (I have no idea what it is, and the mentioned libraries are not on my system). If you need any info or need anything tested let me know, but I don't want to figure out how to build or use docker images (have no interest in that).

from mini_racer.

tomhughes avatar tomhughes commented on August 17, 2024

I also saw it yesterday when upgrading from 0.9 to 0.12 both on Fedora 40 with ruby 3.3.0 and also on Ubuntu 22.04 with ruby 3.0.2p107.

from mini_racer.

lloeki avatar lloeki commented on August 17, 2024

Thanks for the additional reports. Is it Sprockets-related as well?

from mini_racer.

tomhughes avatar tomhughes commented on August 17, 2024

It was using rails with sprockets yes, specifically using https://rubygems.org/gems/rtlcss in the sprockets chain which uses mini_racer to run https://www.npmjs.com/package/rtlcss on CSS files.

from mini_racer.

fjl82 avatar fjl82 commented on August 17, 2024

I am using sprockets, but I had not checked whether it's involved or not. I first got these errors when rendering a js response to an ajax request, and also saw them when shutting down the server (running puma).

from mini_racer.

D-system avatar D-system commented on August 17, 2024

@SamSaffron I was not able to reproduce on my local host or local docker yesterday. I will give a new try tomorrow.

from mini_racer.

bf4 avatar bf4 commented on August 17, 2024

We were getting this on 0.9.0 -> 0.12.0 (production only) on Heroku on the '20' image with Ruby 3.3.0 and jemalloc and node v20.9.0

I did see this in a prod console, though may not be related

WARNING: V8 isolate was interrupted by Ruby, it can not be disposed and memory will not be reclaimed till the Ruby process exits.

and looking at prod crash logs

/app/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.12.0/lib/mini_racer.rb:183: [BUG] Segmentation fault at 0x0000000000000000

we're just using this to run embedded javascript

and have this slightly edited log

9 /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/rubygems/compatibility.rb

8 /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/rbconfig.rb

7 /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/enc/trans/transdb.so

6 /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/enc/encdb.so

5 ruby2_keywords.rb

4 complex.so

3 rational.so

2 fiber.so

1 thread.rb

0 enumerator.so



* Loaded features:



* Loaded script: sidekiq 7.2.2 app [0 of 8 busy]



-- Other runtime information -----------------------------------------------



/lib/x86_64-linux-gnu/libc.so.6(clone+0x43) [0x7f8949b2e353]

/lib/x86_64-linux-gnu/libpthread.so.0(start_thread+0xd9) [0x7f8949c09609]

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(nt_start+0x1c7) [0x7f894a124357] thread_pthread.c:2186

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(thread_start_func_2) thread.c:667

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(thread_do_start+0x12) [0x7f894a123992] thread.c:611

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(thread_do_start_proc+0x1a2) [0x7f894a123462] thread.c:592

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(rb_vm_invoke_proc+0x33) [0x7f894a1785b3] vm.c:1728

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_invoke_proc+0x201) [0x7f894a178291] vm.c:1509

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(rb_vm_exec+0x1aa) [0x7f894a17315a] vm.c:2486

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_exec_core) insns.def:958

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_sendish) vm_insnhelper.c:5588

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_invokeblock_i) vm_insnhelper.c:5547

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_invoke_block+0x21) [0x7f894a16f11b] vm_insnhelper.c:5026

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_invoke_ifunc_block) vm_insnhelper.c:4971

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_yield_with_cfunc) vm_insnhelper.c:4784

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(rb_vm_pop_frame+0x0) [0x7f894a16870f] vm_insnhelper.c:4783

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(rb_method_call_with_block_kw+0x87) [0x7f894a073367] proc.c:2472

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(rb_vm_call_kw+0x149) [0x7f894a17c4c9] vm_eval.c:110

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_call0_body+0x48e) [0x7f894a178a8e] vm_eval.c:229

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(rb_vm_exec+0x1aa) [0x7f894a17315a] vm.c:2486

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_exec_core) insns.def:814

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_sendish+0xe) [0x7f894a16ea38] vm_insnhelper.c:5581

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_call_cfunc_with_frame) vm_insnhelper.c:3518

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_call_cfunc_with_frame_+0x78) [0x7f894a15b735] vm_insnhelper.c:3490

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(rb_thread_s_handle_interrupt+0x1b9) [0x7f894a121089] thread.c:2246

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(rb_yield+0x78) [0x7f894a177a08] vm.c:1634

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(invoke_block_from_c_bh+0x2ca) [0x7f894a1771fa] vm.c:1509

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(rb_vm_exec+0x1aa) [0x7f894a17315a] vm.c:2486

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_exec_core) insns.def:814

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_sendish+0xe) [0x7f894a16ea38] vm_insnhelper.c:5581

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_call_cfunc_with_frame) vm_insnhelper.c:3518

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_call_cfunc_with_frame_+0x78) [0x7f894a15b735] vm_insnhelper.c:3490

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(rb_thread_s_handle_interrupt+0x1b9) [0x7f894a121089] thread.c:2246

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(rb_yield+0x78) [0x7f894a177a08] vm.c:1634

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(invoke_block_from_c_bh+0x2ca) [0x7f894a1771fa] vm.c:1509

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(rb_vm_exec) vm.c:2492

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_exec_loop+0xa) [0x7f894a1733f7] vm.c:2513

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_exec_core) insns.def:834

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_sendish+0xe) [0x7f894a16c9d4] vm_insnhelper.c:5581

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_call_method+0xc4) [0x7f894a174e84] vm_insnhelper.c:4569

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_call_method_each_type+0x81) [0x7f894a1741a1] vm_insnhelper.c:4417

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_call_cfunc_other) vm_insnhelper.c:3544

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_call_cfunc_with_frame) vm_insnhelper.c:3518

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_call_cfunc_with_frame_+0x7b) [0x7f894a15baa6] vm_insnhelper.c:3490

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(rb_class_new_instance_pass_kw+0x52) [0x7f894a02c662] object.c:2131

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(rb_funcallv_kw) vm_eval.c:1092

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(rb_call+0x32) [0x7f894a17afb6] vm_eval.c:899

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(rb_call0+0x288) [0x7f894a17a5c8] vm_eval.c:573

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_call0_cc+0x111) [0x7f894a179611] vm_eval.c:110

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_call0_body+0x48e) [0x7f894a178a8e] vm_eval.c:229

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(rb_vm_exec+0x1aa) [0x7f894a17315a] vm.c:2486

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_exec_core) insns.def:834

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_sendish+0xe) [0x7f894a16c9d4] vm_insnhelper.c:5581

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_call_method+0xc4) [0x7f894a174e84] vm_insnhelper.c:4569

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_call_method_each_type+0x81) [0x7f894a1741a1] vm_insnhelper.c:4417

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_call_cfunc_other) vm_insnhelper.c:3544

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_call_cfunc_with_frame) vm_insnhelper.c:3518

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(vm_call_cfunc_with_frame_+0x7b) [0x7f894a15baa6] vm_insnhelper.c:3490

/app/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/mini_racer-0.12.0/mini_racer_extension.so(rb_context_init_unsafe+0x58) [0x7f8922f88a01] mini_racer_extension.cc:993

/app/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/mini_racer-0.12.0/mini_racer_extension.so(init_v8) mini_racer_extension.cc:374

/app/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/mini_racer-0.12.0/mini_racer_extension.so(0x7f8922f8239f) [0x7f8922f8239f]

/app/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/mini_racer-0.12.0/mini_racer_extension.so(0x7f8922facfdb) [0x7f8922facfdb]

/app/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/mini_racer-0.12.0/mini_racer_extension.so(0x7f8923137aa0) [0x7f8923137aa0]

/app/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/mini_racer-0.12.0/mini_racer_extension.so(0x7f89230c7ad3) [0x7f89230c7ad3]

/app/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/mini_racer-0.12.0/mini_racer_extension.so(0x7f89230bafbe) [0x7f89230bafbe]

/app/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/mini_racer-0.12.0/mini_racer_extension.so(0x7f8923491f48) [0x7f8923491f48]

app/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/mini_racer-0.12.0/mini_racer_extension.so(0x7f892349261e) [0x7f892349261e]

app/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/mini_racer-0.12.0/mini_racer_extension.so(0x7f892349701d) [0x7f892349701d]

app/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/mini_racer-0.12.0/mini_racer_extension.so(0x7f89234529ad) [0x7f89234529ad]

app/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/mini_racer-0.12.0/mini_racer_extension.so(0x7f8923452671) [0x7f8923452671]

/app/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/mini_racer-0.12.0/mini_racer_extension.so(0x7f8923339a1d) [0x7f8923339a1d]

/lib/x86_64-linux-gnu/libc.so.6(malloc_usable_size+0x48) [0x7f8949aab1f8]

/lib/x86_64-linux-gnu/libpthread.so.0(__restore_rt+0x0) [0x7f8949c15420]

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(sigsegv+0x4d) [0x7f894a0d8b6d] signal.c:926

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(rb_bug_for_fatal_signal+0x104) [0x7f8949f85344] error.c:1065

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(rb_vm_bugreport) vm_dump.c:1151

/app/vendor/ruby-3.3.0/bin/../lib/libruby.so.3.3(rb_print_backtrace+0x11) [0x7f894a189ed7] vm_dump.c:820


-- C level backtrace information -------------------------------------------



R14: 0x00007f88f79d5c00 R15: 0x0000000000002000 EFL: 0x0000000000010246

R11: 0x00007f8949aab1b0 R12: 0x0000000000000002 R13: 0x0000000000000001

R8: 0x00007f894a4ad288  R9: 0x00007f88fbc041b8 R10: 0xfffffffffffff10b

RDX: 0x7270222c65757270 RDI: 0x00007f88fbec2000 RSI: 0x0000000000000000

RAX: 0x7270222c65757270 RBX: 0x00007f88fbec2000 RCX: 0x00007f88fbec1ff0

RIP: 0x00007f8949aab1f8 RBP: 0x00007f89097fce20 RSP: 0x00007f89097fcdf8

-- Machine register context ------------------------------------------------



Ruby thread count for this ractor: 19

Total ractor count: 1

-- Threading information ---------------------------------------------------



/app/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.12.0/lib/mini_racer.rb:183:in `init_unsafe'

/app/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.12.0/lib/mini_racer.rb:183:in `initialize'


-- Ruby level backtrace information ----------------------------------------



c:0001 p:---- s:0003 e:000002 DUMMY  [FINISH]

c:0073 p:---- s:0456 e:000455 CFUNC  :new

c:0074 p:0125 s:0468 e:000467 METHOD /app/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.12.0/lib/mini_racer.rb:183 [FINISH]

c:0075 p:---- s:0474 e:000473 CFUNC  :init_unsafe

-- Control frame information -----------------------------------------------



ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-linux]

/app/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.12.0/lib/mini_racer.rb:183: [BUG] Segmentation fault at 0x0000000000000000


7f892bf1c000-7f892bf1d000 r--p 00005000 fd:00 137112                     /app/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.3/lib/bootsnap/bootsnap.so

7f892bf1b000-7f892bf1c000 r--p 00005000 fd:00 137112                     /app/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.3/lib/bootsnap/bootsnap.so

7f892bf18000-7f892bf1b000 r-xp 00002000 fd:00 137112                     /app/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.3/lib/bootsnap/bootsnap.so

7f892bf16000-7f892bf18000 r--p 00000000 fd:00 137112                     /app/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.3/lib/bootsnap/bootsnap.so

7f892bf15000-7f892bf16000 rw-p 00004000 fd:00 35073                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/digest/sha2.so

7f892bf14000-7f892bf15000 r--p 00003000 fd:00 35073                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/digest/sha2.so

7f892bf13000-7f892bf14000 r--p 00003000 fd:00 35073                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/digest/sha2.so

7f892bf11000-7f892bf13000 r-xp 00001000 fd:00 35073                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/digest/sha2.so

7f892bf10000-7f892bf11000 r--p 00000000 fd:00 35073                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/digest/sha2.so

7f892bee0000-7f892bf00000 rw-p 00000000 00:00 0 

7f892beb0000-7f892bed0000 rw-p 00000000 00:00 0 

7f892be90000-7f892bea0000 rw-p 00000000 00:00 0 

7f892be60000-7f892be80000 rw-p 00000000 00:00 0 

7f892be30000-7f892be50000 rw-p 00000000 00:00 0 

7f892be2f000-7f892be30000 rw-p 00015000 fd:00 135943                     /app/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/lib/msgpack/msgpack.so

7f892be2e000-7f892be2f000 r--p 00014000 fd:00 135943                     /app/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/lib/msgpack/msgpack.so

7f892be2a000-7f892be2e000 r--p 00011000 fd:00 135943                     /app/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/lib/msgpack/msgpack.so

7f892be1c000-7f892be2a000 r-xp 00003000 fd:00 135943                     /app/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/lib/msgpack/msgpack.so

7f892be19000-7f892be1c000 r--p 00000000 fd:00 135943                     /app/vendor/bundle/ruby/3.3.0/gems/msgpack-1.7.2/lib/msgpack/msgpack.so

7f892be18000-7f892be19000 rw-p 00006000 fd:00 131487                     /app/vendor/bundle/ruby/3.3.0/gems/racc-1.7.3/lib/racc/cparse.so

7f892be17000-7f892be18000 r--p 00005000 fd:00 131487                     /app/vendor/bundle/ruby/3.3.0/gems/racc-1.7.3/lib/racc/cparse.so

7f892be16000-7f892be17000 r--p 00005000 fd:00 131487                     /app/vendor/bundle/ruby/3.3.0/gems/racc-1.7.3/lib/racc/cparse.so

7f892be13000-7f892be16000 r-xp 00002000 fd:00 131487                     /app/vendor/bundle/ruby/3.3.0/gems/racc-1.7.3/lib/racc/cparse.so

7f892be11000-7f892be13000 r--p 00000000 fd:00 131487                     /app/vendor/bundle/ruby/3.3.0/gems/racc-1.7.3/lib/racc/cparse.so

7f892bd80000-7f892be00000 rw-p 00000000 00:00 0 

7f892bc90000-7f892bd70000 rw-p 00000000 00:00 0 

7f892bc40000-7f892bc80000 rw-p 00000000 00:00 0 

7f892bc30000-7f892bc40000 rw-p 00000000 00:00 0 

7f892bc10000-7f892bc20000 rw-p 00000000 00:00 0 

7f892bc09000-7f892bc10000 r--s 00000000 07:14 17818                      /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache

7f892bc08000-7f892bc09000 rw-p 00003000 fd:00 35002                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/io/wait.so

7f892bc07000-7f892bc08000 r--p 00002000 fd:00 35002                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/io/wait.so

7f892bc06000-7f892bc07000 r--p 00002000 fd:00 35002                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/io/wait.so

7f892bc05000-7f892bc06000 r-xp 00001000 fd:00 35002                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/io/wait.so

7f892bc04000-7f892bc05000 r--p 00000000 fd:00 35002                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/io/wait.so

7f892b3ff000-7f892bc00000 rw-p 00000000 00:00 0 

7f892b3fb000-7f892b3ff000 rw-p 00223000 fd:00 131682                     /app/vendor/bundle/ruby/3.3.0/gems/nokogiri-1.16.4-x86_64-linux/lib/nokogiri/3.3/nokogiri.so

7f892b3ef000-7f892b3fb000 r--p 00217000 fd:00 131682                     /app/vendor/bundle/ruby/3.3.0/gems/nokogiri-1.16.4-x86_64-linux/lib/nokogiri/3.3/nokogiri.so

7f892b3ee000-7f892b3ef000 ---p 00217000 fd:00 131682                     /app/vendor/bundle/ruby/3.3.0/gems/nokogiri-1.16.4-x86_64-linux/lib/nokogiri/3.3/nokogiri.so

7f892b353000-7f892b3ee000 r--p 0017c000 fd:00 131682                     /app/vendor/bundle/ruby/3.3.0/gems/nokogiri-1.16.4-x86_64-linux/lib/nokogiri/3.3/nokogiri.so

7f892b215000-7f892b353000 r-xp 0003e000 fd:00 131682                     /app/vendor/bundle/ruby/3.3.0/gems/nokogiri-1.16.4-x86_64-linux/lib/nokogiri/3.3/nokogiri.so

7f892b1d7000-7f892b215000 r--p 00000000 fd:00 131682                     /app/vendor/bundle/ruby/3.3.0/gems/nokogiri-1.16.4-x86_64-linux/lib/nokogiri/3.3/nokogiri.so

7f892b1d6000-7f892b1d7000 rw-p 00003000 fd:00 131229                     /app/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.12.0/lib/mini_racer_loader.so

7f892b1d5000-7f892b1d6000 r--p 00002000 fd:00 131229                     /app/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.12.0/lib/mini_racer_loader.so

7f892b1d4000-7f892b1d5000 r--p 00002000 fd:00 131229                     /app/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.12.0/lib/mini_racer_loader.so

7f892b1d3000-7f892b1d4000 r-xp 00001000 fd:00 131229                     /app/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.12.0/lib/mini_racer_loader.so

7f892b1d2000-7f892b1d3000 r--p 00000000 fd:00 131229                     /app/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.12.0/lib/mini_racer_loader.so

7f892b1b0000-7f892b1d0000 rw-p 00000000 00:00 0 

7f892b160000-7f892b1a0000 rw-p 00000000 00:00 0 

7f892b14f000-7f892b150000 rw-p 00018000 07:14 17594                      /usr/lib/x86_64-linux-gnu/gconv/CP932.so

7f892b14e000-7f892b14f000 r--p 00017000 07:14 17594                      /usr/lib/x86_64-linux-gnu/gconv/CP932.so

7f892b139000-7f892b14e000 r--p 00003000 07:14 17594                      /usr/lib/x86_64-linux-gnu/gconv/CP932.so

7f892b137000-7f892b139000 r-xp 00001000 07:14 17594                      /usr/lib/x86_64-linux-gnu/gconv/CP932.so

7f892b136000-7f892b137000 r--p 00000000 07:14 17594                      /usr/lib/x86_64-linux-gnu/gconv/CP932.so

7f892b135000-7f892b136000 rw-p 00003000 fd:00 35070                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/digest/md5.so

7f892b134000-7f892b135000 r--p 00002000 fd:00 35070                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/digest/md5.so

7f892b133000-7f892b134000 r--p 00002000 fd:00 35070                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/digest/md5.so

7f892b132000-7f892b133000 r-xp 00001000 fd:00 35070                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/digest/md5.so

7f892b131000-7f892b132000 r--p 00000000 fd:00 35070                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/digest/md5.so

7f892b0f0000-7f892b130000 rw-p 00000000 00:00 0 

7f892b0d0000-7f892b0e0000 rw-p 00000000 00:00 0 

7f892b0a0000-7f892b0c0000 rw-p 00000000 00:00 0 

7f892b020000-7f892b090000 rw-p 00000000 00:00 0 

7f892b010000-7f892b020000 rw-p 00000000 00:00 0 

7f892b00f000-7f892b010000 rw-p 0000c000 fd:00 35081                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/objspace.so

7f892b00e000-7f892b00f000 r--p 0000b000 fd:00 35081                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/objspace.so

7f892b00c000-7f892b00e000 r--p 0000a000 fd:00 35081                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/objspace.so

7f892b005000-7f892b00c000 r-xp 00003000 fd:00 35081                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/objspace.so

7f892b002000-7f892b005000 r--p 00000000 fd:00 35081                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/objspace.so

7f892a6a0000-7f892b000000 rw-p 00000000 00:00 0 

7f892a680000-7f892a690000 rw-p 00000000 00:00 0 

7f892a650000-7f892a670000 rw-p 00000000 00:00 0 

7f892a5b0000-7f892a640000 rw-p 00000000 00:00 0 

7f892a5a8000-7f892a5b0000 rw-p 0000f000 fd:00 137671                     /app/vendor/bundle/ruby/3.3.0/gems/ed25519-1.3.0/lib/ed25519_ref10.so

7f892a5a7000-7f892a5a8000 r--p 0000e000 fd:00 137671                     /app/vendor/bundle/ruby/3.3.0/gems/ed25519-1.3.0/lib/ed25519_ref10.so

7f892a5a6000-7f892a5a7000 ---p 0000e000 fd:00 137671                     /app/vendor/bundle/ruby/3.3.0/gems/ed25519-1.3.0/lib/ed25519_ref10.so

7f892a5a5000-7f892a5a6000 r--p 0000d000 fd:00 137671                     /app/vendor/bundle/ruby/3.3.0/gems/ed25519-1.3.0/lib/ed25519_ref10.so

7f892a59a000-7f892a5a5000 r-xp 00002000 fd:00 137671                     /app/vendor/bundle/ruby/3.3.0/gems/ed25519-1.3.0/lib/ed25519_ref10.so

7f892a598000-7f892a59a000 r--p 00000000 fd:00 137671                     /app/vendor/bundle/ruby/3.3.0/gems/ed25519-1.3.0/lib/ed25519_ref10.so

7f892a597000-7f892a598000 rw-p 00008000 fd:00 132272                     /app/vendor/bundle/ruby/3.3.0/gems/bcrypt_pbkdf-1.1.0/lib/bcrypt_pbkdf_ext.so

7f892a596000-7f892a597000 r--p 00007000 fd:00 132272                     /app/vendor/bundle/ruby/3.3.0/gems/bcrypt_pbkdf-1.1.0/lib/bcrypt_pbkdf_ext.so

7f892a594000-7f892a596000 r--p 00006000 fd:00 132272                     /app/vendor/bundle/ruby/3.3.0/gems/bcrypt_pbkdf-1.1.0/lib/bcrypt_pbkdf_ext.so

7f892a58f000-7f892a594000 r-xp 00001000 fd:00 132272                     /app/vendor/bundle/ruby/3.3.0/gems/bcrypt_pbkdf-1.1.0/lib/bcrypt_pbkdf_ext.so

f892a58e000-7f892a58f000 r--p 00000000 fd:00 132272                     /app/vendor/bundle/ruby/3.3.0/gems/bcrypt_pbkdf-1.1.0/lib/bcrypt_pbkdf_ext.so

f892a58d000-7f892a58e000 rw-p 00008000 fd:00 135443                     /app/vendor/bundle/ruby/3.3.0/gems/io-console-0.5.9/lib/io/console.so

f892a58c000-7f892a58d000 r--p 00007000 fd:00 135443                     /app/vendor/bundle/ruby/3.3.0/gems/io-console-0.5.9/lib/io/console.so

7f892a58b000-7f892a58c000 ---p 00007000 fd:00 135443                     /app/vendor/bundle/ruby/3.3.0/gems/io-console-0.5.9/lib/io/console.so

7f892a58a000-7f892a58b000 r--p 00006000 fd:00 135443                     /app/vendor/bundle/ruby/3.3.0/gems/io-console-0.5.9/lib/io/console.so

7f892a586000-7f892a58a000 r-xp 00002000 fd:00 135443                     /app/vendor/bundle/ruby/3.3.0/gems/io-console-0.5.9/lib/io/console.so

7f892a584000-7f892a586000 r--p 00000000 fd:00 135443                     /app/vendor/bundle/ruby/3.3.0/gems/io-console-0.5.9/lib/io/console.so

7f892a4c0000-7f892a580000 rw-p 00000000 00:00 0 

7f892a470000-7f892a4b0000 rw-p 00000000 00:00 0 

7f892a450000-7f892a460000 rw-p 00000000 00:00 0 

7f892a420000-7f892a440000 rw-p 00000000 00:00 0 

7f892a410000-7f892a420000 rw-p 00000000 00:00 0 

7f892a40f000-7f892a410000 rw-p 00005000 07:14 10559                      /usr/lib/x86_64-linux-gnu/libcom_err.so.2.1

7f892a40e000-7f892a40f000 r--p 00004000 07:14 10559                      /usr/lib/x86_64-linux-gnu/libcom_err.so.2.1

7f892a40d000-7f892a40e000 r--p 00004000 07:14 10559                      /usr/lib/x86_64-linux-gnu/libcom_err.so.2.1

7f892a40b000-7f892a40d000 r-xp 00002000 07:14 10559                      /usr/lib/x86_64-linux-gnu/libcom_err.so.2.1

7f892a409000-7f892a40b000 r--p 00000000 07:14 10559                      /usr/lib/x86_64-linux-gnu/libcom_err.so.2.1

7f892a408000-7f892a409000 rw-p 00005000 07:14 10760                      /usr/lib/x86_64-linux-gnu/libkeyutils.so.1.8

7f892a407000-7f892a408000 r--p 00004000 07:14 10760                      /usr/lib/x86_64-linux-gnu/libkeyutils.so.1.8

7f892a406000-7f892a407000 r--p 00004000 07:14 10760                      /usr/lib/x86_64-linux-gnu/libkeyutils.so.1.8

7f892a404000-7f892a406000 r-xp 00002000 07:14 10760                      /usr/lib/x86_64-linux-gnu/libkeyutils.so.1.8

7f892a402000-7f892a404000 r--p 00000000 07:14 10760                      /usr/lib/x86_64-linux-gnu/libkeyutils.so.1.8

7f89293f0000-7f892a400000 rw-p 00000000 00:00 0 

7f8929380000-7f89293e0000 rw-p 00000000 00:00 0 

7f8929360000-7f8929370000 rw-p 00000000 00:00 0 

7f8929320000-7f8929350000 rw-p 00000000 00:00 0 

7f89292f0000-7f8929310000 rw-p 00000000 00:00 0 

7f8929290000-7f89292e0000 rw-p 00000000 00:00 0 

7f8929250000-7f8929280000 rw-p 00000000 00:00 0 

7f8929210000-7f8929240000 rw-p 00000000 00:00 0 

7f89291f0000-7f8929200000 rw-p 00000000 00:00 0 

7f8929180000-7f89291e0000 rw-p 00000000 00:00 0 

7f8929150000-7f8929170000 rw-p 00000000 00:00 0 

7f8929040000-7f8929140000 rw-p 00000000 00:00 0 

7f892903f000-7f8929040000 ---p 00000000 00:00 0 

7f892903e000-7f892903f000 rw-p 0000d000 07:14 10766                      /usr/lib/x86_64-linux-gnu/libkrb5support.so.0.1

7f892903d000-7f892903e000 r--p 0000c000 07:14 10766                      /usr/lib/x86_64-linux-gnu/libkrb5support.so.0.1

7f892903a000-7f892903d000 r--p 0000a000 07:14 10766                      /usr/lib/x86_64-linux-gnu/libkrb5support.so.0.1

7f8929033000-7f892903a000 r-xp 00003000 07:14 10766                      /usr/lib/x86_64-linux-gnu/libkrb5support.so.0.1

7f8929030000-7f8929033000 r--p 00000000 07:14 10766                      /usr/lib/x86_64-linux-gnu/libkrb5support.so.0.1

7f8929020000-7f8929030000 rw-p 00000000 00:00 0 

7f8929010000-7f8929020000 rw-p 00000000 00:00 0 

7f892900f000-7f8929010000 rw-p 0000a000 07:14 10717                      /usr/lib/x86_64-linux-gnu/libheimntlm.so.0.1.0

7f892900e000-7f892900f000 r--p 00009000 07:14 10717                      /usr/lib/x86_64-linux-gnu/libheimntlm.so.0.1.0

7f892900d000-7f892900e000 ---p 00009000 07:14 10717                      /usr/lib/x86_64-linux-gnu/libheimntlm.so.0.1.0

7f892900b000-7f892900d000 r--p 00007000 07:14 10717                      /usr/lib/x86_64-linux-gnu/libheimntlm.so.0.1.0

7f8929007000-7f892900b000 r-xp 00003000 07:14 10717                      /usr/lib/x86_64-linux-gnu/libheimntlm.so.0.1.0

7f8929004000-7f8929007000 r--p 00000000 07:14 10717                      /usr/lib/x86_64-linux-gnu/libheimntlm.so.0.1.0

7f8928000000-7f8929000000 rw-p 00000000 00:00 0 

7f8927fd0000-7f8927ff0000 rw-p 00000000 00:00 0 

7f8927fa0000-7f8927fc0000 rw-p 00000000 00:00 0 

7f8927f60000-7f8927f90000 rw-p 00000000 00:00 0 

7f8927e90000-7f8927f50000 rw-p 00000000 00:00 0 

7f8927e70000-7f8927e80000 rw-p 00000000 00:00 0 

7f8927cd0000-7f8927e60000 rw-p 00000000 00:00 0 

7f8927c30000-7f8927cc0000 rw-p 00000000 00:00 0 

7f8927b8f000-7f8927c20000 rw-p 00000000 00:00 0 

7f8927b8e000-7f8927b8f000 rw-p 00039000 fd:00 145359                     /app/vendor/bundle/ruby/3.3.0/gems/pg-1.5.6/lib/pg_ext.so

7f8927b8d000-7f8927b8e000 r--p 00038000 fd:00 145359                     /app/vendor/bundle/ruby/3.3.0/gems/pg-1.5.6/lib/pg_ext.so

7f8927b8c000-7f8927b8d000 ---p 00038000 fd:00 145359                     /app/vendor/bundle/ruby/3.3.0/gems/pg-1.5.6/lib/pg_ext.so

7f8927b80000-7f8927b8c000 r--p 0002c000 fd:00 145359                     /app/vendor/bundle/ruby/3.3.0/gems/pg-1.5.6/lib/pg_ext.so

7f8927b5d000-7f8927b80000 r-xp 00009000 fd:00 145359                     /app/vendor/bundle/ruby/3.3.0/gems/pg-1.5.6/lib/pg_ext.so

7f8927b54000-7f8927b5d000 r--p 00000000 fd:00 145359                     /app/vendor/bundle/ruby/3.3.0/gems/pg-1.5.6/lib/pg_ext.so

7f8927b53000-7f8927b54000 rw-p 00055000 07:14 10926                      /usr/lib/x86_64-linux-gnu/libpq.so.5.16

7f8927b4f000-7f8927b53000 r--p 00051000 07:14 10926                      /usr/lib/x86_64-linux-gnu/libpq.so.5.16

7f8927b2e000-7f8927b4f000 r--p 00031000 07:14 10926                      /usr/lib/x86_64-linux-gnu/libpq.so.5.16

7f8927b08000-7f8927b2e000 r-xp 0000b000 07:14 10926                      /usr/lib/x86_64-linux-gnu/libpq.so.5.16

7f8927afd000-7f8927b08000 r--p 00000000 07:14 10926                      /usr/lib/x86_64-linux-gnu/libpq.so.5.16

7f8927afb000-7f8927afd000 rw-p 0004a000 07:14 10695                      /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2.2

7f8927af9000-7f8927afb000 r--p 00048000 07:14 10695                      /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2.2

7f8927aed000-7f8927af9000 r--p 0003d000 07:14 10695                      /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2.2

7f8927abb000-7f8927aed000 r-xp 0000b000 07:14 10695                      /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2.2

7f8927ab0000-7f8927abb000 r--p 00000000 07:14 10695                      /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2.2

7f8927aae000-7f8927ab0000 rw-p 00000000 00:00 0 

7f8927aad000-7f8927aae000 rw-p 00052000 07:14 10775                      /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2.10.12

7f8927aab000-7f8927aad000 r--p 00050000 07:14 10775                      /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2.10.12

7f8927aaa000-7f8927aab000 ---p 00050000 07:14 10775                      /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2.10.12

7f8927a9b000-7f8927aaa000 r--p 00041000 07:14 10775                      /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2.10.12

7f8927a67000-7f8927a9b000 r-xp 0000d000 07:14 10775                      /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2.10.12

7f8927a5a000-7f8927a67000 r--p 00000000 07:14 10775                      /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2.10.12

7f8927a58000-7f8927a5a000 rw-p 000da000 07:14 10764                      /usr/lib/x86_64-linux-gnu/libkrb5.so.3.3

7f8927a4a000-7f8927a58000 r--p 000cc000 07:14 10764                      /usr/lib/x86_64-linux-gnu/libkrb5.so.3.3

7f8927a49000-7f8927a4a000 ---p 000cc000 07:14 10764                      /usr/lib/x86_64-linux-gnu/libkrb5.so.3.3

7f8927a00000-7f8927a49000 r--p 00083000 07:14 10764                      /usr/lib/x86_64-linux-gnu/libkrb5.so.3.3

7f892799f000-7f8927a00000 r-xp 00022000 07:14 10764                      /usr/lib/x86_64-linux-gnu/libkrb5.so.3.3

7f892797d000-7f892799f000 r--p 00000000 07:14 10764                      /usr/lib/x86_64-linux-gnu/libkrb5.so.3.3

7f892797c000-7f892797d000 rw-p 00000000 00:00 0 

7f892797b000-7f892797c000 rw-p 0002e000 07:14 10758                      /usr/lib/x86_64-linux-gnu/libk5crypto.so.3.1

7f892797a000-7f892797b000 r--p 0002d000 07:14 10758                      /usr/lib/x86_64-linux-gnu/libk5crypto.so.3.1

7f8927979000-7f892797a000 ---p 0002d000 07:14 10758                      /usr/lib/x86_64-linux-gnu/libk5crypto.so.3.1

7f892796c000-7f8927979000 r--p 00020000 07:14 10758                      /usr/lib/x86_64-linux-gnu/libk5crypto.so.3.1

7f8927950000-7f892796c000 r-xp 00004000 07:14 10758                      /usr/lib/x86_64-linux-gnu/libk5crypto.so.3.1

7f892794c000-7f8927950000 r--p 00000000 07:14 10758                      /usr/lib/x86_64-linux-gnu/libk5crypto.so.3.1

7f892794b000-7f892794c000 rw-p 0000f000 07:14 10770                      /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2.10.12

7f892794a000-7f892794b000 r--p 0000e000 07:14 10770                      /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2.10.12

7f8927949000-7f892794a000 ---p 0000e000 07:14 10770                      /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2.10.12

7f8927946000-7f8927949000 r--p 0000b000 07:14 10770                      /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2.10.12

7f892793e000-7f8927946000 r-xp 00003000 07:14 10770                      /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2.10.12

7f892793b000-7f892793e000 r--p 00000000 07:14 10770                      /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2.10.12

7f8927939000-7f892793b000 rw-p 00000000 00:00 0 

7f8927938000-7f8927939000 rw-p 00018000 07:14 10941                      /usr/lib/x86_64-linux-gnu/libresolv-2.31.so

7f8927937000-7f8927938000 r--p 00017000 07:14 10941                      /usr/lib/x86_64-linux-gnu/libresolv-2.31.so

7f8927933000-7f8927937000 r--p 00014000 07:14 10941                      /usr/lib/x86_64-linux-gnu/libresolv-2.31.so

7f8927923000-7f8927933000 r-xp 00004000 07:14 10941                      /usr/lib/x86_64-linux-gnu/libresolv-2.31.so

7f892791f000-7f8927923000 r--p 00000000 07:14 10941                      /usr/lib/x86_64-linux-gnu/libresolv-2.31.so

7f892791e000-7f892791f000 rw-p 0001b000 07:14 10958                      /usr/lib/x86_64-linux-gnu/libsasl2.so.2.0.25

7f892791d000-7f892791e000 r--p 0001a000 07:14 10958                      /usr/lib/x86_64-linux-gnu/libsasl2.so.2.0.25

7f8927917000-7f892791d000 r--p 00015000 07:14 10958                      /usr/lib/x86_64-linux-gnu/libsasl2.so.2.0.25

7f8927905000-7f8927917000 r-xp 00003000 07:14 10958                      /usr/lib/x86_64-linux-gnu/libsasl2.so.2.0.25

7f8927902000-7f8927905000 r--p 00000000 07:14 10958                      /usr/lib/x86_64-linux-gnu/libsasl2.so.2.0.25

7f8927900000-7f8927902000 rw-p 00042000 07:14 10693                      /usr/lib/x86_64-linux-gnu/libgssapi.so.3.0.0

7f89278fe000-7f8927900000 r--p 00040000 07:14 10693                      /usr/lib/x86_64-linux-gnu/libgssapi.so.3.0.0

7f89278f3000-7f89278fe000 r--p 00036000 07:14 10693                      /usr/lib/x86_64-linux-gnu/libgssapi.so.3.0.0

7f89278ca000-7f89278f3000 r-xp 0000d000 07:14 10693                      /usr/lib/x86_64-linux-gnu/libgssapi.so.3.0.0

7f89278bd000-7f89278ca000 r--p 00000000 07:14 10693                      /usr/lib/x86_64-linux-gnu/libgssapi.so.3.0.0

7f89278bc000-7f89278bd000 rw-p 00000000 00:00 0 

7f89278ba000-7f89278bc000 rw-p 0008f000 07:14 10762                      /usr/lib/x86_64-linux-gnu/libkrb5.so.26.0.0

7f89278b6000-7f89278ba000 r--p 0008b000 07:14 10762                      /usr/lib/x86_64-linux-gnu/libkrb5.so.26.0.0

7f8927896000-7f89278b6000 r--p 0006c000 07:14 10762                      /usr/lib/x86_64-linux-gnu/libkrb5.so.26.0.0

7f8927845000-7f8927896000 r-xp 0001b000 07:14 10762                      /usr/lib/x86_64-linux-gnu/libkrb5.so.26.0.0

7f892782a000-7f8927845000 r--p 00000000 07:14 10762                      /usr/lib/x86_64-linux-gnu/libkrb5.so.26.0.0

7f8927829000-7f892782a000 rw-p 00017000 07:14 10946                      /usr/lib/x86_64-linux-gnu/libroken.so.18.1.0

7f8927828000-7f8927829000 r--p 00016000 07:14 10946                      /usr/lib/x86_64-linux-gnu/libroken.so.18.1.0

7f8927827000-7f8927828000 ---p 00016000 07:14 10946                      /usr/lib/x86_64-linux-gnu/libroken.so.18.1.0

7f8927823000-7f8927827000 r--p 00012000 07:14 10946                      /usr/lib/x86_64-linux-gnu/libroken.so.18.1.0

7f8927816000-7f8927823000 r-xp 00005000 07:14 10946                      /usr/lib/x86_64-linux-gnu/libroken.so.18.1.0

7f8927811000-7f8927816000 r--p 00000000 07:14 10946                      /usr/lib/x86_64-linux-gnu/libroken.so.18.1.0

7f8927810000-7f8927811000 rw-p 0000a000 07:14 10622                      /usr/lib/x86_64-linux-gnu/libffi.so.7.1.0

7f892780f000-7f8927810000 r--p 00009000 07:14 10622                      /usr/lib/x86_64-linux-gnu/libffi.so.7.1.0

7f892780e000-7f892780f000 ---p 00009000 07:14 10622                      /usr/lib/x86_64-linux-gnu/libffi.so.7.1.0

7f892780d000-7f892780e000 r--p 00008000 07:14 10622                      /usr/lib/x86_64-linux-gnu/libffi.so.7.1.0

7f8927807000-7f892780d000 r-xp 00002000 07:14 10622                      /usr/lib/x86_64-linux-gnu/libffi.so.7.1.0

7f8927805000-7f8927807000 r--p 00000000 07:14 10622                      /usr/lib/x86_64-linux-gnu/libffi.so.7.1.0

7f8927804000-7f8927805000 rw-p 00003000 fd:00 131958                     /app/vendor/bundle/ruby/3.3.0/gems/scout_apm-5.3.8/lib/rusage.so

7f8927803000-7f8927804000 r--p 00002000 fd:00 131958                     /app/vendor/bundle/ruby/3.3.0/gems/scout_apm-5.3.8/lib/rusage.so

7f8927802000-7f8927803000 r--p 00002000 fd:00 131958                     /app/vendor/bundle/ruby/3.3.0/gems/scout_apm-5.3.8/lib/rusage.so

7f8927801000-7f8927802000 r-xp 00001000 fd:00 131958                     /app/vendor/bundle/ruby/3.3.0/gems/scout_apm-5.3.8/lib/rusage.so

7f8927800000-7f8927801000 r--p 00000000 fd:00 131958                     /app/vendor/bundle/ruby/3.3.0/gems/scout_apm-5.3.8/lib/rusage.so

7f89273fe000-7f8927800000 rw-p 00000000 00:00 0 

7f89273fc000-7f89273fe000 rw-p 001d0000 07:14 10676                      /usr/lib/x86_64-linux-gnu/libgnutls.so.30.27.0

7f89273ed000-7f89273fc000 r--p 001c1000 07:14 10676                      /usr/lib/x86_64-linux-gnu/libgnutls.so.30.27.0

7f89273ec000-7f89273ed000 ---p 001c1000 07:14 10676                      /usr/lib/x86_64-linux-gnu/libgnutls.so.30.27.0

7f892737b000-7f89273ec000 r--p 00150000 07:14 10676                      /usr/lib/x86_64-linux-gnu/libgnutls.so.30.27.0

7f892725a000-7f892737b000 r-xp 0002f000 07:14 10676                      /usr/lib/x86_64-linux-gnu/libgnutls.so.30.27.0

7f892722b000-7f892725a000 r--p 00000000 07:14 10676                      /usr/lib/x86_64-linux-gnu/libgnutls.so.30.27.0

7f8927228000-7f892722b000 rw-p 000a2000 07:14 10509                      /usr/lib/x86_64-linux-gnu/libasn1.so.8.0.0

7f8927227000-7f8927228000 r--p 000a1000 07:14 10509                      /usr/lib/x86_64-linux-gnu/libasn1.so.8.0.0

7f8927226000-7f8927227000 ---p 000a1000 07:14 10509                      /usr/lib/x86_64-linux-gnu/libasn1.so.8.0.0

7f8927209000-7f8927226000 r--p 00084000 07:14 10509                      /usr/lib/x86_64-linux-gnu/libasn1.so.8.0.0

7f892719f000-7f8927209000 r-xp 0001a000 07:14 10509                      /usr/lib/x86_64-linux-gnu/libasn1.so.8.0.0

7f8927185000-7f892719f000 r--p 00000000 07:14 10509                      /usr/lib/x86_64-linux-gnu/libasn1.so.8.0.0

7f8927184000-7f8927185000 rw-p 00000000 00:00 0 

7f8927183000-7f8927184000 rw-p 00035000 07:14 10705                      /usr/lib/x86_64-linux-gnu/libhcrypto.so.4.1.0

7f8927181000-7f8927183000 r--p 00033000 07:14 10705                      /usr/lib/x86_64-linux-gnu/libhcrypto.so.4.1.0

7f8927173000-7f8927181000 r--p 00026000 07:14 10705                      /usr/lib/x86_64-linux-gnu/libhcrypto.so.4.1.0

7f8927154000-7f8927173000 r-xp 00007000 07:14 10705                      /usr/lib/x86_64-linux-gnu/libhcrypto.so.4.1.0

7f892714d000-7f8927154000 r--p 00000000 07:14 10705                      /usr/lib/x86_64-linux-gnu/libhcrypto.so.4.1.0

7f8927143000-7f892714d000 rw-p 0012b000 07:14 10885                      /usr/lib/x86_64-linux-gnu/libp11-kit.so.0.3.0

7f8927138000-7f8927143000 r--p 00120000 07:14 10885                      /usr/lib/x86_64-linux-gnu/libp11-kit.so.0.3.0

7f89270dc000-7f8927138000 r--p 000c5000 07:14 10885                      /usr/lib/x86_64-linux-gnu/libp11-kit.so.0.3.0

7f8927042000-7f89270dc000 r-xp 0002b000 07:14 10885                      /usr/lib/x86_64-linux-gnu/libp11-kit.so.0.3.0

7f8927017000-7f8927042000 r--p 00000000 07:14 10885                      /usr/lib/x86_64-linux-gnu/libp11-kit.so.0.3.0

7f8927016000-7f8927017000 rw-p 0001f000 07:14 10739                      /usr/lib/x86_64-linux-gnu/libidn2.so.0.3.6

7f8927015000-7f8927016000 r--p 0001e000 07:14 10739                      /usr/lib/x86_64-linux-gnu/libidn2.so.0.3.6

7f8927014000-7f8927015000 ---p 0001e000 07:14 10739                      /usr/lib/x86_64-linux-gnu/libidn2.so.0.3.6

7f8926ffd000-7f8927014000 r--p 00007000 07:14 10739                      /usr/lib/x86_64-linux-gnu/libidn2.so.0.3.6

7f8926ff8000-7f8926ffd000 r-xp 00002000 07:14 10739                      /usr/lib/x86_64-linux-gnu/libidn2.so.0.3.6

7f8926ff6000-7f8926ff8000 r--p 00000000 07:14 10739                      /usr/lib/x86_64-linux-gnu/libidn2.so.0.3.6

7f8926ff5000-7f8926ff6000 rw-p 00180000 07:14 11011                      /usr/lib/x86_64-linux-gnu/libunistring.so.2.1.0

7f8926ff2000-7f8926ff5000 r--p 0017d000 07:14 11011                      /usr/lib/x86_64-linux-gnu/libunistring.so.2.1.0

7f8926ff1000-7f8926ff2000 ---p 0017d000 07:14 11011                      /usr/lib/x86_64-linux-gnu/libunistring.so.2.1.0

7f8926eba000-7f8926ff1000 r--p 00046000 07:14 11011                      /usr/lib/x86_64-linux-gnu/libunistring.so.2.1.0

7f8926e84000-7f8926eba000 r-xp 00010000 07:14 11011                      /usr/lib/x86_64-linux-gnu/libunistring.so.2.1.0

7f8926e74000-7f8926e84000 r--p 00000000 07:14 11011                      /usr/lib/x86_64-linux-gnu/libunistring.so.2.1.0

7f8926e73000-7f8926e74000 rw-p 00014000 07:14 10986                      /usr/lib/x86_64-linux-gnu/libtasn1.so.6.6.0

7f8926e72000-7f8926e73000 r--p 00013000 07:14 10986                      /usr/lib/x86_64-linux-gnu/libtasn1.so.6.6.0

7f8926e71000-7f8926e72000 ---p 00013000 07:14 10986                      /usr/lib/x86_64-linux-gnu/libtasn1.so.6.6.0

7f8926e6d000-7f8926e71000 r--p 0000f000 07:14 10986                      /usr/lib/x86_64-linux-gnu/libtasn1.so.6.6.0

7f8926e61000-7f8926e6d000 r-xp 00003000 07:14 10986                      /usr/lib/x86_64-linux-gnu/libtasn1.so.6.6.0

7f8926e5e000-7f8926e61000 r--p 00000000 07:14 10986                      /usr/lib/x86_64-linux-gnu/libtasn1.so.6.6.0

7f8926e5d000-7f8926e5e000 rw-p 00038000 07:14 10832                      /usr/lib/x86_64-linux-gnu/libnettle.so.7.0

7f8926e5b000-7f8926e5d000 r--p 00036000 07:14 10832                      /usr/lib/x86_64-linux-gnu/libnettle.so.7.0

7f8926e4b000-7f8926e5b000 r--p 00027000 07:14 10832                      /usr/lib/x86_64-linux-gnu/libnettle.so.7.0

7f8926e2d000-7f8926e4b000 r-xp 00009000 07:14 10832                      /usr/lib/x86_64-linux-gnu/libnettle.so.7.0

7f8926e24000-7f8926e2d000 r--p 00000000 07:14 10832                      /usr/lib/x86_64-linux-gnu/libnettle.so.7.0

7f8926e23000-7f8926e24000 rw-p 00035000 07:14 10721                      /usr/lib/x86_64-linux-gnu/libhogweed.so.5.0

7f8926e22000-7f8926e23000 r--p 00034000 07:14 10721                      /usr/lib/x86_64-linux-gnu/libhogweed.so.5.0

7f8926e04000-7f8926e22000 r--p 00017000 07:14 10721                      /usr/lib/x86_64-linux-gnu/libhogweed.so.5.0

7f8926df4000-7f8926e04000 r-xp 00007000 07:14 10721                      /usr/lib/x86_64-linux-gnu/libhogweed.so.5.0

7f8926ded000-7f8926df4000 r--p 00000000 07:14 10721                      /usr/lib/x86_64-linux-gnu/libhogweed.so.5.0

7f8926dec000-7f8926ded000 rw-p 00028000 07:14 11040                      /usr/lib/x86_64-linux-gnu/libwind.so.0.0.0

7f8926deb000-7f8926dec000 r--p 00027000 07:14 11040                      /usr/lib/x86_64-linux-gnu/libwind.so.0.0.0

7f8926dc6000-7f8926deb000 r--p 00003000 07:14 11040                      /usr/lib/x86_64-linux-gnu/libwind.so.0.0.0

7f8926dc4000-7f8926dc6000 r-xp 00001000 07:14 11040                      /usr/lib/x86_64-linux-gnu/libwind.so.0.0.0

7f8926dc3000-7f8926dc4000 r--p 00000000 07:14 11040                      /usr/lib/x86_64-linux-gnu/libwind.so.0.0.0

7f8926dc2000-7f8926dc3000 rw-p 00010000 07:14 10715                      /usr/lib/x86_64-linux-gnu/libheimbase.so.1.0.0

7f8926dc1000-7f8926dc2000 r--p 0000f000 07:14 10715                      /usr/lib/x86_64-linux-gnu/libheimbase.so.1.0.0

7f8926dbd000-7f8926dc1000 r--p 0000c000 07:14 10715                      /usr/lib/x86_64-linux-gnu/libheimbase.so.1.0.0

7f8926db4000-7f8926dbd000 r-xp 00003000 07:14 10715                      /usr/lib/x86_64-linux-gnu/libheimbase.so.1.0.0

7f8926db1000-7f8926db4000 r--p 00000000 07:14 10715                      /usr/lib/x86_64-linux-gnu/libheimbase.so.1.0.0

7f8926db0000-7f8926db1000 rw-p 00000000 00:00 0 

7f8926daf000-7f8926db0000 rw-p 0004b000 07:14 10723                      /usr/lib/x86_64-linux-gnu/libhx509.so.5.0.0

7f8926dac000-7f8926daf000 r--p 00048000 07:14 10723                      /usr/lib/x86_64-linux-gnu/libhx509.so.5.0.0

7f8926d9c000-7f8926dac000 r--p 00039000 07:14 10723                      /usr/lib/x86_64-linux-gnu/libhx509.so.5.0.0

7f8926d73000-7f8926d9c000 r-xp 00010000 07:14 10723                      /usr/lib/x86_64-linux-gnu/libhx509.so.5.0.0

7f8926d63000-7f8926d73000 r--p 00000000 07:14 10723                      /usr/lib/x86_64-linux-gnu/libhx509.so.5.0.0

7f8926d60000-7f8926d63000 rw-p 00125000 07:14 10972                      /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6

7f8926d5d000-7f8926d60000 r--p 00122000 07:14 10972                      /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6

7f8926d5c000-7f8926d5d000 ---p 00122000 07:14 10972                      /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6

7f8926d28000-7f8926d5c000 r--p 000ee000 07:14 10972                      /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6

7f8926c48000-7f8926d28000 r-xp 0000e000 07:14 10972                      /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6

7f8926c3a000-7f8926c48000 r--p 00000000 07:14 10972                      /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6

7f8926c39000-7f8926c3a000 rw-p 00003000 fd:00 131961                     /app/vendor/bundle/ruby/3.3.0/gems/scout_apm-5.3.8/lib/allocations.so

7f8926c38000-7f8926c39000 r--p 00002000 fd:00 131961                     /app/vendor/bundle/ruby/3.3.0/gems/scout_apm-5.3.8/lib/allocations.so

7f8926c37000-7f8926c38000 r--p 00002000 fd:00 131961                     /app/vendor/bundle/ruby/3.3.0/gems/scout_apm-5.3.8/lib/allocations.so

7f8926c36000-7f8926c37000 r-xp 00001000 fd:00 131961                     /app/vendor/bundle/ruby/3.3.0/gems/scout_apm-5.3.8/lib/allocations.so

7f8926c35000-7f8926c36000 r--p 00000000 fd:00 131961                     /app/vendor/bundle/ruby/3.3.0/gems/scout_apm-5.3.8/lib/allocations.so

7f8926c34000-7f8926c35000 rw-p 00003000 fd:00 35008                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/enc/iso_8859_1.so

7f8926c33000-7f8926c34000 r--p 00002000 fd:00 35008                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/enc/iso_8859_1.so

7f8926c32000-7f8926c33000 r--p 00002000 fd:00 35008                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/enc/iso_8859_1.so

7f8926c31000-7f8926c32000 r-xp 00001000 fd:00 35008                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/enc/iso_8859_1.so

7f8926c30000-7f8926c31000 r--p 00000000 fd:00 35008                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/enc/iso_8859_1.so

7f8926c10000-7f8926c30000 rw-p 00000000 00:00 0 

7f8926c0f000-7f8926c10000 rw-p 00043000 fd:00 135128                     /app/vendor/bundle/ruby/3.3.0/gems/google-protobuf-4.26.1-x86_64-linux/lib/google/3.3/protobuf_c.so

7f8926c0e000-7f8926c0f000 r--p 00042000 fd:00 135128                     /app/vendor/bundle/ruby/3.3.0/gems/google-protobuf-4.26.1-x86_64-linux/lib/google/3.3/protobuf_c.so

7f8926c0d000-7f8926c0e000 ---p 00042000 fd:00 135128                     /app/vendor/bundle/ruby/3.3.0/gems/google-protobuf-4.26.1-x86_64-linux/lib/google/3.3/protobuf_c.so

7f8926c00000-7f8926c0d000 r--p 00035000 fd:00 135128                     /app/vendor/bundle/ruby/3.3.0/gems/google-protobuf-4.26.1-x86_64-linux/lib/google/3.3/protobuf_c.so

7f8926bcf000-7f8926c00000 r-xp 00004000 fd:00 135128                     /app/vendor/bundle/ruby/3.3.0/gems/google-protobuf-4.26.1-x86_64-linux/lib/google/3.3/protobuf_c.so

7f8926bcb000-7f8926bcf000 r--p 00000000 fd:00 135128                     /app/vendor/bundle/ruby/3.3.0/gems/google-protobuf-4.26.1-x86_64-linux/lib/google/3.3/protobuf_c.so

7f8926bca000-7f8926bcb000 rw-p 00007000 fd:00 33121                      /app/.apt/usr/lib/x86_64-linux-gnu/libcolamd.so.2.9.6

7f8926bc9000-7f8926bca000 r--p 00006000 fd:00 33121                      /app/.apt/usr/lib/x86_64-linux-gnu/libcolamd.so.2.9.6

7f8926bc8000-7f8926bc9000 r--p 00006000 fd:00 33121                      /app/.apt/usr/lib/x86_64-linux-gnu/libcolamd.so.2.9.6

7f8926bc3000-7f8926bc8000 r-xp 00001000 fd:00 33121                      /app/.apt/usr/lib/x86_64-linux-gnu/libcolamd.so.2.9.6

7f8926bc2000-7f8926bc3000 r--p 00000000 fd:00 33121                      /app/.apt/usr/lib/x86_64-linux-gnu/libcolamd.so.2.9.6

7f8926bb0000-7f8926bc0000 rw-p 00000000 00:00 0 

7f8926b90000-7f8926ba0000 rw-p 00000000 00:00 0 

7f8926b8f000-7f8926b90000 rw-p 00298000 fd:00 141593                     /app/vendor/bundle/ruby/3.3.0/gems/pg_query-5.1.0/lib/pg_query/pg_query.so

7f8926b5c000-7f8926b8f000 r--p 00265000 fd:00 141593                     /app/vendor/bundle/ruby/3.3.0/gems/pg_query-5.1.0/lib/pg_query/pg_query.so

7f8926b5b000-7f8926b5c000 ---p 00265000 fd:00 141593                     /app/vendor/bundle/ruby/3.3.0/gems/pg_query-5.1.0/lib/pg_query/pg_query.so

7f8926a5b000-7f8926b5b000 r--p 00165000 fd:00 141593                     /app/vendor/bundle/ruby/3.3.0/gems/pg_query-5.1.0/lib/pg_query/pg_query.so

7f892692c000-7f8926a5b000 r-xp 00036000 fd:00 141593                     /app/vendor/bundle/ruby/3.3.0/gems/pg_query-5.1.0/lib/pg_query/pg_query.so

7f89268f6000-7f892692c000 r--p 00000000 fd:00 141593                     /app/vendor/bundle/ruby/3.3.0/gems/pg_query-5.1.0/lib/pg_query/pg_query.so

7f89268f5000-7f89268f6000 rw-p 00003000 fd:00 33120                      /app/.apt/usr/lib/x86_64-linux-gnu/libsuitesparseconfig.so.5.7.1

7f89268f4000-7f89268f5000 r--p 00002000 fd:00 33120                      /app/.apt/usr/lib/x86_64-linux-gnu/libsuitesparseconfig.so.5.7.1

7f89268f3000-7f89268f4000 r--p 00002000 fd:00 33120                      /app/.apt/usr/lib/x86_64-linux-gnu/libsuitesparseconfig.so.5.7.1

7f89268f2000-7f89268f3000 r-xp 00001000 fd:00 33120                      /app/.apt/usr/lib/x86_64-linux-gnu/libsuitesparseconfig.so.5.7.1

7f89268f1000-7f89268f2000 r--p 00000000 fd:00 33120                      /app/.apt/usr/lib/x86_64-linux-gnu/libsuitesparseconfig.so.5.7.1

7f89268d0000-7f89268f0000 rw-p 00000000 00:00 0 

7f89268cf000-7f89268d0000 rw-p 0000b000 fd:00 137521                     /app/vendor/bundle/ruby/3.3.0/gems/puma-6.4.2/lib/puma/puma_http11.so

7f89268ce000-7f89268cf000 r--p 0000a000 fd:00 137521                     /app/vendor/bundle/ruby/3.3.0/gems/puma-6.4.2/lib/puma/puma_http11.so

7f89268cc000-7f89268ce000 r--p 00009000 fd:00 137521                     /app/vendor/bundle/ruby/3.3.0/gems/puma-6.4.2/lib/puma/puma_http11.so

7f89268c7000-7f89268cc000 r-xp 00004000 fd:00 137521                     /app/vendor/bundle/ruby/3.3.0/gems/puma-6.4.2/lib/puma/puma_http11.so

7f89268c3000-7f89268c7000 r--p 00000000 fd:00 137521                     /app/vendor/bundle/ruby/3.3.0/gems/puma-6.4.2/lib/puma/puma_http11.so

7f89268c2000-7f89268c3000 rw-p 00040000 07:14 10682                      /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0

7f89268c1000-7f89268c2000 r--p 0003f000 07:14 10682                      /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0

7f89268b5000-7f89268c1000 r--p 00034000 07:14 10682                      /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0

7f892688a000-7f89268b5000 r-xp 00009000 07:14 10682                      /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0

7f8926881000-7f892688a000 r--p 00000000 07:14 10682                      /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0

7f8926860000-7f8926880000 rw-p 00000000 00:00 0 

7f8926830000-7f8926850000 rw-p 00000000 00:00 0 

7f8926810000-7f8926820000 rw-p 00000000 00:00 0 

7f892680f000-7f8926810000 rw-p 00006000 07:14 10847                      /usr/lib/x86_64-linux-gnu/libnss_dns-2.31.so

7f892680e000-7f892680f000 r--p 00005000 07:14 10847                      /usr/lib/x86_64-linux-gnu/libnss_dns-2.31.so

7f892680d000-7f892680e000 r--p 00005000 07:14 10847                      /usr/lib/x86_64-linux-gnu/libnss_dns-2.31.so

7f8926809000-7f892680d000 r-xp 00001000 07:14 10847                      /usr/lib/x86_64-linux-gnu/libnss_dns-2.31.so

7f8926808000-7f8926809000 r--p 00000000 07:14 10847                      /usr/lib/x86_64-linux-gnu/libnss_dns-2.31.so

7f89263e2000-7f8926800000 rw-p 00000000 00:00 0 

7f89263e1000-7f89263e2000 r--p 00000000 00:00 0 

7f89263de000-7f89263e1000 rw-p 00000000 00:00 0 

7f89263c9000-7f89263de000 rw-p 0356e000 fd:00 36823                      /app/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/mini_racer-0.12.0/mini_racer_extension.so

7f89263c8000-7f89263c9000 r--p 0356d000 fd:00 36823                      /app/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/mini_racer-0.12.0/mini_racer_extension.so

7f89263c6000-7f89263c8000 rw-p 0356b000 fd:00 36823                      /app/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/mini_racer-0.12.0/mini_racer_extension.so

7f8926356000-7f89263c6000 r--p 034fb000 fd:00 36823                      /app/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/mini_racer-0.12.0/mini_racer_extension.so

7f8926355000-7f8926356000 ---p 034fb000 fd:00 36823                      /app/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/mini_racer-0.12.0/mini_racer_extension.so

7f89241d5000-7f8926355000 r--p 0137b000 fd:00 36823                      /app/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/mini_racer-0.12.0/mini_racer_extension.so

7f8922f76000-7f89241d5000 r-xp 0011c000 fd:00 36823                      /app/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/mini_racer-0.12.0/mini_racer_extension.so

7f8922e5a000-7f8922f76000 r--p 00000000 fd:00 36823                      /app/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/mini_racer-0.12.0/mini_racer_extension.so

7f8922e57000-7f8922e5a000 rw-p 00000000 00:00 0 

7f8922e54000-7f8922e57000 rw-p 001db000 07:14 10980                      /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28

7f8922e49000-7f8922e54000 r--p 001d0000 07:14 10980                      /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28

7f8922e48000-7f8922e49000 ---p 001d0000 07:14 10980                      /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28

7f8922dff000-7f8922e48000 r--p 00187000 07:14 10980                      /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28

7f8922d0e000-7f8922dff000 r-xp 00096000 07:14 10980                      /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28

7f8922c78000-7f8922d0e000 r--p 00000000 07:14 10980                      /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28

7f8922c20000-7f8922c60000 rw-p 00000000 00:00 0 

7f8922c10000-7f8922c20000 rw-p 00000000 00:00 0 

7f8922c0f000-7f8922c10000 rw-p 0000a000 fd:00 136235                     /app/vendor/bundle/ruby/3.3.0/gems/tiny_tds-2.1.7/lib/tiny_tds/tiny_tds.so

7f8922c0e000-7f8922c0f000 r--p 00009000 fd:00 136235                     /app/vendor/bundle/ruby/3.3.0/gems/tiny_tds-2.1.7/lib/tiny_tds/tiny_tds.so

7f8922c0c000-7f8922c0e000 r--p 00008000 fd:00 136235                     /app/vendor/bundle/ruby/3.3.0/gems/tiny_tds-2.1.7/lib/tiny_tds/tiny_tds.so

7f8922c07000-7f8922c0c000 r-xp 00003000 fd:00 136235                     /app/vendor/bundle/ruby/3.3.0/gems/tiny_tds-2.1.7/lib/tiny_tds/tiny_tds.so

7f8922c04000-7f8922c07000 r--p 00000000 fd:00 136235                     /app/vendor/bundle/ruby/3.3.0/gems/tiny_tds-2.1.7/lib/tiny_tds/tiny_tds.so

7f8922800000-7f8922c00000 rw-p 00000000 00:00 0 

7f89227fe000-7f8922800000 rw-p 00132000 fd:00 132341                     /app/vendor/bundle/ruby/3.3.0/gems/outliertree-0.3.1/lib/outliertree/ext.so

7f89227fa000-7f89227fe000 r--p 0012e000 fd:00 132341                     /app/vendor/bundle/ruby/3.3.0/gems/outliertree-0.3.1/lib/outliertree/ext.so

7f89227d1000-7f89227fa000 r--p 00106000 fd:00 132341                     /app/vendor/bundle/ruby/3.3.0/gems/outliertree-0.3.1/lib/outliertree/ext.so

7f892270a000-7f89227d1000 r-xp 0003f000 fd:00 132341                     /app/vendor/bundle/ruby/3.3.0/gems/outliertree-0.3.1/lib/outliertree/ext.so

7f89226cb000-7f892270a000 r--p 00000000 fd:00 132341                     /app/vendor/bundle/ruby/3.3.0/gems/outliertree-0.3.1/lib/outliertree/ext.so

7f89226ca000-7f89226cb000 rw-p 00009000 fd:00 33123                      /app/.apt/usr/lib/x86_64-linux-gnu/libamd.so.2.4.6

7f89226c9000-7f89226ca000 r--p 00008000 fd:00 33123                      /app/.apt/usr/lib/x86_64-linux-gnu/libamd.so.2.4.6

7f89226c8000-7f89226c9000 ---p 00008000 fd:00 33123                      /app/.apt/usr/lib/x86_64-linux-gnu/libamd.so.2.4.6

7f89226c7000-7f89226c8000 r--p 00007000 fd:00 33123                      /app/.apt/usr/lib/x86_64-linux-gnu/libamd.so.2.4.6

7f89226c1000-7f89226c7000 r-xp 00001000 fd:00 33123                      /app/.apt/usr/lib/x86_64-linux-gnu/libamd.so.2.4.6

7f89226c0000-7f89226c1000 r--p 00000000 fd:00 33123                      /app/.apt/usr/lib/x86_64-linux-gnu/libamd.so.2.4.6

7f89225d0000-7f89226c0000 rw-p 00000000 00:00 0 

7f89225cf000-7f89225d0000 rw-p 0000f000 fd:00 35082                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/fiddle.so

7f89225ce000-7f89225cf000 r--p 0000e000 fd:00 35082                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/fiddle.so

7f89225cb000-7f89225ce000 r--p 0000c000 fd:00 35082                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/fiddle.so

7f89225c3000-7f89225cb000 r-xp 00004000 fd:00 35082                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/fiddle.so

7f89225bf000-7f89225c3000 r--p 00000000 fd:00 35082                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/fiddle.so

7f89225be000-7f89225bf000 rw-p 00009000 07:14 10783                      /usr/lib/x86_64-linux-gnu/libltdl.so.7.3.1

7f89225bd000-7f89225be000 r--p 00008000 07:14 10783                      /usr/lib/x86_64-linux-gnu/libltdl.so.7.3.1

7f89225bb000-7f89225bd000 r--p 00007000 07:14 10783                      /usr/lib/x86_64-linux-gnu/libltdl.so.7.3.1

7f89225b6000-7f89225bb000 r-xp 00002000 07:14 10783                      /usr/lib/x86_64-linux-gnu/libltdl.so.7.3.1

7f89225b4000-7f89225b6000 r--p 00000000 07:14 10783                      /usr/lib/x86_64-linux-gnu/libltdl.so.7.3.1

7f89225a0000-7f89225b0000 rw-p 00000000 00:00 0 

7f892259f000-7f89225a0000 rw-p 00028000 fd:00 36210                      /app/vendor/bundle/ruby/3.3.0/gems/ffi-1.16.3/lib/ffi_c.so

7f892259e000-7f892259f000 r--p 00027000 fd:00 36210                      /app/vendor/bundle/ruby/3.3.0/gems/ffi-1.16.3/lib/ffi_c.so

7f892259d000-7f892259e000 ---p 00027000 fd:00 36210                      /app/vendor/bundle/ruby/3.3.0/gems/ffi-1.16.3/lib/ffi_c.so

7f8922595000-7f892259d000 r--p 0001f000 fd:00 36210                      /app/vendor/bundle/ruby/3.3.0/gems/ffi-1.16.3/lib/ffi_c.so

7f892257c000-7f8922595000 r-xp 00006000 fd:00 36210                      /app/vendor/bundle/ruby/3.3.0/gems/ffi-1.16.3/lib/ffi_c.so

7f8922576000-7f892257c000 r--p 00000000 fd:00 36210                      /app/vendor/bundle/ruby/3.3.0/gems/ffi-1.16.3/lib/ffi_c.so

7f8922550000-7f8922570000 rw-p 00000000 00:00 0 

7f892254f000-7f8922550000 rw-p 00011000 fd:00 145057                     /app/vendor/bundle/ruby/3.3.0/gems/llhttp-ffi-0.5.0/ext/x86_64-linux/libllhttp-ext.so

7f892254e000-7f892254f000 r--p 00010000 fd:00 145057                     /app/vendor/bundle/ruby/3.3.0/gems/llhttp-ffi-0.5.0/ext/x86_64-linux/libllhttp-ext.so

7f8922549000-7f892254e000 r--p 0000c000 fd:00 145057                     /app/vendor/bundle/ruby/3.3.0/gems/llhttp-ffi-0.5.0/ext/x86_64-linux/libllhttp-ext.so

7f8922541000-7f8922549000 r-xp 00004000 fd:00 145057                     /app/vendor/bundle/ruby/3.3.0/gems/llhttp-ffi-0.5.0/ext/x86_64-linux/libllhttp-ext.so

7f892253d000-7f8922541000 r--p 00000000 fd:00 145057                     /app/vendor/bundle/ruby/3.3.0/gems/llhttp-ffi-0.5.0/ext/x86_64-linux/libllhttp-ext.so

7f89224f0000-7f8922530000 rw-p 00000000 00:00 0 

7f89224d0000-7f89224e0000 rw-p 00000000 00:00 0 

7f89224b0000-7f89224c0000 rw-p 00000000 00:00 0 

7f8922480000-7f89224a0000 rw-p 00000000 00:00 0 

7f8922420000-7f8922470000 rw-p 00000000 00:00 0 

7f8922410000-7f8922420000 rw-p 00000000 00:00 0 

7f89217b0000-7f8922400000 rw-p 00000000 00:00 0 

7f89216f0000-7f89217a0000 rw-p 00000000 00:00 0 

7f89216db000-7f89216e0000 rw-p 00000000 00:00 0 

7f89216d9000-7f89216db000 rw-p 00065000 fd:00 133148                     /app/vendor/bundle/ruby/3.3.0/gems/oj-3.16.3/lib/oj/oj.so

7f89216d8000-7f89216d9000 r--p 00064000 fd:00 133148                     /app/vendor/bundle/ruby/3.3.0/gems/oj-3.16.3/lib/oj/oj.so

7f89216d7000-7f89216d8000 ---p 00064000 fd:00 133148                     /app/vendor/bundle/ruby/3.3.0/gems/oj-3.16.3/lib/oj/oj.so

7f89216c5000-7f89216d7000 r--p 00052000 fd:00 133148                     /app/vendor/bundle/ruby/3.3.0/gems/oj-3.16.3/lib/oj/oj.so

7f892167d000-7f89216c5000 r-xp 0000a000 fd:00 133148                     /app/vendor/bundle/ruby/3.3.0/gems/oj-3.16.3/lib/oj/oj.so

7f8921673000-7f892167d000 r--p 00000000 fd:00 133148                     /app/vendor/bundle/ruby/3.3.0/gems/oj-3.16.3/lib/oj/oj.so

7f8921600000-7f8921670000 rw-p 00000000 00:00 0 

f89214c0000-7f89215f0000 rw-p 00000000 00:00 0 

f89214a0000-7f89214b0000 rw-p 00000000 00:00 0 

f8921470000-7f8921490000 rw-p 00000000 00:00 0 

f8921450000-7f8921460000 rw-p 00000000 00:00 0 

f8921430000-7f8921440000 rw-p 00000000 00:00 0 

f8921410000-7f8921420000 rw-p 00000000 00:00 0 

f8920400000-7f8921400000 rw-p 00000000 00:00 0 

f8920300000-7f89203f0000 rw-p 00000000 00:00 0 

f8920180000-7f89202f0000 rw-p 00000000 00:00 0 

f8920010000-7f8920170000 rw-p 00000000 00:00 0 

7f891fbb0000-7f8920000000 rw-p 00000000 00:00 0 

7f891fbaf000-7f891fbb0000 rw-p 00018000 fd:00 143319                     /app/vendor/bundle/ruby/3.3.0/gems/redcarpet-3.6.0/lib/redcarpet.so

7f891fbae000-7f891fbaf000 r--p 00017000 fd:00 143319                     /app/vendor/bundle/ruby/3.3.0/gems/redcarpet-3.6.0/lib/redcarpet.so

7f891fbad000-7f891fbae000 ---p 00017000 fd:00 143319                     /app/vendor/bundle/ruby/3.3.0/gems/redcarpet-3.6.0/lib/redcarpet.so

7f891fba9000-7f891fbad000 r--p 00013000 fd:00 143319                     /app/vendor/bundle/ruby/3.3.0/gems/redcarpet-3.6.0/lib/redcarpet.so

7f891fb99000-7f891fba9000 r-xp 00003000 fd:00 143319                     /app/vendor/bundle/ruby/3.3.0/gems/redcarpet-3.6.0/lib/redcarpet.so

7f891fb96000-7f891fb99000 r--p 00000000 fd:00 143319                     /app/vendor/bundle/ruby/3.3.0/gems/redcarpet-3.6.0/lib/redcarpet.so

7f891fb00000-7f891fb90000 rw-p 00000000 00:00 0 

7f891fad0000-7f891faf0000 rw-p 00000000 00:00 0 

7f891facf000-7f891fad0000 rw-p 00047000 fd:00 35080                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/ripper.so

7f891facd000-7f891facf000 r--p 00045000 fd:00 35080                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/ripper.so

7f891fab3000-7f891facd000 r--p 0002c000 fd:00 35080                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/ripper.so

7f891fa8e000-7f891fab3000 r-xp 00007000 fd:00 35080                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/ripper.so

7f891fa87000-7f891fa8e000 r--p 00000000 fd:00 35080                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/ripper.so

7f891fa00000-7f891fa80000 rw-p 00000000 00:00 0 

7f891f880000-7f891f9f0000 rw-p 00000000 00:00 0 

7f891f810000-7f891f870000 rw-p 00000000 00:00 0 

7f891ebb0000-7f891f800000 rw-p 00000000 00:00 0 

7f891eb90000-7f891eba0000 rw-p 00000000 00:00 0 

7f891eb8f000-7f891eb90000 rw-p 004e6000 fd:00 131824                     /app/vendor/bundle/ruby/3.3.0/gems/tiktoken_ruby-0.0.8-x86_64-linux/lib/tiktoken_ruby/3.3/tiktoken_ruby.so

7f891eb69000-7f891eb8f000 r--p 004c0000 fd:00 131824                     /app/vendor/bundle/ruby/3.3.0/gems/tiktoken_ruby-0.0.8-x86_64-linux/lib/tiktoken_ruby/3.3/tiktoken_ruby.so

7f891eb68000-7f891eb69000 ---p 004c0000 fd:00 131824                     /app/vendor/bundle/ruby/3.3.0/gems/tiktoken_ruby-0.0.8-x86_64-linux/lib/tiktoken_ruby/3.3/tiktoken_ruby.so

7f891e7c7000-7f891eb68000 r--p 0011f000 fd:00 131824                     /app/vendor/bundle/ruby/3.3.0/gems/tiktoken_ruby-0.0.8-x86_64-linux/lib/tiktoken_ruby/3.3/tiktoken_ruby.so

7f891e6d8000-7f891e7c7000 r-xp 00030000 fd:00 131824                     /app/vendor/bundle/ruby/3.3.0/gems/tiktoken_ruby-0.0.8-x86_64-linux/lib/tiktoken_ruby/3.3/tiktoken_ruby.so

7f891e6a8000-7f891e6d8000 r--p 00000000 fd:00 131824                     /app/vendor/bundle/ruby/3.3.0/gems/tiktoken_ruby-0.0.8-x86_64-linux/lib/tiktoken_ruby/3.3/tiktoken_ruby.so

7f891e670000-7f891e6a0000 rw-p 00000000 00:00 0 

7f891e630000-7f891e660000 rw-p 00000000 00:00 0 

7f891e5b0000-7f891e620000 rw-p 00000000 00:00 0 

7f891e4a0000-7f891e5a0000 rw-p 00000000 00:00 0 

7f891e49f000-7f891e4a0000 ---p 00000000 00:00 0 

7f891e49e000-7f891e49f000 rw-p 0001c000 fd:00 35029                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/enc/trans/single_byte.so

7f891e499000-7f891e49e000 r--p 00017000 fd:00 35029                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/enc/trans/single_byte.so

7f891e485000-7f891e499000 r--p 00004000 fd:00 35029                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/enc/trans/single_byte.so

7f891e484000-7f891e485000 r-xp 00003000 fd:00 35029                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/enc/trans/single_byte.so

7f891e481000-7f891e484000 r--p 00000000 fd:00 35029                      /app/vendor/ruby-3.3.0/lib/ruby/3.3.0/x86_64-linux/enc/trans/single_byte.so

7f891e47b000-7f891e481000 rw-p 00000000 00:00 0 

7f891e47a000-7f891e47b000 rw-p 0000c000 07:14 10850                      /usr/lib/x86_64-linux-gnu/libnss_files-2.31.so

7f891e479000-7f891e47a000 r--p 0000b000 07:14 10850                      /usr/lib/x86_64-linux-gnu/libnss_files-2.31.so

7f891e477000-7f891e479000 r--p 0000a000 07:14 10850                      /usr/lib/x86_64-linux-gnu/libnss_files-2.31.so

7f891e470000-7f891e477000 r-xp 00003000 07:14 10850                      /usr/lib/x86_64-linux-gnu/libnss_files-2.31.so

7f891e46d000-7f891e470000 r--p 00000000 07:14 10850                      /usr/lib/x86_64-linux-gnu/libnss_files-2.31.so

from mini_racer.

tisba avatar tisba commented on August 17, 2024

@fjl82

I am using sprockets, but I had not checked whether it's involved or not. I first got these errors when rendering a js response to an ajax request, and also saw them when shutting down the server (running puma).

Are you using puma in clustered mode? forking is known to cause some troubles with mini_racer/v8, see https://github.com/rubyjs/mini_racer#fork-safety.

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024

@D-system I wish I had more to add here, but so much depends on a standalone repro. In theory most people use mini_racer in a very simple way, if you can get a crash then you can monkey patch eval to save what it is evaling into a file and then we can use that to cause the crash.

Once we have one we will very likely be able to sort this out quickly

There is a chance here as well that libraries were using mini racer in a fork unsafe way and somehow got away with it in earlier versions due to luck.

from mini_racer.

viralpraxis avatar viralpraxis commented on August 17, 2024

The same happened to me after upgrading to the latest libv8-node (21.7.2.0) and mini_racer (0.12.0) during running specs

ruby/3.3.0/lib/ruby/gems/3.3.0/gems/mini_racer-0.12.0/lib/mini_racer.rb:228: [BUG] Segmentation fault at 0x0000734c73d8700

ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-linux]

from mini_racer.

D-system avatar D-system commented on August 17, 2024

After some lengthy monkey patching session, I'm 99% sure it's due to this file: https://github.com/ai/autoprefixer-rails/blob/master/vendor/autoprefixer.js
I removed the source map at the last line, it does not change anything.

The file is 6.29MB which isn't the simplest to debug.

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024

from mini_racer.

D-system avatar D-system commented on August 17, 2024

I copy/paste that giant file into a browser console and got an error:

 Uncaught ReferenceError: SharedArrayBuffer is not defined
    at <anonymous>:9900:39
    at createCommonjsModule (<anonymous>:258:11)
    at <anonymous>:9553:15
    at <anonymous>:77306:3
image

Which is used at line 9900 (other references are inside a strings)
image

from mini_racer.

D-system avatar D-system commented on August 17, 2024

From Chrome 92 (and Firefox too), SharedArrayBuffer is disabled by default for security reason due to the meltdown and specter attack (https://meltdownattack.com/)

https://web.dev/articles/cross-origin-isolation-guide

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer

from mini_racer.

lloeki avatar lloeki commented on August 17, 2024

Thanks for diving this deep into it @D-system, IIUC this still not reproduced locally, only in CircleCI?

from mini_racer.

lloeki avatar lloeki commented on August 17, 2024

I copy/paste that giant file into a browser console

I think what Sam meant is mimicking https://github.com/ai/autoprefixer-rails/blob/cf0af2807108e43f4858574b5d22dfaec0630d80/lib/autoprefixer-rails/processor.rb#L133C9-L133C23

i.e does the following cause a crash?

js = File.read('path/to/autoprefixer.js')

# direct mini_racer
context = MiniRacer::Context.new
context.eval(js)

# via execjs, goes through:
# - https://github.com/rails/execjs/blob/ea4731de8b7b68de8404029c2f3d52eacefabec7/lib/execjs/runtime.rb#L68
# - https://github.com/rails/execjs/blob/ea4731de8b7b68de8404029c2f3d52eacefabec7/lib/execjs/mini_racer_runtime.rb#L11
ExecJS.compile(js)

If that's not enough, maybe it can be reproduced by mimicking https://github.com/ai/autoprefixer-rails/blob/cf0af2807108e43f4858574b5d22dfaec0630d80/lib/autoprefixer-rails/processor.rb#L35 with a specific input file?

css = File.read('path/to/style.css')
process_opts = { from: ..., to: ..., map: ... }
plugin_opts = { ... }

# direct mini_racer
context.eval("autoprefixer.process.apply(this, #{JSON.generate([css, process_opts, plugin_opts])}")

# via execs, goes through:
# - https://github.com/rails/execjs/blob/ea4731de8b7b68de8404029c2f3d52eacefabec7/lib/execjs/mini_racer_runtime.rb#L35
ExecJS.call('autoprefixer.process', css, process_opts, plugin_opts)

Notes:

  • ExecJS's eval "#{identifier}.apply(this, #{::JSON.generate(args)})" is vulnerable to code injection! (depends on how people use it)
  • That apply + JSON.generate is complete bonkers, imagine the processing + memory cost with sizeable CSS

from mini_racer.

george-gca avatar george-gca commented on August 17, 2024

I don't know if it's the same bug, but recently I added a new plugin to the Gemfile of a template repository, which caused the Docker image to be rebuilt with the latest versions of the libraries. The build failed in GitHub actions, with the message:

compiling mini_racer_extension.cc
linking shared-object mini_racer_extension.so
/usr/bin/ld: cannot find
/var/lib/gems/3.2.0/gems/libv8-node-21.7.2.0-x86_64-linux/vendor/v8/x86_64-linux-gnu/libv8/obj/libv8_monolith.a:
No such file or directory
collect2: error: ld returned 1 exit status
make: *** [Makefile:265: mini_racer_extension.so] Error 1

from mini_racer.

bekkou68 avatar bekkou68 commented on August 17, 2024

Thank you for dealing.
FYI, the following combination worked for me. It caused no segmentation fault.

  • mini_racer 0.12.0
  • libv8-node 21.7.2.0
  • Ruby 3.3.0
  • OS: Ubuntu 22.04.4 LTS (GNU/Linux 5.15.0-97-generic x86_64)
  • Rails: 7.1.3.2
  • Sprockets: 4.2.1
  • Command: RAILS_ENV=production RBENV_ROOT=$HOME/.rbenv RBENV_VERSION=3.3.0 $HOME/.rbenv/bin/rbenv exec bundle exec rake assets:precompile

from mini_racer.

D-system avatar D-system commented on August 17, 2024

I don't have time to investigate further at the moment. I'll be AFK from tomorrow until after the RubyKaigi (2024-05-15 to 17).

from mini_racer.

D-system avatar D-system commented on August 17, 2024

I'm back.


After adding autoprefixer-rails to the Gemfile, I tried js = File.read('/home/circleci/.rubygems/gems/autoprefixer-rails-10.4.16.0/vendor/autoprefixer.js'); MiniRacer::Context.new.eval(js), the command doesn't error out.

(the ./bin/rails assets:clobber assets:precompile does not work)


Then I copied the autoprefixer.js into the app/javascript/packs/application.js, I removed the gem autoprefixer-rails and run ./bin/rails assets:clobber assets:precompile and it just works fine.


The error certainly happens after the file is loaded and when the CSS is being process. Another time, I'll look at how https://github.com/ai/autoprefixer-rails works to debug.

from mini_racer.

tisba avatar tisba commented on August 17, 2024

Interesting, @D-system. Would be great to have a working reproduction. Maybe all that's left is some CSS, if I'm reading your findings correctly. Thank you for your efforts!

from mini_racer.

D-system avatar D-system commented on August 17, 2024

I'm using a brand new app. The CSS is non existent. Just the application.css below that only have require_tree and require_self which doesn't do much, there's no extra file. It is frustrating.

/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *
 *= require_tree .
 *= require_self
 */

I also would love to have the bug reproduced on my local. I'm still SSH-ing to CircleCI.

Here's the command that I use to reproduce the bug on CircleCI:

gem install rails -v 6.1.7.7
rails new --skip-webpack-install app
cd app

echo "gem 'mini_racer', '~> 0.12.0'" >> Gemfile
echo 'gem "autoprefixer-rails", "10.4.16.0"' >> Gemfile

bundle install
./bin/rails assets:clobber assets:precompile

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024

@cataphract any ideas about ⏫ ? We tried to fix a premature cleanup previously.

from mini_racer.

tisba avatar tisba commented on August 17, 2024

jFYI: The example does not crash under aarch64-linux or x86_64-linux (under Rosetta emulation) on Apple Silicon, M1 Pro.

from mini_racer.

jusleg avatar jusleg commented on August 17, 2024

In our app we encountered segfaults with mini_racer and turf.js when doing the bump from 0.9.0 to 0.12.0. It didn't occur in our CI but it did in our prod instance.

CI is running on buildjet ubuntu 22.04 with ruby 3.2.2 and prod is running on heroku on ubuntu 20.04 with ruby 3.2.2 and YJIT and jemalloc enabled

from mini_racer.

lloeki avatar lloeki commented on August 17, 2024

and jemalloc enabled

This is most probably jemalloc-related, which is known to trigger core dumps unrelated to this very one.

from mini_racer.

lloeki avatar lloeki commented on August 17, 2024

is this enough for you to debug

@SamSaffron if I manage to reliably reproduce it, possibly so.

from mini_racer.

lloeki avatar lloeki commented on August 17, 2024

Sadly, no repro (neither on M1 hardware nor on Intel hardware) :/

from mini_racer.

huda-kh avatar huda-kh commented on August 17, 2024

If this is any help, @SamSaffron's repro did work for me and I traced the segfault a bit further down to this line:

I forced libv8-node down to 20.12.1.0 and the issue went away, so perhaps it's possible that it's either a bug in 21.7.2.0 or a breaking change requiring an update?

Edit: for those who don't know (like me before yesterday!) that isolate in the line I think is a v8::Isolate, i.e. part of V8 proper and not mini_racer.

Can confirm a downgrade of libv8-node fixed the issue.

from mini_racer.

noctivityinc avatar noctivityinc commented on August 17, 2024

I'm having the exact same issues and have three crash reports I can share if that will help. Ruby 3.3.2 on heroku with Rails 6.1.7.7. Segmentation fault is always here:

2024-06-03T03:53:04.924655+00:00 app[web.1]: /app/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.12.0/lib/mini_racer.rb:228: [BUG] Segmentation fault at 0x00007ff1507a0008
2024-06-03T03:53:04.924685+00:00 app[web.1]: ruby 3.3.2 (2024-05-30 revision e5a195edf6) [x86_64-linux]
2024-06-03T03:53:04.924686+00:00 app[web.1]:
2024-06-03T03:53:04.924687+00:00 app[web.1]: -- Control frame information -----------------------------------------------
2024-06-03T03:53:04.924687+00:00 app[web.1]: c:0133 p:---- s:0879 e:000878 CFUNC  :eval_unsafe
2024-06-03T03:53:04.924689+00:00 app[web.1]: c:0132 p:0009 s:0873 e:000872 BLOCK  /app/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.12.0/lib/mini_racer.rb:228
2024-06-03T03:53:04.924689+00:00 app[web.1]: c:0131 p:0010 s:0870 e:000869 METHOD /app/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.12.0/lib/mini_racer.rb:348
2024-06-03T03:53:04.924690+00:00 app[web.1]: c:0130 p:0008 s:0859 e:000858 BLOCK  /app/vendor/bundle/ruby/3.3.0/gems/mini_racer-0.12.0/lib/mini_racer.rb:227 [FINISH]
2024-06-03T03:53:04.924690+00:00 app[web.1]: c:0129 p:---- s:0856 e:000855 CFUNC  :synchronize
2024-

I can provide more if needed.

from mini_racer.

noctivityinc avatar noctivityinc commented on August 17, 2024

@huda-kh what did you downgrade libv8-node to and did you do that by adding it directly to your gemfile?

from mini_racer.

noctivityinc avatar noctivityinc commented on August 17, 2024

I can also confirm that downgrading to gem "mini_racer", "~> 0.9.0" # <- added so far seems to have fixed the issue

from mini_racer.

huda-kh avatar huda-kh commented on August 17, 2024

@huda-kh what did you downgrade libv8-node to and did you do that by adding it directly to your gemfile?

Yes, gem 'libv8-node', '~> 20.12.1'

from mini_racer.

project99 avatar project99 commented on August 17, 2024

the node version doesn't seems to be the cause of the crash for me

/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/mini_racer-0.6.3/lib/mini_racer.rb:183: [BUG] Segmentation fault at 0x0000000000000000
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-linux]

I'm also getting the above while setting up my local env on a different computer.

However, the strange thing is that the setup between the 2 machines are identical, as per below

mini_racer 0.6.3
libv8-node 16.10.0.0
Ruby 3.2.2
OS: Windows 11 WSL - Ubuntu 22.04.3 LTS
Rails: 6.1.7.3
Sprockets: 3.7.2

when I run rails s
everything works fine on my original machine but I'm getting the fault on my new machine.

Any ideas on where else to investigate?

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024

@cataphract did you have a chance to look at this?

from mini_racer.

lloeki avatar lloeki commented on August 17, 2024

Fantastic, thank you Sam. I'll try again to repro, possibly sourcing some other hardware.

Long shot hunch but given the strange consistency of repro works vs crashes in near-identical software environments I'm wondering if there's some (real or virtual) hardware component related, e.g CPU. Maybe a total red herring, but who knows.

My CPUs are:

  • M1 Max, MacBookPro18,4 (14" 2021)

    processor	: 0
    BogoMIPS	: 48.00
    Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm ssbs sb paca pacg dcpodp flagm2 frint
    CPU implementer	: 0x61
    CPU architecture: 8
    CPU variant	: 0x0
    CPU part	: 0x000
    CPU revision	: 0
    
  • Intel Core i7 Quad-Core, MacBookPro16,2 (13" 2020, 4xTB3 ports)

    processor	: 0
    vendor_id	: GenuineIntel
    cpu family	: 6
    model		: 126
    model name	: Intel(R) Core(TM) i7-1068NG7 CPU @ 2.30GHz
    stepping	: 5
    microcode	: 0xc4
    cpu MHz		: 2304.000
    cache size	: 8192 KB
    physical id	: 0
    siblings	: 1
    core id		: 0
    cpu cores	: 1
    apicid		: 0
    initial apicid	: 0
    fpu		: yes
    fpu_exception	: yes
    cpuid level	: 27
    wp		: yes
    flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology tsc_reliable nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap avx512ifma clflushopt avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves arat avx512vbmi umip avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid fsrm md_clear flush_l1d arch_capabilities
    bugs		: spectre_v1 spectre_v2 spec_store_bypass swapgs itlb_multihit srbds mmio_stale_data retbleed eibrs_pbrsb gds bhi
    bogomips	: 4608.00
    clflush size	: 64
    cache_alignment	: 64
    address sizes	: 45 bits physical, 48 bits virtual
    power management:
    

I'm also:

  • using VMware Fusion on macOS on both.
  • no Rosetta 2 binary translation involved (neither on macOS nor in Linux VMs)

What are yours folks?

If you can e.g cat /proc/cpuinfo under Linux (native + inside WSL/Docker for Mac) and other CPU-Z or whatever output on Windows, or Mac exact CPU info...), and whatever you're using as some sort of virtualisation if so.

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024

I am on Intel(R) Core(TM) i9-14900K

It crashes consistently on dispose isolate and works consistently with 20.12.1.0

I need to figure out how to build on local to see if this is something about how we are building node

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024

@lloeki are there any concerns around downgrading mini_racer to 20.12.1.0 while we work out what is going on here?

from mini_racer.

lloeki avatar lloeki commented on August 17, 2024

@SamSaffron thanks.

If you want a simple automated process, you can do:

# for whatever your current system is (Darwin on Darwin, Linux on Linux), resulting gem will be in `pkg` and the repo will also contain all intermediate build results so it's directly usable via `gem 'libv8-node, path:...`
# I highly recommend installing `ccache` beforehand to speed up rebuilds, which will be picked up and used automatically
make -f Makefile gem

# for building for Linux inside docker, picks up your current platform automatically and puts the result in `pkg`
# this automatically has `ccache` installed and leverages a `docker buildx` cache mount
make -f Makefile.docker gem

# you can also target a specific platform manually
make -f Makefile.docker pkg/libv8-node-21.7.2-aarch64-linux.gem
make -f Makefile.docker pkg/libv8-node-21.7.2-aarch64-linux-musl.gem
make -f Makefile.docker pkg/libv8-node-21.7.2-x86_64-linux.gem
make -f Makefile.docker pkg/libv8-node-21.7.2-x86_64-linux-musl.gem

If you want to do a fully manual build (feel free to hack build-libv8 to do a debug build and build-monolith to prevent stripping):

./libexec/download-node
./libexec/extract-node
./libexec/build-libv8
./libexec/build-monolith
./libexec/inject-libv8 # after this, repository is directly usable via `gem 'libv8-node, path:...`
bundle exec rake binary # optional, that's if you want to build a gem from the result

Then you can simply reference the repo as a path in a mini_racer's clone:

# in mini_racer's Gemfile

gem 'libv8-node', path: '../libv8-node'

Once it's built, do the usual mini_racer's bundle exec rake compile. Don't forget to bundle exec rake clean (although I usually do find . -name \( '*.bundle' -or -name '*.so' \) -delete; bundle exec rake clean because sometimes rake clean is not enough).

All of the libexec scripts can take an optional Node version as argument, e.g ./libexec/download-node 21.7.2, otherwise it defaults to picking up the version in lib/libv8/node/versions.rb for convenience.

(Note to myself: this above should go into the README.md or a DEVELOPMENT.md file)

from mini_racer.

lloeki avatar lloeki commented on August 17, 2024

@SamSaffron I'm thinking of something: at some point I moved to using clang for Linux builds. Maybe it's related to the compiler and gcc would be fine.

This can be changed by removing clang in Dockerfile, then the build will fall back to using gcc:

diff --git a/Dockerfile b/Dockerfile
index f44ba8f..890bed0 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,8 +1,8 @@
 ARG RUBY_VERSION=2.7
 FROM ruby:${RUBY_VERSION}
 
-RUN test ! -f /etc/alpine-release || apk add --no-cache build-base bash python3 git curl tar ccache clang
-RUN test -f /etc/alpine-release || (apt-get update && apt-get install -y ccache clang)
+RUN test ! -f /etc/alpine-release || apk add --no-cache build-base bash python3 git curl tar ccache
+RUN test -f /etc/alpine-release || (apt-get update && apt-get install -y ccache)
 ENV CCACHE_DIR=/ccache
 
 RUN gem update --system 3.3.26 && gem install bundler -v '~> 2.3.26'

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024

I feel we should probably be using GCC to match the toolset on https://github.com/nodejs/node/blob/main/BUILDING.md

looks like GCC 10 specifically.

I also wonder if we should be building inside RHEL8 to match the toolset of node for the binary?

from mini_racer.

lloeki avatar lloeki commented on August 17, 2024

we should probably be using GCC to match the toolse

The intent behind the move was that it is so much easier to do cross-compiling with clang: you just have to have a proper sysroot and pass the -issyroot flag, whereas with GCC you have to build an actual set of cross-compilers for each target platform. That's why aarch64-linux-musl is not in the CI anymore: because there's none in Alpine's apk (but Debian provides some for GCC, hence why that one stayed).

I also wonder if we should be building inside RHEL8 to match the toolset of node for the binary?

Maybe manylinux instead then (which is CentOS based). That's significant work though. Let's try the compiler first.

Also @SamSaffron that makes me think, can you reproduce the issue with both glibc and musl or just glibc?

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024

appears to still be crashing under GCC :( need to get more symbols cause this is not exactly helpful:

-- C level backtrace information -------------------------------------------
/home/sam/.rubies/ruby-3.2.3/bin/ruby(rb_print_backtrace+0x14) [0x607040e6163b] /home/sam/src/ruby-3.2.3/vm_dump.c:785
/home/sam/.rubies/ruby-3.2.3/bin/ruby(rb_vm_bugreport) /home/sam/src/ruby-3.2.3/vm_dump.c:1080
/home/sam/.rubies/ruby-3.2.3/bin/ruby(rb_bug_for_fatal_signal+0xe8) [0x607040fe0ed8] /home/sam/src/ruby-3.2.3/error.c:813
/home/sam/.rubies/ruby-3.2.3/bin/ruby(sigsegv+0x4b) [0x607040daa78b] /home/sam/src/ruby-3.2.3/signal.c:964
/usr/lib/libc.so.6(0x7e68fedf0ae0) [0x7e68fedf0ae0]
/home/sam/Source/mini_racer/lib/mini_racer_extension.so(0x7e68f77b8e1a) [0x7e68f77b8e1a]
/home/sam/Source/mini_racer/lib/mini_racer_extension.so(0x7e68f76c1497) [0x7e68f76c1497]
/home/sam/Source/mini_racer/lib/mini_racer_extension.so(0x7e68f76c15a8) [0x7e68f76c15a8]
/home/sam/Source/mini_racer/lib/mini_racer_extension.so(0x7e68f76c320b) [0x7e68f76c320b]
/home/sam/Source/mini_racer/lib/mini_racer_extension.so(0x7e68f76b2647) [0x7e68f76b2647]
/home/sam/Source/mini_racer/lib/mini_racer_extension.so(0x7e68f75f21eb) [0x7e68f75f21eb]
/home/sam/Source/mini_racer/lib/mini_racer_extension.so(0x7e68f7611ee7) [0x7e68f7611ee7]
/home/sam/Source/mini_racer/lib/mini_racer_extension.so(0x7e68f6d790fc) [0x7e68f6d790fc]
/home/sam/Source/mini_racer/lib/mini_racer_extension.so(0x7e68f6d7bab9) [0x7e68f6d7bab9]
/home/sam/Source/mini_racer/lib/mini_racer_extension.so(0x7e68f6b2abab) [0x7e68f6b2abab]
/home/sam/Source/mini_racer/lib/mini_racer_extension.so(0x7e68f6b2d371) [0x7e68f6b2d371]
/home/sam/Source/mini_racer/lib/mini_racer_extension.so(free_context_raw+0x133) [0x7e68f6b2ad65] ../../../../ext/mini_racer_extension/mini_racer_extension.cc:1471

I wish I could get a backtrace with the location in v8.

Also... maybe this goes away on 22.4 or 22.7.3 ... I doubt it but who knows?

from mini_racer.

lloeki avatar lloeki commented on August 17, 2024

libv8-node-22.4.0.0-x86_64-linux.gem No longer crashes

Is that built with GCC?

This may be the best possible resolution here

Agreed. I'll do builds as soon as I can.

Failure: MiniRacerTest#test_timeout

I'll take that instead of a crasher any day. Also...

I am sure this is resolvable

test_timeout: timeout things are annoying, maybe it's just the test itself isn't quite correct / flaky. I also seem to vaguely recall overhearing there have been some annoyances/changes regarding timeouts.

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024

The test is no longer failing cause this returns immediately now

        var doit = async() => {
        while (true)
          await new Promise(resolve => resolve())
        }
        doit();

v8 must have a new optimisation here to work around this crazy

I think we can probably just comment this out.

It was built with GCC.

from mini_racer.

lloeki avatar lloeki commented on August 17, 2024

v8 must have a new optimisation here to work around this crazy

Haha yeah, I've had to change another test because V8 started to optimise an invariant bit which completely elided out a certain execution that was expected in the text, so I had to trick into not being able to optimise it.

I might be able to do something here by making it do some actual but still fake work in a similar way.

It was built with GCC.

Good. I'l move back things to use GCC.

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024

from mini_racer.

tisba avatar tisba commented on August 17, 2024

@SamSaffron Yeah I think I can fit that in this week's schedule.

Let me know when you have the build, happy to put it through some testing.

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024

from mini_racer.

lloeki avatar lloeki commented on August 17, 2024

Building.

from mini_racer.

lloeki avatar lloeki commented on August 17, 2024

Hitting this when building on ruby:2.7-alpine with GCC 11 (ruby:2.7 has gcc 10):

#19 673.3 ../deps/v8/src/compiler/wasm-compiler.cc: In lambda function:
#19 673.3 ../deps/v8/src/compiler/wasm-compiler.cc:8620:59: error: too many initializers for 'v8::internal::wasm::WrapperCompilationInfo::<unnamed union>'
#19 673.3  8620 |             .import_info = {kind, expected_arity, suspend}},
#19 673.3       |                                                           ^
#19 673.3 ../deps/v8/src/compiler/wasm-compiler.cc: In function 'v8::internal::wasm::WasmCompilationResult v8::internal::compiler::CompileWasmImportCallWrapper(v8::internal::wasm::CompilationEnv*, v8::internal::wasm::ImportCallKind, const FunctionSig*, bool, int, v8::internal::wasm::Suspend)':
#19 673.3 ../deps/v8/src/compiler/wasm-compiler.cc:8658:76: error: use of 'v8::internal::compiler::CompileWasmImportCallWrapper(v8::internal::wasm::CompilationEnv*, v8::internal::wasm::ImportCallKind, const FunctionSig*, bool, int, v8::internal::wasm::Suspend)::<lambda()>' before deduction of 'auto'
#19 673.3  8658 |   auto result = v8_flags.turboshaft_wasm_wrappers ? compile_with_turboshaft()
#19 673.3       |                                                     ~~~~~~~~~~~~~~~~~~~~~~~^~
#19 673.3 ../deps/v8/src/compiler/wasm-compiler.cc: In lambda function:
#19 673.3 ../deps/v8/src/compiler/wasm-compiler.cc:8782:63: error: too many initializers for 'v8::internal::wasm::WrapperCompilationInfo::<unnamed union>'
#19 673.3  8782 |                 .import_info = {kind, expected_arity, suspend}},
#19 673.3       |                                                               ^
#19 673.3 At global scope:
#19 673.3 cc1plus: note: unrecognized command-line option '-Wno-dangling-pointer' may have been intended to silence earlier diagnostics
#19 673.3 make: *** [tools/v8_gypfiles/v8_compiler.target.mk:336: /code/src/node-v22.5.1/out/Release/obj.target/v8_compiler/deps/v8/src/compiler/wasm-compiler.o] Error 1
#19 673.3 make: *** Waiting for unfinished jobs....
#19 678.8 rm eaa7c536ec54534ae0561a9a6eafe29ba9ba2b59.intermediate 8cd3d39129416144c03e73765e9ca10b3fba330e.intermediate
#19 678.8 make: Leaving directory '/code/src/node-v22.5.1/out'
#19 ERROR: process "/bin/sh -c ./libexec/build-libv8 ${NODE_VERSION}" did not complete successfully: exit code: 2

IIRC that's why I moved to clang.

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024

from mini_racer.

tisba avatar tisba commented on August 17, 2024

As a side node: Keep in mind, that Ruby 2.7 is EOL since 2023-03-31.

from mini_racer.

lloeki avatar lloeki commented on August 17, 2024

One platform left, should be done tomorrow.

from mini_racer.

lloeki avatar lloeki commented on August 17, 2024

All built. Pushing.

from mini_racer.

lloeki avatar lloeki commented on August 17, 2024

PR to bump dependency in mini_racer and prepare 0.13.0 release: #306

from mini_racer.

tisba avatar tisba commented on August 17, 2024

0.13.0 has been released.

@D-system: If you have a moment, could you check if the new version with upgraded Node fixes the issue for you?

from mini_racer.

tisba avatar tisba commented on August 17, 2024

@SamSaffron you can still reproduce with #300 (comment)?

Trying to reproduce with your example on GH Actions, in hopes this helps. So far without success 😞 https://github.com/tisba/mini_racer-issue-300/actions/runs/10193149124/job/28197243732#step:4:5

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024

also #300 (comment) no longer crashes...

So I have no repro left here :(

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024

Hitting this when building on ruby:2.7-alpine with GCC 11 (ruby:2.7 has gcc 10):

Note @lloeki ... mini_racer no longer support any Ruby earlier than ruby 3.1. who knows maybe there are multiple issues here...

For starters though we need a consistent repro.

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024

@lloeki I am trying here, but this is really hard for me due to poor background.

I can easily reproduce

c:0045 p:---- s:0281 e:000280 CFUNC  :eval_unsafe
c:0044 p:0009 s:0275 e:000274 BLOCK  /home/circleci/.rubygems/gems/mini_racer-0.13.0/lib/mini_racer.rb:228
c:0043 p:0010 s:0272 e:000271 METHOD /home/circleci/.rubygems/gems/mini_racer-0.13.0/lib/mini_racer.rb:348

On my local Discourse instance, just need to cook some markdown into html in a particular sequence. Trouble is I am yet to make a standalone program that will crash it.

Where I am super stuck now is figuring out how to get symbols going all the way through so I can get at least a full backtrace from v8 to have some clue of where v8 is crashing.

Will keep trying, but as it stands given the instability of these releases I am tempted to just do a new release that pins the version back to the version of v8 that works.

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024

I released 0.14 which now reverts the v8 upgrades. I really want to be on latest v8 but we can not yet, we need a stable release out there and that trumps wanting an upgrade 😢

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024

Interesting datapoint @lloeki

Somewhere between 18.13 and 18.19 we broke test/test_forking.rb, it used to work fine, now it segfaults.

from mini_racer.

lloeki avatar lloeki commented on August 17, 2024

Thanks folks for the unrelenting work in trying to reproduce! ❤️

mini_racer no longer support any Ruby earlier than ruby 3.1. who knows maybe there are multiple issues here...

By and large this doesn't matter, we could be building libv8 on a Rubyless image for all it cares. I plan to actually do that and move to something that makes having reproducible builds with better libc coverage (something like manylinux or even Nix).

Where I am super stuck now is figuring out how to get symbols going all the way through so I can get at least a full backtrace from v8 to have some clue of where v8 is crashing.

  • In libexec/build_libv8 the BUILDTYPE env var defaults to Release, IIRC it can be set to Debug instead: env BUILDTYPE=Debug ./libexec/build-libv8.
  • There's a strip step in libexec/inject-libv8 because even in Release mode the obj files resulting from build-libv8 are insanely huge (as in, gigabytes, and IIRC even more so in Debug). Instead of stripping via inject-libv8, one would instead simply manually copy (or symlink to save space) src/libv8-{version}/..../out/{Debug or Release}/libv8_monolith.a to vendor/v8/{platform}/libv8/obj.

Super sorry I cannot help as it absolutely refuses to crash on any of my machines, whatever I throw at it :(

By the way the latest linux-gnu builds have been done with GCC.

Somewhere between 18.13 and 18.19 we broke test/test_forking.rb, it used to work fine, now it segfaults.

Huh, I didn't see that one, been running tests locally before pushing and they all passed (except the "libv8 now optimises the hell out of things" ones which are red herrings)

I released 0.14 which now reverts the v8 upgrades. I really want to be on latest v8 but we can not yet, we need a stable release out there and that trumps wanting an upgrade

At least this way:

  • the default is known stable
  • people have the option not use a more recent release if it happens to work for their use case

from mini_racer.

lloeki avatar lloeki commented on August 17, 2024

Note: rr has the ability to record execution and allows replaying execution even on totally foreign machines. Once someone gets debug symbols and records a crash, maybe that could help for me to get a hand on a replayable record.

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024

@lloeki do you get segfaults on local from test_forking?

Still struggling through this, I know how amazing it will be to have a nice standalone test that segfaults, it is just very hard to pin down.

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024

Well, I just built 12.7.224.15 from Source using the Google build toolchain.

Had to make some minor change to mini_racer:

--- a/ext/mini_racer_extension/mini_racer_extension.cc
+++ b/ext/mini_racer_extension/mini_racer_extension.cc
@@ -518,7 +518,7 @@ nogvl_context_eval(void* arg) {
     MaybeLocal<Script> parsed_script;
 
     if (eval_params->filename) {
-        origin = new v8::ScriptOrigin(isolate, *eval_params->filename);
+        origin = new v8::ScriptOrigin(*eval_params->filename);
     }
 
     parsed_script = Script::Compile(context, *eval_params->eval, origin);
@@ -791,7 +791,7 @@ static bool run_extra_code(Isolate *isolate, Local<v8::Context> context,
     }
     Local<String> resource_name =
             String::NewFromUtf8(isolate, name).ToLocalChecked();
-    ScriptOrigin origin(isolate, resource_name);
+    ScriptOrigin origin(resource_name);
     ScriptCompiler::Source source(source_string, origin);
     Local<Script> script;
     if (!ScriptCompiler::Compile(context, &source).ToLocal(&script))
@@ -954,9 +954,12 @@ static VALUE rb_isolate_idle_notification(VALUE self, VALUE idle_time_in_ms) {
 
     if (current_platform == NULL) return Qfalse;
 
-    double duration = NUM2DBL(idle_time_in_ms) / 1000.0;
-    double now = current_platform->MonotonicallyIncreasingTime();
-    return isolate_info->isolate->IdleNotificationDeadline(now + duration) ? Qtrue : Qfalse;
+    //double duration = NUM2DBL(idle_time_in_ms) / 1000.0;
+    //double now = current_platform->MonotonicallyIncreasingTime();
+    //return isolate_info->isolate->IdleNotificationDeadline(now + duration) ? Qtrue : Qfalse;
+
+    isolate_info->isolate->MemoryPressureNotification(v8::MemoryPressureLevel::kModerate);
+    return Qtrue;
 }

And now the test that was crashing with the forking is working perfectly.

I enabled pointer compression and c++20 which is now required.

I am not sure I am trusting this node build anymore for our purpose. Will see if I can double test this on build as well. I had some trouble building though cause finding the right toolchain for older builds is a bit more tricky... will see what I can do.

We need to get test/test_forking.rb working as a #1 priority. This appears to be the canary in the coalmine.

from mini_racer.

SamSaffron avatar SamSaffron commented on August 17, 2024

@lloeki my branch here builds v8 from source

mini_racer/Rakefile

Lines 31 to 39 in f134478

desc "build libv8 dependencies using Docker"
task :build_libv8 do
Dir.chdir("docker") do
system "docker buildx build . -t mini_racer_lib_v8"
system "rm -rf ../vendor"
system "mkdir -p ../vendor"
system "docker run --rm --user $(id -u):$(id -g) -v $(pwd)/../vendor:/vendor mini_racer_lib_v8 cp -r /package/v8 /vendor"
end
end

This build works just fine both with localization AND with the test_forking that was failing before.

So I suspect something about the way this node build is working is ending up with a corrupt ICU setup which is leading to the various faults.

from mini_racer.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.