Skip to content

Conversation

@etiennebarrie
Copy link
Contributor

Currently, all RClasses are created as shareable in class_alloc0, which causes singleton classes of unshareable objects to be shareable which allows passing unshareable objects by passing their singleton class and getting their attached object.

This changes singleton_class_of to mark the singleton class as shareable when the object is shareable, and inversely, to mark the singleton class as unshareable if the object is unshareable.

We also need to not forcibly mark the class as shareable in shareable_p_enter.

Additionally, if the object is not yet marked as shareable, but is frozen (and allow_frozen_shareable_p), it becomes marked as shareable through rb_ractor_shareable_p, and we need to also mark its singleton class as shareable at that point.

@etiennebarrie
Copy link
Contributor Author

This test forking while Ractors are running fails: 8bf333a

@etiennebarrie etiennebarrie force-pushed the singleton-class-not-shareable branch from b491568 to da98b05 Compare December 19, 2025 15:51
@etiennebarrie
Copy link
Contributor Author

The test added in 8bf333a fails here as well.

Currently, all RClasses are created as shareable in `class_alloc0`,
which causes singleton classes of unshareable objects to be shareable
which allows passing unshareable objects by passing their singleton
class and getting their attached object.

This changes `singleton_class_of` to mark the singleton class as shareable
when the object is shareable, and inversely, to mark the singleton class as
unshareable if the object is unshareable.

We also need to not forcibly mark the class as shareable in
`shareable_p_enter`.

Additionally, if the object is not yet marked as shareable, but is
frozen (and `allow_frozen_shareable_p`), it becomes marked as shareable
through `rb_ractor_shareable_p`, and we need to also mark its singleton
class as shareable at that point.
@etiennebarrie etiennebarrie force-pushed the singleton-class-not-shareable branch from da98b05 to 2e8459e Compare December 19, 2025 15:56
@launchable-app
Copy link

launchable-app bot commented Dec 19, 2025

11/66414 Tests Failed

bootstraptest/test_insns.rb#bootstraptest/test_insns.rb

bootstraptest/test_jump.rb#bootstraptest/test_jump.rb 🛡️ never-failing, but failed now

   begin
     100.times do |i|
       Ractor.new(i) do |j|
         1000.times do |i|
           "#{j}-#{i}"
         end
       end
       pid = fork do
         GC.verify_internal_consistency
       end
       _, status = Process.waitpid2 pid
       raise unless status.success?
     end
   
     :ok
   rescue NotImplementedError
     :ok
   end
  #=> "" (expected "ok")
bootstraptest/test_literal_suffix.rb#bootstraptest/test_literal_suffix.rb 🛡️ never-failing, but failed now

bootstraptest/test_method.rb#bootstraptest/test_method.rb 🛡️ never-failing, but failed now

   begin
     100.times do |i|
       Ractor.new(i) do |j|
         1000.times do |i|
           "#{j}-#{i}"
         end
       end
       pid = fork do
         GC.verify_internal_consistency
       end
       _, status = Process.waitpid2 pid
       raise unless status.success?
     end
   
     :ok
   rescue NotImplementedError
     :ok
   end
  #=> "" (expected "ok")
bootstraptest/test_ractor.rb#bootstraptest/test_ractor.rb

   begin
     100.times do |i|
       Ractor.new(i) do |j|
         1000.times do |i|
           "#{j}-#{i}"
         end
       end
       pid = fork do
         GC.verify_internal_consistency
       end
       _, status = Process.waitpid2 pid
       raise unless status.success?
     end
   
     :ok
   rescue NotImplementedError
     :ok
   end
  #=> "" (expected "ok")
6 more failed tests
bootstraptest/test_struct.rb#bootstraptest/test_struct.rb

   begin
     100.times do |i|
       Ractor.new(i) do |j|
         1000.times do |i|
           "#{j}-#{i}"
         end
       end
       pid = fork do
         GC.verify_internal_consistency
       end
       _, status = Process.waitpid2 pid
       raise unless status.success?
     end
   
     :ok
   rescue NotImplementedError
     :ok
   end
  #=> "" (expected "ok")
