[ruby-core:121280] [Ruby master Bug#21180] SEGV while marking `imemo_env->iseq`

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/

Issue #21180 has been updated by hsbt (Hiroshi SHIBATA). Backport changed from 3.1: DONTNEED, 3.2: REQUIRED, 3.3: REQUIRED, 3.4: REQUIRED to 3.1: DONTNEED, 3.2: DONE, 3.3: REQUIRED, 3.4: REQUIRED ruby_3_2 commit:e325f5b1636d7eb59a9cc2f35ba6d91d6da4f459 merged revision(s) commit:08b3a45bc97c835b4677bf76dbce68fd51d81897. ---------------------------------------- Bug #21180: SEGV while marking `imemo_env->iseq` https://bugs.ruby-lang.org/issues/21180#change-112282 * Author: alanwu (Alan Wu) * Status: Closed * Backport: 3.1: DONTNEED, 3.2: DONE, 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`. Working on a fix at https://github.com/ruby/ruby/pull/12898 -- https://bugs.ruby-lang.org/

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/
participants (3)
-
alanwu (Alan Wu)
-
hsbt (Hiroshi SHIBATA)
-
nagachika (Tomoyuki Chikanaga)