[ruby-core:123261] [Ruby Bug#21607] require 'concurrent-ruby' causes segfault with Ruby 3.4.6 on linux/i686

Issue #21607 has been reported by satadru (Satadru Pramanik). ---------------------------------------- Bug #21607: require 'concurrent-ruby' causes segfault with Ruby 3.4.6 on linux/i686 https://bugs.ruby-lang.org/issues/21607 * Author: satadru (Satadru Pramanik) * Status: Open * ruby -v: ruby 3.4.6 (2025-09-16 revision dbd83256b1) +PRISM [i686-linux] * Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN ---------------------------------------- As mentioned at https://github.com/ruby/ruby/pull/14532#issuecomment-3288983469 chronos@buppie-i686:2.23 M58 /usr/local/lib/crew/packages (master >|SPARSE)$ ruby -e "require 'concurrent-ruby' ; puts 'success'" Segmentation fault This causes a segfault on i686 only on our Chromebrew/i686 systems. armv7l and x86_64 do not have this issue. This may be linked to the update to prism 1.5.x? Docker reproducer on our i686 ChromeOS Milestone 58 based container image: docker run --init --platform linux/386 --rm --net=host -v $(pwd):/output -h $(hostname)-i686 --tmpfs /tmp --ulimit "nofile=$(ulimit -Sn):$(ulimit -Hn)" -it satmandu/crewbuild:alex-i686.m58 # Note the lack of an issue with 3.4.5 with this command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # In that container, upgrade ruby to 3.4.6: CREW_REPO=https://github.com/chromebrew/chromebrew.git CREW_BRANCH=updater-ruby_3.4.6 crew update \ && yes | crew upgrade # Then run the breaking command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # Note the segfault. -- https://bugs.ruby-lang.org/

Issue #21607 has been updated by satadru (Satadru Pramanik). Our downstream PR/Issue is here: https://github.com/chromebrew/chromebrew/pull/12806 ---------------------------------------- Bug #21607: require 'concurrent-ruby' causes segfault with Ruby 3.4.6 on linux/i686 https://bugs.ruby-lang.org/issues/21607#change-114627 * Author: satadru (Satadru Pramanik) * Status: Open * ruby -v: ruby 3.4.6 (2025-09-16 revision dbd83256b1) +PRISM [i686-linux] * Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN ---------------------------------------- As mentioned at https://github.com/ruby/ruby/pull/14532#issuecomment-3288983469 chronos@buppie-i686:2.23 M58 /usr/local/lib/crew/packages (master >|SPARSE)$ ruby -e "require 'concurrent-ruby' ; puts 'success'" Segmentation fault This causes a segfault on i686 only on our Chromebrew/i686 systems. armv7l and x86_64 do not have this issue. This may be linked to the update to prism 1.5.x? Docker reproducer on our i686 ChromeOS Milestone 58 based container image: docker run --init --platform linux/386 --rm --net=host -v $(pwd):/output -h $(hostname)-i686 --tmpfs /tmp --ulimit "nofile=$(ulimit -Sn):$(ulimit -Hn)" -it satmandu/crewbuild:alex-i686.m58 # Note the lack of an issue with 3.4.5 with this command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # In that container, upgrade ruby to 3.4.6: CREW_REPO=https://github.com/chromebrew/chromebrew.git CREW_BRANCH=updater-ruby_3.4.6 crew update \ && yes | crew upgrade # Then run the breaking command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # Note the segfault. -- https://bugs.ruby-lang.org/

Issue #21607 has been updated by satadru (Satadru Pramanik). File i686-ruby-github-action-build-job-log.txt added Our build run for this build, including make check is here: https://github.com/chromebrew/chromebrew/actions/runs/17767133141/job/504932... I have attached this log with extraneous information edited out. ---------------------------------------- Bug #21607: require 'concurrent-ruby' causes segfault with Ruby 3.4.6 on linux/i686 https://bugs.ruby-lang.org/issues/21607#change-114628 * Author: satadru (Satadru Pramanik) * Status: Open * ruby -v: ruby 3.4.6 (2025-09-16 revision dbd83256b1) +PRISM [i686-linux] * Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN ---------------------------------------- As mentioned at https://github.com/ruby/ruby/pull/14532#issuecomment-3288983469 chronos@buppie-i686:2.23 M58 /usr/local/lib/crew/packages (master >|SPARSE)$ ruby -e "require 'concurrent-ruby' ; puts 'success'" Segmentation fault This causes a segfault on i686 only on our Chromebrew/i686 systems. armv7l and x86_64 do not have this issue. This may be linked to the update to prism 1.5.x? Docker reproducer on our i686 ChromeOS Milestone 58 based container image: docker run --init --platform linux/386 --rm --net=host -v $(pwd):/output -h $(hostname)-i686 --tmpfs /tmp --ulimit "nofile=$(ulimit -Sn):$(ulimit -Hn)" -it satmandu/crewbuild:alex-i686.m58 # Note the lack of an issue with 3.4.5 with this command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # In that container, upgrade ruby to 3.4.6: CREW_REPO=https://github.com/chromebrew/chromebrew.git CREW_BRANCH=updater-ruby_3.4.6 crew update \ && yes | crew upgrade # Then run the breaking command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # Note the segfault. ---Files-------------------------------- i686-ruby-github-action-build-job-log.txt (298 KB) -- https://bugs.ruby-lang.org/

Issue #21607 has been updated by k0kubun (Takashi Kokubun). Assignee set to prism Backport changed from 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN to 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: REQUIRED ---------------------------------------- Bug #21607: require 'concurrent-ruby' causes segfault with Ruby 3.4.6 on linux/i686 https://bugs.ruby-lang.org/issues/21607#change-114629 * Author: satadru (Satadru Pramanik) * Status: Open * Assignee: prism * ruby -v: ruby 3.4.6 (2025-09-16 revision dbd83256b1) +PRISM [i686-linux] * Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: REQUIRED ---------------------------------------- As mentioned at https://github.com/ruby/ruby/pull/14532#issuecomment-3288983469 chronos@buppie-i686:2.23 M58 /usr/local/lib/crew/packages (master >|SPARSE)$ ruby -e "require 'concurrent-ruby' ; puts 'success'" Segmentation fault This causes a segfault on i686 only on our Chromebrew/i686 systems. armv7l and x86_64 do not have this issue. This may be linked to the update to prism 1.5.x? Docker reproducer on our i686 ChromeOS Milestone 58 based container image: docker run --init --platform linux/386 --rm --net=host -v $(pwd):/output -h $(hostname)-i686 --tmpfs /tmp --ulimit "nofile=$(ulimit -Sn):$(ulimit -Hn)" -it satmandu/crewbuild:alex-i686.m58 # Note the lack of an issue with 3.4.5 with this command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # In that container, upgrade ruby to 3.4.6: CREW_REPO=https://github.com/chromebrew/chromebrew.git CREW_BRANCH=updater-ruby_3.4.6 crew update \ && yes | crew upgrade # Then run the breaking command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # Note the segfault. ---Files-------------------------------- i686-ruby-github-action-build-job-log.txt (298 KB) -- https://bugs.ruby-lang.org/

Issue #21607 has been updated by luke-gru (Luke Gruber). Assignee changed from prism to ractor There appear to be issues with Ractors. I'm going to reassign this to the ractor team. ---------------------------------------- Bug #21607: require 'concurrent-ruby' causes segfault with Ruby 3.4.6 on linux/i686 https://bugs.ruby-lang.org/issues/21607#change-114630 * Author: satadru (Satadru Pramanik) * Status: Open * Assignee: ractor * ruby -v: ruby 3.4.6 (2025-09-16 revision dbd83256b1) +PRISM [i686-linux] * Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: REQUIRED ---------------------------------------- As mentioned at https://github.com/ruby/ruby/pull/14532#issuecomment-3288983469 chronos@buppie-i686:2.23 M58 /usr/local/lib/crew/packages (master >|SPARSE)$ ruby -e "require 'concurrent-ruby' ; puts 'success'" Segmentation fault This causes a segfault on i686 only on our Chromebrew/i686 systems. armv7l and x86_64 do not have this issue. This may be linked to the update to prism 1.5.x? Docker reproducer on our i686 ChromeOS Milestone 58 based container image: docker run --init --platform linux/386 --rm --net=host -v $(pwd):/output -h $(hostname)-i686 --tmpfs /tmp --ulimit "nofile=$(ulimit -Sn):$(ulimit -Hn)" -it satmandu/crewbuild:alex-i686.m58 # Note the lack of an issue with 3.4.5 with this command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # In that container, upgrade ruby to 3.4.6: CREW_REPO=https://github.com/chromebrew/chromebrew.git CREW_BRANCH=updater-ruby_3.4.6 crew update \ && yes | crew upgrade # Then run the breaking command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # Note the segfault. ---Files-------------------------------- i686-ruby-github-action-build-job-log.txt (298 KB) -- https://bugs.ruby-lang.org/

Issue #21607 has been updated by kddnewton (Kevin Newton). Thanks @luke-gru I was struggling to figure out what that had to do with prism at all, seeing as all the failures were ractor related. ---------------------------------------- Bug #21607: require 'concurrent-ruby' causes segfault with Ruby 3.4.6 on linux/i686 https://bugs.ruby-lang.org/issues/21607#change-114631 * Author: satadru (Satadru Pramanik) * Status: Open * Assignee: ractor * ruby -v: ruby 3.4.6 (2025-09-16 revision dbd83256b1) +PRISM [i686-linux] * Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: REQUIRED ---------------------------------------- As mentioned at https://github.com/ruby/ruby/pull/14532#issuecomment-3288983469 chronos@buppie-i686:2.23 M58 /usr/local/lib/crew/packages (master >|SPARSE)$ ruby -e "require 'concurrent-ruby' ; puts 'success'" Segmentation fault This causes a segfault on i686 only on our Chromebrew/i686 systems. armv7l and x86_64 do not have this issue. This may be linked to the update to prism 1.5.x? Docker reproducer on our i686 ChromeOS Milestone 58 based container image: docker run --init --platform linux/386 --rm --net=host -v $(pwd):/output -h $(hostname)-i686 --tmpfs /tmp --ulimit "nofile=$(ulimit -Sn):$(ulimit -Hn)" -it satmandu/crewbuild:alex-i686.m58 # Note the lack of an issue with 3.4.5 with this command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # In that container, upgrade ruby to 3.4.6: CREW_REPO=https://github.com/chromebrew/chromebrew.git CREW_BRANCH=updater-ruby_3.4.6 crew update \ && yes | crew upgrade # Then run the breaking command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # Note the segfault. ---Files-------------------------------- i686-ruby-github-action-build-job-log.txt (298 KB) -- https://bugs.ruby-lang.org/

Issue #21607 has been updated by luke-gru (Luke Gruber). @kddnewton I'm not sure it is related to ractors because maybe those tests always failed on this platform. I'm also seeing compile warnings like: ``` 2025-09-16T13:34:45.1561568Z In function ‘iseq_set_local_table’, 2025-09-16T13:34:45.1562672Z inlined from ‘rb_iseq_compile_node’ at compile.c:875:9: 2025-09-16T13:34:45.1586403Z compile.c:2185:25: warning: argument 1 value ‘4294967293’ exceeds maximum object size 2147483647 [-Walloc-size-larger-than=] 2025-09-16T13:34:45.1587570Z 2185 | ID *ids = (ID *)ALLOC_N(ID, size); ``` No ractor-related changes have made it into the 3.4.6 release AFAIK. ---------------------------------------- Bug #21607: require 'concurrent-ruby' causes segfault with Ruby 3.4.6 on linux/i686 https://bugs.ruby-lang.org/issues/21607#change-114632 * Author: satadru (Satadru Pramanik) * Status: Open * Assignee: ractor * ruby -v: ruby 3.4.6 (2025-09-16 revision dbd83256b1) +PRISM [i686-linux] * Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: REQUIRED ---------------------------------------- As mentioned at https://github.com/ruby/ruby/pull/14532#issuecomment-3288983469 chronos@buppie-i686:2.23 M58 /usr/local/lib/crew/packages (master >|SPARSE)$ ruby -e "require 'concurrent-ruby' ; puts 'success'" Segmentation fault This causes a segfault on i686 only on our Chromebrew/i686 systems. armv7l and x86_64 do not have this issue. This may be linked to the update to prism 1.5.x? Docker reproducer on our i686 ChromeOS Milestone 58 based container image: docker run --init --platform linux/386 --rm --net=host -v $(pwd):/output -h $(hostname)-i686 --tmpfs /tmp --ulimit "nofile=$(ulimit -Sn):$(ulimit -Hn)" -it satmandu/crewbuild:alex-i686.m58 # Note the lack of an issue with 3.4.5 with this command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # In that container, upgrade ruby to 3.4.6: CREW_REPO=https://github.com/chromebrew/chromebrew.git CREW_BRANCH=updater-ruby_3.4.6 crew update \ && yes | crew upgrade # Then run the breaking command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # Note the segfault. ---Files-------------------------------- i686-ruby-github-action-build-job-log.txt (298 KB) -- https://bugs.ruby-lang.org/

Issue #21607 has been updated by satadru (Satadru Pramanik). Hello all, a build from earlier this summer's 3.4 branch using the current bundled gems also gave the same error when I built that two days ago. The only other difference might be that we are using GCC 15 now. But I'd also note that this builds fine and appears to work without issue on 32-bit armv7l as well as on x86_64, and those builds use GCC 15 too. ---------------------------------------- Bug #21607: require 'concurrent-ruby' causes segfault with Ruby 3.4.6 on linux/i686 https://bugs.ruby-lang.org/issues/21607#change-114633 * Author: satadru (Satadru Pramanik) * Status: Open * Assignee: ractor * ruby -v: ruby 3.4.6 (2025-09-16 revision dbd83256b1) +PRISM [i686-linux] * Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: REQUIRED ---------------------------------------- As mentioned at https://github.com/ruby/ruby/pull/14532#issuecomment-3288983469 chronos@buppie-i686:2.23 M58 /usr/local/lib/crew/packages (master >|SPARSE)$ ruby -e "require 'concurrent-ruby' ; puts 'success'" Segmentation fault This causes a segfault on i686 only on our Chromebrew/i686 systems. armv7l and x86_64 do not have this issue. This may be linked to the update to prism 1.5.x? Docker reproducer on our i686 ChromeOS Milestone 58 based container image: docker run --init --platform linux/386 --rm --net=host -v $(pwd):/output -h $(hostname)-i686 --tmpfs /tmp --ulimit "nofile=$(ulimit -Sn):$(ulimit -Hn)" -it satmandu/crewbuild:alex-i686.m58 # Note the lack of an issue with 3.4.5 with this command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # In that container, upgrade ruby to 3.4.6: CREW_REPO=https://github.com/chromebrew/chromebrew.git CREW_BRANCH=updater-ruby_3.4.6 crew update \ && yes | crew upgrade # Then run the breaking command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # Note the segfault. ---Files-------------------------------- i686-ruby-github-action-build-job-log.txt (298 KB) -- https://bugs.ruby-lang.org/

Issue #21607 has been updated by luke-gru (Luke Gruber). It would help us a lot if you could get the output from the crashing process. It should report a backtrace to `stderr` after the segfault right before the process ends. ---------------------------------------- Bug #21607: require 'concurrent-ruby' causes segfault with Ruby 3.4.6 on linux/i686 https://bugs.ruby-lang.org/issues/21607#change-114634 * Author: satadru (Satadru Pramanik) * Status: Open * Assignee: ractor * ruby -v: ruby 3.4.6 (2025-09-16 revision dbd83256b1) +PRISM [i686-linux] * Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: REQUIRED ---------------------------------------- As mentioned at https://github.com/ruby/ruby/pull/14532#issuecomment-3288983469 chronos@buppie-i686:2.23 M58 /usr/local/lib/crew/packages (master >|SPARSE)$ ruby -e "require 'concurrent-ruby' ; puts 'success'" Segmentation fault This causes a segfault on i686 only on our Chromebrew/i686 systems. armv7l and x86_64 do not have this issue. This may be linked to the update to prism 1.5.x? Docker reproducer on our i686 ChromeOS Milestone 58 based container image: docker run --init --platform linux/386 --rm --net=host -v $(pwd):/output -h $(hostname)-i686 --tmpfs /tmp --ulimit "nofile=$(ulimit -Sn):$(ulimit -Hn)" -it satmandu/crewbuild:alex-i686.m58 # Note the lack of an issue with 3.4.5 with this command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # In that container, upgrade ruby to 3.4.6: CREW_REPO=https://github.com/chromebrew/chromebrew.git CREW_BRANCH=updater-ruby_3.4.6 crew update \ && yes | crew upgrade # Then run the breaking command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # Note the segfault. ---Files-------------------------------- i686-ruby-github-action-build-job-log.txt (298 KB) -- https://bugs.ruby-lang.org/

Issue #21607 has been updated by satadru (Satadru Pramanik). It doesn't appear to get to a back race: ``` chronos@buppie-i686:2.23 M58 /usr/local/lib/crew/packages (master <>|SPARSE)$ irb irb(main):001> require 'concurrent-ruby' Segmentation fault (core dumped) irb chronos@buppie-i686:2.23 M58 /usr/local/lib/crew/packages (master <>|SPARSE)$ ruby -e "require 'concurrent-ruby' ; puts 'success'" Segmentation fault (core dumped) ruby -e "require 'concurrent-ruby' ; puts 'success'" ``` ---------------------------------------- Bug #21607: require 'concurrent-ruby' causes segfault with Ruby 3.4.6 on linux/i686 https://bugs.ruby-lang.org/issues/21607#change-114635 * Author: satadru (Satadru Pramanik) * Status: Open * Assignee: ractor * ruby -v: ruby 3.4.6 (2025-09-16 revision dbd83256b1) +PRISM [i686-linux] * Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: REQUIRED ---------------------------------------- As mentioned at https://github.com/ruby/ruby/pull/14532#issuecomment-3288983469 chronos@buppie-i686:2.23 M58 /usr/local/lib/crew/packages (master >|SPARSE)$ ruby -e "require 'concurrent-ruby' ; puts 'success'" Segmentation fault This causes a segfault on i686 only on our Chromebrew/i686 systems. armv7l and x86_64 do not have this issue. This may be linked to the update to prism 1.5.x? Docker reproducer on our i686 ChromeOS Milestone 58 based container image: docker run --init --platform linux/386 --rm --net=host -v $(pwd):/output -h $(hostname)-i686 --tmpfs /tmp --ulimit "nofile=$(ulimit -Sn):$(ulimit -Hn)" -it satmandu/crewbuild:alex-i686.m58 # Note the lack of an issue with 3.4.5 with this command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # In that container, upgrade ruby to 3.4.6: CREW_REPO=https://github.com/chromebrew/chromebrew.git CREW_BRANCH=updater-ruby_3.4.6 crew update \ && yes | crew upgrade # Then run the breaking command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # Note the segfault. ---Files-------------------------------- i686-ruby-github-action-build-job-log.txt (298 KB) -- https://bugs.ruby-lang.org/

Issue #21607 has been updated by Earlopain (Earlopain _). It does not seem to be related to prism (or ruby at all?): ```sh $ ruby -e "Fiber.new {}.resume" Segmentation fault (core dumped) ruby -e "Fiber.new {}.resume" $ ruby --disable-gems -e "Fiber.new {}.resume" Inconsistency detected by ld.so: dl-runtime.c: 79: _dl_fixup: Assertion `ELFW(R_TYPE)(reloc->r_info) == ELF_MACHINE_JMP_SLOT' failed! ``` There is no further output, that's all you get. Does look like something that might happen with a compiler upgrade. ---------------------------------------- Bug #21607: require 'concurrent-ruby' causes segfault with Ruby 3.4.6 on linux/i686 https://bugs.ruby-lang.org/issues/21607#change-114636 * Author: satadru (Satadru Pramanik) * Status: Open * Assignee: ractor * ruby -v: ruby 3.4.6 (2025-09-16 revision dbd83256b1) +PRISM [i686-linux] * Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: REQUIRED ---------------------------------------- As mentioned at https://github.com/ruby/ruby/pull/14532#issuecomment-3288983469 chronos@buppie-i686:2.23 M58 /usr/local/lib/crew/packages (master >|SPARSE)$ ruby -e "require 'concurrent-ruby' ; puts 'success'" Segmentation fault This causes a segfault on i686 only on our Chromebrew/i686 systems. armv7l and x86_64 do not have this issue. This may be linked to the update to prism 1.5.x? Docker reproducer on our i686 ChromeOS Milestone 58 based container image: docker run --init --platform linux/386 --rm --net=host -v $(pwd):/output -h $(hostname)-i686 --tmpfs /tmp --ulimit "nofile=$(ulimit -Sn):$(ulimit -Hn)" -it satmandu/crewbuild:alex-i686.m58 # Note the lack of an issue with 3.4.5 with this command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # In that container, upgrade ruby to 3.4.6: CREW_REPO=https://github.com/chromebrew/chromebrew.git CREW_BRANCH=updater-ruby_3.4.6 crew update \ && yes | crew upgrade # Then run the breaking command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # Note the segfault. ---Files-------------------------------- i686-ruby-github-action-build-job-log.txt (298 KB) -- https://bugs.ruby-lang.org/

Issue #21607 has been updated by satadru (Satadru Pramanik). Hmm. Ok, I will try rebuilding with GCC 14, in case this is possibly a regression in GCC. ---------------------------------------- Bug #21607: require 'concurrent-ruby' causes segfault with Ruby 3.4.6 on linux/i686 https://bugs.ruby-lang.org/issues/21607#change-114637 * Author: satadru (Satadru Pramanik) * Status: Open * Assignee: ractor * ruby -v: ruby 3.4.6 (2025-09-16 revision dbd83256b1) +PRISM [i686-linux] * Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: REQUIRED ---------------------------------------- As mentioned at https://github.com/ruby/ruby/pull/14532#issuecomment-3288983469 chronos@buppie-i686:2.23 M58 /usr/local/lib/crew/packages (master >|SPARSE)$ ruby -e "require 'concurrent-ruby' ; puts 'success'" Segmentation fault This causes a segfault on i686 only on our Chromebrew/i686 systems. armv7l and x86_64 do not have this issue. This may be linked to the update to prism 1.5.x? Docker reproducer on our i686 ChromeOS Milestone 58 based container image: docker run --init --platform linux/386 --rm --net=host -v $(pwd):/output -h $(hostname)-i686 --tmpfs /tmp --ulimit "nofile=$(ulimit -Sn):$(ulimit -Hn)" -it satmandu/crewbuild:alex-i686.m58 # Note the lack of an issue with 3.4.5 with this command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # In that container, upgrade ruby to 3.4.6: CREW_REPO=https://github.com/chromebrew/chromebrew.git CREW_BRANCH=updater-ruby_3.4.6 crew update \ && yes | crew upgrade # Then run the breaking command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # Note the segfault. ---Files-------------------------------- i686-ruby-github-action-build-job-log.txt (298 KB) -- https://bugs.ruby-lang.org/

Issue #21607 has been updated by satadru (Satadru Pramanik). I can confirm that building with GCC 14 resolves the issue. So this seems like a problem with building ruby for i686 with GCC 15. ---------------------------------------- Bug #21607: require 'concurrent-ruby' causes segfault with Ruby 3.4.6 on linux/i686 https://bugs.ruby-lang.org/issues/21607#change-114643 * Author: satadru (Satadru Pramanik) * Status: Open * Assignee: ractor * ruby -v: ruby 3.4.6 (2025-09-16 revision dbd83256b1) +PRISM [i686-linux] * Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: REQUIRED ---------------------------------------- As mentioned at https://github.com/ruby/ruby/pull/14532#issuecomment-3288983469 chronos@buppie-i686:2.23 M58 /usr/local/lib/crew/packages (master >|SPARSE)$ ruby -e "require 'concurrent-ruby' ; puts 'success'" Segmentation fault This causes a segfault on i686 only on our Chromebrew/i686 systems. armv7l and x86_64 do not have this issue. This may be linked to the update to prism 1.5.x? Docker reproducer on our i686 ChromeOS Milestone 58 based container image: docker run --init --platform linux/386 --rm --net=host -v $(pwd):/output -h $(hostname)-i686 --tmpfs /tmp --ulimit "nofile=$(ulimit -Sn):$(ulimit -Hn)" -it satmandu/crewbuild:alex-i686.m58 # Note the lack of an issue with 3.4.5 with this command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # In that container, upgrade ruby to 3.4.6: CREW_REPO=https://github.com/chromebrew/chromebrew.git CREW_BRANCH=updater-ruby_3.4.6 crew update \ && yes | crew upgrade # Then run the breaking command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # Note the segfault. ---Files-------------------------------- i686-ruby-github-action-build-job-log.txt (298 KB) -- https://bugs.ruby-lang.org/

Issue #21607 has been updated by Eregon (Benoit Daloze). FWIW concurrent-ruby creates and resumes a Fiber while loading, this has found several issues like https://bugs.ruby-lang.org/issues/20085 (https://github.com/ruby-concurrency/concurrent-ruby/issues/1020) and this one. ---------------------------------------- Bug #21607: require 'concurrent-ruby' causes segfault with Ruby 3.4.6 on linux/i686 built with GCC 15 https://bugs.ruby-lang.org/issues/21607#change-114658 * Author: satadru (Satadru Pramanik) * Status: Open * Assignee: ractor * ruby -v: ruby 3.4.6 (2025-09-16 revision dbd83256b1) +PRISM [i686-linux] * Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: REQUIRED ---------------------------------------- As mentioned at https://github.com/ruby/ruby/pull/14532#issuecomment-3288983469 chronos@buppie-i686:2.23 M58 /usr/local/lib/crew/packages (master >|SPARSE)$ ruby -e "require 'concurrent-ruby' ; puts 'success'" Segmentation fault This causes a segfault on i686 only on our Chromebrew/i686 systems. armv7l and x86_64 do not have this issue. This may be linked to the update to prism 1.5.x? Docker reproducer on our i686 ChromeOS Milestone 58 based container image: docker run --init --platform linux/386 --rm --net=host -v $(pwd):/output -h $(hostname)-i686 --tmpfs /tmp --ulimit "nofile=$(ulimit -Sn):$(ulimit -Hn)" -it satmandu/crewbuild:alex-i686.m58 # Note the lack of an issue with 3.4.5 with this command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # In that container, upgrade ruby to 3.4.6: CREW_REPO=https://github.com/chromebrew/chromebrew.git CREW_BRANCH=updater-ruby_3.4.6 crew update \ && yes | crew upgrade # Then run the breaking command: ruby -e "require 'concurrent-ruby' ; puts 'success'" # Note the segfault. ---Files-------------------------------- i686-ruby-github-action-build-job-log.txt (298 KB) -- https://bugs.ruby-lang.org/
participants (6)
-
Earlopain (Earlopain _)
-
Eregon (Benoit Daloze)
-
k0kubun (Takashi Kokubun)
-
kddnewton (Kevin Newton)
-
luke-gru (Luke Gruber)
-
satadru (Satadru Pramanik)