bootstraptest/test_syntax.rb#bootstraptest/test_syntax.rb 🛡️ never-failing, but failed now

   begin
     100.times do |i|
       Ractor.new(i) do |j|
         1000.times do |i|
           "#{j}-#{i}"
         end
       end
       pid = fork do
         GC.verify_internal_consistency
       end
       _, status = Process.waitpid2 pid
       raise unless status.success?
     end
   
     :ok
   rescue NotImplementedError
     :ok
   end
  #=> "" (expected "ok")
bootstraptest/test_thread.rb#bootstraptest/test_thread.rb

bootstraptest/test_yjit.rb#bootstraptest/test_yjit.rb 🛡️ never-failing, but failed now

test/fiber/test_scheduler.rb#test_iseq_compile_under_gc_stress_bug_21180 🛡️ never-failing, but failed now
Error:
TestFiberScheduler#test_iseq_compile_under_gc_stress_bug_21180:
Test::Unit::ProxyError: Bad file descriptor
    /home/runner/work/ruby/ruby/src/test/fiber/scheduler.rb:261:in 'IO#close'
    /home/runner/work/ruby/ruby/src/test/fiber/scheduler.rb:261:in 'block in Scheduler#io_close'
    /home/runner/work/ruby/ruby/src/test/fiber/scheduler.rb:261:in 'Fiber.blocking'
    /home/runner/work/ruby/ruby/src/test/fiber/scheduler.rb:261:in 'Scheduler#io_close'
    /home/runner/work/ruby/ruby/src/test/fiber/test_scheduler.rb:154:in 'RubyVM::InstructionSequence.compile_file'
    /home/runner/work/ruby/ruby/src/test/fiber/test_scheduler.rb:154:in 'block (3 levels) in TestFiberScheduler#test_iseq_compile_under_gc_stress_bug_21180'
    /home/runner/work/ruby/ruby/src/tool/lib/envutil.rb:336:in 'EnvUtil.under_gc_stress'
    /home/runner/work/ruby/ruby/src/test/fiber/test_scheduler.rb:153:in 'block (2 levels) in TestFiberScheduler#test_iseq_compile_under_gc_stress_bug_21180'

