From: "k0kubun (Takashi Kokubun) via ruby-core" Date: 2025-07-14T21:18:31+00:00 Subject: [ruby-core:122759] [Ruby Bug#21370] `it` can cause ISeq serialization failure Issue #21370 has been updated by k0kubun (Takashi Kokubun). Backport changed from 3.2: DONTNEED, 3.3: DONTNEED, 3.4: DONE to 3.2: DONTNEED, 3.3: DONTNEED, 3.4: REQUIRED Reverted the backport at commit:3a06b3d9f51bc4a3eef5fbaa035595ed34d65eba because it failed the CI: ``` TestISeq#test_serialize_anonymous_outer_variables: Test::Unit::AssertionFailedError: <1> expected but was Retrying... 1) Failure: TestISeq#test_serialize_anonymous_outer_variables [/Users/runner/work/ruby/ruby/src/test/ruby/test_iseq.rb:874]: <1> expected but was . ``` ---------------------------------------- Bug #21370: `it` can cause ISeq serialization failure https://bugs.ruby-lang.org/issues/21370#change-114038 * Author: byroot (Jean Boussier) * Status: Closed * Backport: 3.2: DONTNEED, 3.3: DONTNEED, 3.4: REQUIRED ---------------------------------------- Originally reported at: https://github.com/rails/rails/issues/55108 ```ruby iseq = RubyVM::InstructionSequence.compile(<<~'RUBY') [1].each do rescue => e puts it end RUBY iseq.to_binary # CRASH ``` ``` miniruby(sigsegv) (null):0 miniruby(RB_FL_ANY_RAW+0x20) [0x1010ac504] internal/fl_type.h:507 miniruby(rbimpl_rstring_getmem+0x20) [0x101090674] internal/core/rstring.h:393 miniruby(rb_str_cmp+0x4c) [0x10109920c] string.c:4541 miniruby(outer_variable_cmp+0x3c) [0x100e43b64] compile.c:13381 miniruby(cmp_bsd_qsort+0x3c) [0x1010fe810] util.c:239 miniruby(ruby_qsort+0x5c) [0x1010fe7a8] util.c:248 miniruby(ibf_dump_outer_variables+0x150) [0x100e43708] compile.c:13402 miniruby(ibf_dump_iseq_each+0x19c) [0x100e423cc] compile.c:13527 miniruby(ibf_dump_iseq_list_i+0x38) [0x100e420fc] compile.c:13862 miniruby(apply_functor+0x40) [0x10107bad8] st.c:1644 ``` It is crashing while trying to sort outer variables, and `it` is anonymous. -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/