[ruby-core:113951] [Ruby master Bug#19738] `ObjectSpace.each_object.to_a` crashes in `make runirb`.

Issue #19738 has been reported by ioquatix (Samuel Williams). ---------------------------------------- Bug #19738: `ObjectSpace.each_object.to_a` crashes in `make runirb`. https://bugs.ruby-lang.org/issues/19738 * Author: ioquatix (Samuel Williams) * Status: Open * Priority: Normal * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- ```
make runirb RUBY_ON_BUG='gdb -x ./.gdbinit -p' ./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems -r irb -e 'IRB.start("make runirb")' irb(main):001:0> ObjectSpace.each_object.to_a Assertion Failed: ./vm_method.c:1366:callable_method_entry_or_negative:RB_TYPE_P(klass, T_CLASS) || RB_TYPE_P(klass, T_ICLASS) ruby 3.3.0dev (2023-06-19T19:19:45Z master 9ff4399dec) [arm64-darwin22]
I have no idea why.
---Files--------------------------------
error.txt (12.9 KB)
--
https://bugs.ruby-lang.org/

Issue #19738 has been updated by ioquatix (Samuel Williams). In order to get the assertion failure, you must compile with RUBY_DEBUG=1: ``` ./configure -C --disable-install-doc --prefix=/Users/samuel/.rubies/ruby-head cppflags=-DRUBY_DEBUG=1 ``` ---------------------------------------- Bug #19738: `ObjectSpace.each_object.to_a` crashes in `make runirb`. https://bugs.ruby-lang.org/issues/19738#change-103604 * Author: ioquatix (Samuel Williams) * Status: Open * Priority: Normal * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- ```
make runirb RUBY_ON_BUG='gdb -x ./.gdbinit -p' ./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems -r irb -e 'IRB.start("make runirb")' irb(main):001:0> ObjectSpace.each_object.to_a Assertion Failed: ./vm_method.c:1366:callable_method_entry_or_negative:RB_TYPE_P(klass, T_CLASS) || RB_TYPE_P(klass, T_ICLASS) ruby 3.3.0dev (2023-06-19T19:19:45Z master 9ff4399dec) [arm64-darwin22]
I have no idea why.
---Files--------------------------------
error.txt (12.9 KB)
--
https://bugs.ruby-lang.org/

Issue #19738 has been updated by marcelojr63 (Marcelo Marcinio Pereira Junior). I found a bug in `PP` when call `PP.pp(Thread.current[:__recursive_key__], ''.dup)` and this resolved the problem with `ObjectSpace.each_object.to_a` to me. [Link of PR](https://github.com/ruby/pp/pull/15) ---------------------------------------- Bug #19738: `ObjectSpace.each_object.to_a` crashes in `make runirb`. https://bugs.ruby-lang.org/issues/19738#change-103989 * Author: ioquatix (Samuel Williams) * Status: Open * Priority: Normal * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- ```
make runirb RUBY_ON_BUG='gdb -x ./.gdbinit -p' ./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems -r irb -e 'IRB.start("make runirb")' irb(main):001:0> ObjectSpace.each_object.to_a Assertion Failed: ./vm_method.c:1366:callable_method_entry_or_negative:RB_TYPE_P(klass, T_CLASS) || RB_TYPE_P(klass, T_ICLASS) ruby 3.3.0dev (2023-06-19T19:19:45Z master 9ff4399dec) [arm64-darwin22]
I have no idea why.
---Files--------------------------------
error.txt (12.9 KB)
--
https://bugs.ruby-lang.org/

Issue #19738 has been updated by ioquatix (Samuel Williams). Status changed from Open to Closed I tested Ruby 3.3.0 and it no longer crashes. ``` irb(main):001> ObjectSpace.each_object.to_a An error occurred when inspecting the object: #<TypeError: uninitialized MatchData> Result of Kernel#inspect: #<Array:0x0000000106048980> => ``` However the output does look a little strange. ---------------------------------------- Bug #19738: `ObjectSpace.each_object.to_a` crashes in `make runirb`. https://bugs.ruby-lang.org/issues/19738#change-105862 * Author: ioquatix (Samuel Williams) * Status: Closed * Priority: Normal * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- ```
make runirb RUBY_ON_BUG='gdb -x ./.gdbinit -p' ./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems -r irb -e 'IRB.start("make runirb")' irb(main):001:0> ObjectSpace.each_object.to_a Assertion Failed: ./vm_method.c:1366:callable_method_entry_or_negative:RB_TYPE_P(klass, T_CLASS) || RB_TYPE_P(klass, T_ICLASS) ruby 3.3.0dev (2023-06-19T19:19:45Z master 9ff4399dec) [arm64-darwin22]
I have no idea why.
---Files--------------------------------
error.txt (12.9 KB)
--
https://bugs.ruby-lang.org/
participants (2)
-
ioquatix (Samuel Williams)
-
marcelojr63 (Marcelo Marcinio Pereira Junior)