[ruby-core:121280] [Ruby master Bug#21180] SEGV while marking `imemo_env->iseq`
From:
"alanwu (Alan Wu) via ruby-core" <ruby-core@...>
Date:
2025-03-11 03:08:01 UTC
List:
ruby-core #121280
Issue #21180 has been reported by alanwu (Alan Wu).
----------------------------------------
Bug #21180: SEGV while marking `imemo_env->iseq`
https://bugs.ruby-lang.org/issues/21180
* Author: alanwu (Alan Wu)
* Status: Open
* Backport: 3.1: DONTNEED, 3.2: REQUIRED, 3.3: REQUIRED, 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`.
I have a fix for this and will submit a pull request shortly.
--
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/