[ruby-core:121382] [Ruby Bug#21180] SEGV while marking `imemo_env->iseq`
From:
"nagachika (Tomoyuki Chikanaga) via ruby-core" <ruby-core@...>
Date:
2025-03-16 11:09:27 UTC
List:
ruby-core #121382
Issue #21180 has been updated by nagachika (Tomoyuki Chikanaga).
Backport changed from 3.1: DONTNEED, 3.2: DONE, 3.3: REQUIRED, 3.4: REQUIRED to 3.1: DONTNEED, 3.2: DONE, 3.3: DONE, 3.4: REQUIRED
ruby_3_3 commit:2b2ab1a67c236eb0c47e63e8adcf877b0d20a38c merged revision(s) commit:08b3a45bc97c835b4677bf76dbce68fd51d81897.
----------------------------------------
Bug #21180: SEGV while marking `imemo_env->iseq`
https://bugs.ruby-lang.org/issues/21180#change-112353
* Author: alanwu (Alan Wu)
* Status: Closed
* Backport: 3.1: DONTNEED, 3.2: DONE, 3.3: DONE, 3.4: REQUIRED
----------------------------------------
This issue happens most realistically for people using a fiber scheduler (through e.g. the *async* gem), on Ruby 3.4.x and on Linux, but the following crashes for me for 3.2 and newer on macOS:
```
$ tail -n +1 test.rb ret1.rb
==> test.rb <==
require 'continuation'
module Warning
def self.warn(message)
GC.stress = true
callcc
end
end
require_relative 'ret1'
==> ret1.rb <==
return 1
```
Keywords for people searching: `rb_imemo_mark_and_move`, `Note that the Fiber scheduler is enabled`.
Working on a fix at https://github.com/ruby/ruby/pull/12898
--
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/