summaryrefslogtreecommitdiff
path: root/test/ruby/test_encoding.rb
diff options
context:
space:
mode:
authorAlan Wu <XrXr@users.noreply.github.com>2025-10-15 13:53:57 -0400
committerAlan Wu <XrXr@users.noreply.github.com>2025-10-15 16:36:46 -0400
commit4c426e98a89015de0ccbd52f3ceb92aa71d31bb4 (patch)
treebb6a1199bf5c9875116d1cb71940ea8a34a2169d /test/ruby/test_encoding.rb
parentb052d706a53e764786093d6d1cade5a9adebbb7b (diff)
ZJIT: Use rb_gc_disable() over rb_gc_disable_no_rest()
no_rest() trips an assert inside the GC when we allocate with the GC disabled this way: (gc_continue) ../src/gc/default/default.c:2029 (newobj_cache_miss+0x128) [0x105040048] ../src/gc/default/default.c:2370 (rb_gc_impl_new_obj+0x7c) [0x105036374] ../src/gc/default/default.c:2482 (newobj_of) ../src/gc.c:995 (rb_method_entry_alloc+0x40) [0x1051e6c64] ../src/vm_method.c:1102 (rb_method_entry_complement_defined_class) ../src/vm_method.c:1180 (prepare_callable_method_entry+0x14c) [0x1051e87b8] ../src/vm_method.c:1728 (callable_method_entry_or_negative+0x1e8) [0x1051e809c] ../src/vm_method.c:1874 It's tries to continue the GC because it was out of space. Looks like it's not safe to allocate new objects after using rb_gc_disable_no_rest(); existing usages use it for malloc calls.
Diffstat (limited to 'test/ruby/test_encoding.rb')
0 files changed, 0 insertions, 0 deletions