test/ruby/test_alias.rb#test_alias_wb_miss
Failure:
TestAlias#test_alias_wb_miss [/Users/runner/work/ruby/ruby/src/test/ruby/test_alias.rb:145]:
pid 47906 killed by SIGABRT (signal 6) (core dumped)
| (a) <OBJ_INFO:rb_gc_rp@../src/gc.c:5448> 0x0000000102a84b90 T_IMEMO/<ment> :using (pri) type:cfunc aliased:0 owner:0x0000000102aaf020 defined_class:0x0000000102aaf020
| (b) <OBJ_INFO:rb_gc_rp@../src/gc.c:5448> 0x0000000102aaf020 T_CLASS/(anon)
| check_shareable_i: shareable (a) -> unshareable (b)
| -:3: [BUG] !! violate shareable constraint !!
| ruby 4.0.0dev (2025-12-19T15:56:51Z pull/15656/merge 9cd30e6338) +PRISM [arm64-darwin23]
| 
| -- Crash Report log information --------------------------------------------
|    See Crash Report log file in one of the following locations:
|      * ~/Library/Logs/DiagnosticReports
|      * /Library/Logs/DiagnosticReports
|    for more details.
| Don't forget to include the above Crash Report log file in bug reports.
| 
| -- Control frame information -----------------------------------------------
| c:0003 p:---- s:0010 e:000009 l:y b:---- CFUNC  :verify_internal_consistency
| c:0002 p:0010 s:0006 e:000005 l:n b:---- EVAL   -:3 [FINISH]
| c:0001 p:0000 s:0003 E:001540 l:y b:---- DUMMY  [FINISH]
| 
| -- Ruby level backtrace information ----------------------------------------
| -:3:in '<main>'
| -:3:in 'verify_internal_consistency'
| 
| -- Threading information ---------------------------------------------------
| Total ractor count: 1
| Ruby thread count for this ractor: 1
| 
| -- C level backtrace information -------------------------------------------
| /Users/runner/work/ruby/ruby/build/ruby(rb_vm_bugreport+0xbc8) [0x1024289c8] ../src/vm_dump.c:1450
| /Users/runner/work/ruby/ruby/build/ruby(rb_vm_bugreport) (null):0
| /Users/runner/work/ruby/ruby/build/ruby(rb_bug_without_die_internal+0x108) [0x10224651c] ../src/error.c:1098
| /Users/runner/work/ruby/ruby/build/ruby(rb_bug+0x1c) [0x1026521fc] ../src/error.c:1116
| /Users/runner/work/ruby/ruby/build/ruby(gc_verify_compaction_references.cold.1+0x0) [0x1026532ac] ../src/gc.c:5469
| /Users/runner/work/ruby/ruby/build/ruby(check_shareable_i.cold.1) (null):0
| /Users/runner/work/ruby/ruby/build/ruby(rb_gc_rp+0x0) [0x102279a14] ../src/gc.c:5462
| /Users/runner/work/ruby/ruby/build/ruby(check_shareable_i) (null):0
| /Users/runner/work/ruby/ruby/build/ruby(rb_gc_mark_and_move+0x78) [0x102266ba0] ../src/gc.c:2622
| /Users/runner/work/ruby/ruby/build/ruby(mark_and_move_method_entry+0xc) [0x102287bfc] ../src/imemo.c:282
| /Users/runner/work/ruby/ruby/build/ruby(rb_imemo_mark_and_move) ../src/imemo.c:470
| /Users/runner/work/ruby/ruby/build/ruby(rb_objspace_reachable_objects_from+0x54) [0x10226bd30] ../src/gc.c:4534
| /Users/runner/work/ruby/ruby/build/ruby(gc_verify_shareable) ../src/gc.c:5485
| /Users/runner/work/ruby/ruby/build/ruby(rb_gc_verify_shareable) ../src/gc.c:5500
| /Users/runner/work/ruby/ruby/build/ruby(verify_internal_consistency_i+0x288) [0x102263c44] ../src/gc/default/default.c:5044
| /Users/runner/work/ruby/ruby/build/ruby(gc_verify_internal_consistency_) ../src/gc/default/default.c:5195
| /Users/runner/work/ruby/ruby/build/ruby(gc_verify_internal_consistency) ../src/gc/default/default.c:5275
| /Users/runner/work/ruby/ruby/build/ruby(rb_gc_verify_internal_consistency) ../src/gc/default/default.c:9035
| /Users/runner/work/ruby/ruby/build/ruby(gc_verify_internal_consistency_m+0xc) [0x10227b040] ../src/gc/default/default.c:9051
| /Users/runner/work/ruby/ruby/build/ruby(vm_call_cfunc_with_frame_+0xf0) [0x102418074] ../src/vm_insnhelper.c:3902
| /Users/runner/work/ruby/ruby/build/ruby(vm_sendish+0xcc) [0x1023f95c4] ../src/vm_insnhelper.c:6124
| /Users/runner/work/ruby/ruby/build/ruby(vm_exec_core) insns.def:904
| /Users/runner/work/ruby/ruby/build/ruby(rb_vm_exec+0x274) [0x1023f501c] ../src/vm.c:2798
| /Users/runner/work/ruby/ruby/build/ruby(rb_ec_exec_node+0x9c) [0x102251a70] ../src/eval.c:283
| /Users/runner/work/ruby/ruby/build/ruby(ruby_run_node+0x4c) [0x102251984] ../src/eval.c:321
| /Users/runner/work/ruby/ruby/build/ruby(rb_main+0x1c) [0x1021925f8] ../src/main.c:42
| /Users/runner/work/ruby/ruby/build/ruby(main) ../src/main.c:62
| 
| -- Other runtime information -----------------------------------------------
| 
| * Loaded script: -
| 
| * Ruby Box: disabled
| * Loaded features:
| 
|     0 enumerator.so
|     1 thread.rb
|     2 fiber.so
|     3 rational.so
|     4 complex.so
|     5 pathname.so
|     6 ruby2_keywords.rb
|     7 set.rb
|     8 /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/enc/encdb.bundle
|     9 /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/enc/trans/transdb.bundle
|    10 /Users/runner/work/ruby/ruby/build/rbconfig.rb
|    11 /Users/runner/work/ruby/ruby/src/lib/rubygems/defaults.rb
|    12 /Users/runner/work/ruby/ruby/src/lib/rubygems/deprecate.rb
|    13 /Users/runner/work/ruby/ruby/src/lib/rubygems/errors.rb
|    14 /Users/runner/work/ruby/ruby/src/lib/rubygems/target_rbconfig.rb
|    15 /Users/runner/work/ruby/ruby/src/lib/rubygems/win_platform.rb
|    16 /Users/runner/work/ruby/ruby/src/lib/rubygems/unknown_command_spell_checker.rb
|    17 /Users/runner/work/ruby/ruby/src/lib/rubygems/exceptions.rb
|    18 /Users/runner/work/ruby/ruby/src/lib/rubygems/basic_specification.rb
|    19 /Users/runner/work/ruby/ruby/src/lib/rubygems/stub_specification.rb
|    20 /Users/runner/work/ruby/ruby/src/lib/rubygems/platform.rb
|    21 /Users/runner/work/ruby/ruby/src/lib/rubygems/specification_record.rb
|    22 /Users/runner/work/ruby/ruby/src/lib/rubygems/util/list.rb
|    23 /Users/runner/work/ruby/ruby/src/lib/rubygems/version.rb
|    24 /Users/runner/work/ruby/ruby/src/lib/rubygems/requirement.rb
|    25 /Users/runner/work/ruby/ruby/src/lib/rubygems/specification.rb
|    26 /Users/runner/work/ruby/ruby/src/lib/rubygems/util.rb
|    27 /Users/runner/work/ruby/ruby/src/lib/rubygems/core_ext/kernel_gem.rb
|    28 /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/monitor.bundle
|    29 /Users/runner/work/ruby/ruby/build/.ext/common/monitor.rb
|    30 /Users/runner/work/ruby/ruby/src/lib/rubygems.rb
|    31 /Users/runner/work/ruby/ruby/src/lib/bundled_gems.rb
|    32 /Users/runner/work/ruby/ruby/src/lib/error_highlight/version.rb
|    33 /Users/runner/work/ruby/ruby/src/lib/error_highlight/base.rb
|    34 /Users/runner/work/ruby/ruby/src/lib/error_highlight/formatter.rb
|    35 /Users/runner/work/ruby/ruby/src/lib/error_highlight/core_ext.rb
|    36 /Users/runner/work/ruby/ruby/src/lib/error_highlight.rb
|    37 /Users/runner/work/ruby/ruby/src/lib/did_you_mean/version.rb
|    38 /Users/runner/work/ruby/ruby/src/lib/did_you_mean/core_ext/name_error.rb
|    39 /Users/runner/work/ruby/ruby/src/lib/did_you_mean/levenshtein.rb
|    40 /Users/runner/work/ruby/ruby/src/lib/did_you_mean/jaro_winkler.rb
|    41 /Users/runner/work/ruby/ruby/src/lib/did_you_mean/spell_checker.rb
|    42 /Users/runner/work/ruby/ruby/src/lib/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb
|    43 /Users/runner/work/ruby/ruby/src/lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
|    44 /Users/runner/work/ruby/ruby/src/lib/did_you_mean/spell_checkers/name_error_checkers.rb
|    45 /Users/runner/work/ruby/ruby/src/lib/did_you_mean/spell_checkers/method_name_checker.rb
|    46 /Users/runner/work/ruby/ruby/src/lib/did_you_mean/spell_checkers/key_error_checker.rb
|    47 /Users/runner/work/ruby/ruby/src/lib/did_you_mean/spell_checkers/null_checker.rb
|    48 /Users/runner/work/ruby/ruby/src/lib/did_you_mean/tree_spell_checker.rb
|    49 /Users/runner/work/ruby/ruby/src/lib/did_you_mean/spell_checkers/require_path_checker.rb
|    50 /Users/runner/work/ruby/ruby/src/lib/did_you_mean/spell_checkers/pattern_key_name_checker.rb
|    51 /Users/runner/work/ruby/ruby/src/lib/did_you_mean/formatter.rb
|    52 /Users/runner/work/ruby/ruby/src/lib/did_you_mean.rb
|    53 /Users/runner/work/ruby/ruby/src/lib/syntax_suggest/core_ext.rb
|    54 /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/stringio.bundle
| 
| * Process memory map:
| 
| 102190000-1027e4000 r-x /Users/runner/work/ruby/ruby/build/ruby
| 1027e4000-102814000 r-- /Users/runner/work/ruby/ruby/build/ruby
| 102814000-102818000 rw- /Users/runner/work/ruby/ruby/build/ruby
| 102818000-10282c000 rw- /Users/runner/work/ruby/ruby/build/ruby
| 10282c000-102a5c000 r-- /Users/runner/work/ruby/ruby/build/ruby
| 102a5c000-102a60000 r-- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/enc/encdb.bundle
| 102a60000-102a70000 rw- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/enc/encdb.bundle
| 102a80000-102a90000 rw- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/enc/encdb.bundle
| 102a90000-102a94000 r-x /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/enc/encdb.bundle
| 102a94000-102a98000 r-- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/enc/encdb.bundle
| 102a98000-102a9c000 rw- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/enc/encdb.bundle
| 102a9c000-102aa0000 r-- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/enc/encdb.bundle
| 102aa0000-102ab0000 rw- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/enc/trans/transdb.bundle
| 102ab0000-102ab4000 r-x /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/enc/trans/transdb.bundle
| 102ab4000-102ab8000 r-- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/enc/trans/transdb.bundle
| 102ab8000-102abc000 rw- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/enc/trans/transdb.bundle
| 102abc000-102ac0000 r-- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/enc/trans/transdb.bundle
| 102ac0000-102ad0000 rw- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/monitor.bundle
| 102ad0000-102ad4000 r-x /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/monitor.bundle
| 102ad4000-102ad8000 r-- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/monitor.bundle
| 102ad8000-102adc000 rw- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/monitor.bundle
| 102adc000-102ae0000 r-- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/monitor.bundle
| 102ae0000-102af0000 rw- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/stringio.bundle
| 102b00000-102b10000 rw- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/stringio.bundle
| 102b20000-102b30000 rw- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/stringio.bundle
| 102b40000-102b50000 rw- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/stringio.bundle
| 102b60000-102b70000 rw- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/stringio.bundle
| 102b80000-102b90000 rw- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/stringio.bundle
| 102ba0000-102bb0000 rw- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/stringio.bundle
| 102bc0000-102bd0000 rw- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/stringio.bundle
| 102be0000-102bf0000 rw- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/stringio.bundle
| 102c00000-102c10000 rw- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/stringio.bundle
| 102c20000-102c30000 rw- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/stringio.bundle
| 102c40000-102c50000 rw- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/stringio.bundle
| 102c60000-102c70000 rw- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/stringio.bundle
| 102c80000-102c90000 rw- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/stringio.bundle
| 102ca0000-102cb0000 rw- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/stringio.bundle
| 102cc0000-102cd0000 rw- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/stringio.bundle
| 102cf0000-102d00000 rw- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/stringio.bundle
| 102d10000-102d20000 rw- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/stringio.bundle
| 102d20000-102d28000 r-x /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/stringio.bundle
| 102d28000-102d2c000 r-- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/stringio.bundle
| 102d2c000-102d30000 rw- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/stringio.bundle
| 102d30000-102d34000 r-- /Users/runner/work/ruby/ruby/build/.ext/arm64-darwin23/stringio.bundle
| 102e60000-102ea0000 rw- /opt/homebrew/Cellar/gmp/6.3.0/lib/libgmp.10.dylib
| 102ea0000-102ea4000 --- /opt/homebrew/Cellar/gmp/6.3.0/lib/libgmp.10.dylib
| 102ea4000-102eac000 rw- /opt/homebrew/Cellar/gmp/6.3.0/lib/libgmp.10.dylib
| 102eac000-102eb0000 r-- /opt/homebrew/Cellar/gmp/6.3.0/lib/libgmp.10.dylib
| 102eb0000-102eb4000 r-- /opt/homebrew/Cellar/gmp/6.3.0/lib/libgmp.10.dylib
| 102eb4000-102eb8000 rw- /opt/homebrew/Cellar/gmp/6.3.0/lib/libgmp.10.dylib
| 102eb8000-102ebc000 --- /opt/homebrew/Cellar/gmp/6.3.0/lib/libgmp.10.dylib
| 102ebc000-102ec0000 rw- /opt/homebrew/Cellar/gmp/6.3.0/lib/libgmp.10.dylib
| 102ec0000-102ec4000 --- /opt/homebrew/Cellar/gmp/6.3.0/lib/libgmp.10.dylib
| 102ec4000-102ec8000 --- /opt/homebrew/Cellar/gmp/6.3.0/lib/libgmp.10.dylib
| 102ec8000-102ecc000 rw- /opt/homebrew/Cellar/gmp/6.3.0/lib/libgmp.10.dylib
| 102ecc000-102ed0000 --- /opt/homebrew/Cellar/gmp/6.3.0/lib/libgmp.10.dylib
| 102ed0000-102ed4000 --- /opt/homebrew/Cellar/gmp/6.3.0/lib/libgmp.10.dylib
| 102ed4000-102ed8000 rw- /opt/homebrew/Cellar/gmp/6.3.0/lib/libgmp.10.dylib
| 102ed8000-102edc000 --- /opt/homebrew/Cellar/gmp/6.3.0/lib/libgmp.10.dylib
| 102edc000-102ee0000 r-- /opt/homebrew/Cellar/gmp/6.3.0/lib/libgmp.10.dylib
| 102ee0000-102ee4000 r-- /opt/homebrew/Cellar/gmp/6.3.0/lib/libgmp.10.dylib
| 102ee4000-102ee8000 rw- /opt/homebrew/Cellar/gmp/6.3.0/lib/libgmp.10.dylib
| 102f14000-102f6c000 r-x /opt/homebrew/Cellar/gmp/6.3.0/lib/libgmp.10.dylib
| 102f6c000-102f70000 r-- /opt/homebrew/Cellar/gmp/6.3.0/lib/libgmp.10.dylib
| 102f70000-102f74000 rw- /opt/homebrew/Cellar/gmp/6.3.0/lib/libgmp.10.dylib
| 102f74000-102f84000 r-- /opt/homebrew/Cellar/gmp/6.3.0/lib/libgmp.10.dylib
| 102f84000-104384000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 104384000-10c384000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 10c384000-114384000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 114384000-11c384000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c384000-11c388000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c388000-11c3cc000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c3cc000-11c3d0000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c3d0000-11c414000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c414000-11c418000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c418000-11c45c000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c45c000-11c460000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c460000-11c4a4000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c4a4000-11c4a8000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c4a8000-11c4ec000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c4ec000-11c4f0000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c4f0000-11c534000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c534000-11c538000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c538000-11c57c000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c57c000-11c580000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c580000-11c5c4000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c5c4000-11c5c8000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c5c8000-11c60c000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c60c000-11c610000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c610000-11c654000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c654000-11c658000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c658000-11c69c000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c69c000-11c6a0000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c6a0000-11c6e4000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c6e4000-11c6e8000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c6e8000-11c72c000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c72c000-11c730000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c730000-11c774000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c774000-11c778000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c778000-11c7bc000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c7bc000-11c7c0000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c7c0000-11c804000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c804000-11c808000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c808000-11c84c000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c84c000-11c850000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c850000-11c894000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c894000-11c898000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c898000-11c8dc000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c8dc000-11c8e0000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c8e0000-11c924000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c924000-11c928000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c928000-11c96c000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c96c000-11c970000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c970000-11c9b4000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c9b4000-11c9b8000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c9b8000-11c9fc000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11c9fc000-11ca00000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11ca00000-11ca44000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11ca44000-11ca48000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11ca48000-11ca8c000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11ca8c000-11ca90000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11ca90000-11cad4000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11cad4000-11cad8000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11cad8000-11cb1c000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11cb1c000-11cb20000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11cb20000-11cb64000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11cb64000-11cb68000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11cb68000-11cbac000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11cbac000-11cbb0000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11cbb0000-11cbf4000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11cbf4000-11cbf8000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11cbf8000-11cc3c000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11cc3c000-11cc40000 --- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11cc40000-11cc84000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11cd00000-11ce00000 rw- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 11ce00000-11f380000 r-- /Users/runner/work/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
| 120000000-128000000 rw-
| 128000000-130000000 rw-
| 130000000-130800000 rw-
| 137e00000-137f00000 rw-
| 137f00000-138000000 rw-
| 138000000-138800000 rw-
| 138800000-139000000 rw-
| 140000000-148000000 rw-
| 169c70000-169c74000 ---
| 169c74000-16dc70000 rw-
| 16dc70000-16dc74000 ---
| 16dc74000-16dcfc000 rw-
| 180000000-1f6000000 r--
| 1f6000000-1f6dac000 r--
| 1f6dac000-1f7e5c000 rw-
| 1f7e5c000-1fcf98000 rw-
| 1fcf98000-2027dc000 r--
| 2027dc000-204000000 r--
| 204000000-266000000 r--
| 266000000-266db8000 r--
| 266db8000-268000000 rw-
| 268000000-26829c000 r--
| 26829c000-26c04c000 rw-
| 26c04c000-26e1f0000 r--
| 26e1f0000-270000000 r--
| 270000000-300000000 r--
| fc0000000-1000000000 ---
| 1000000000-7000000000 ---
| 600000000000-600020000000 rw-
| [IMPORTANT]
| Don't forget to include the Crash Report log file under
| DiagnosticReports directory in bug reports.
| 
| -:3: [BUG] Aborted at 0x00000001903f65d0
| ruby 4.0.0dev (2025-12-19T15:56:51Z pull/15656/merge 9cd30e6338) +PRISM [arm64-darwin23]
| 
| -- Crash Report log information --------------------------------------------
|    See Crash Report log file in one of the following locations:
|      * ~/Library/Logs/DiagnosticReports
|      * /Library/Logs/DiagnosticReports
|    for more details.
| Don't forget to include the above Crash Report log file in bug reports.
| 
| Crashed while printing bug report
| [IMPORTANT]
| Don't forget to include the Crash Report log file under
| DiagnosticReports directory in bug reports.
| 


[-> View Test suite health in main branch]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant