From: "eviljoel (evil joel)" Date: 2022-03-18T17:42:04+00:00 Subject: [ruby-core:107982] [Ruby master Bug#18650] C Extensions Can Segmentation Fault on Ruby 2.7 Compiled with --with-jemalloc and --enabled-shared Issue #18650 has been reported by eviljoel (evil joel). ---------------------------------------- Bug #18650: C Extensions Can Segmentation Fault on Ruby 2.7 Compiled with --with-jemalloc and --enabled-shared https://bugs.ruby-lang.org/issues/18650 * Author: eviljoel (evil joel) * Status: Open * Priority: Normal * ruby -v: ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-linux] * Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN ---------------------------------------- Greetings, I've encountered a segmentation fault using the EventMachine gem on Ruby 2.7.5 compiled with configuration options --with-jemalloc and --enabled-shared on Ubuntu. This error is actually fixed in Ruby 3.1.0 via this commit: https://github.com/ruby/ruby/commit/737e4432b978eb4b9f5b10fb6cc6d9c883a5d17a and this commit https://github.com/ruby/ruby/commit/82d425515d2c1a14f964fc7a571e272f933bba7a . It has also recently been back ported to 3.0 but has not yet been released. I was wondering if this fix can be back ported to Ruby 2.7? It would be nice to not have a Linux specific condition in our build scripts to work around this issue. (Updating major Ruby versions is a lot of work for our application.) I've attached two Dockerfiles for demonstration: * eventMachineSegmentationFault-ruby275-20220318.Dockerfile - Creates the segmentation fault using Ruby 2.7.5. Run with: docker build -f eventMachineSegmentationFault-ruby275-20220318.Dockerfile . * eventMachineWorkAround-ruby275-20220318.Dockerfile - Shows the issues is fixed by forcing 'ld' to use the --no-as-needed flag with Ruby 2.7.5. Run with: docker build -f eventMachineWorkAround-ruby275-20220318.Dockerfile . I can provide Dockerfiles with minimal C extension code if needed. FYI, related issue for Ruby 3.0 back port: https://bugs.ruby-lang.org/issues/18409 Thanks for your consideration. ---Files-------------------------------- eventMachineSegmentationFault-ruby275-20220318.Dockerfile (951 Bytes) eventMachineWorkAround-ruby275-20220318.Dockerfile (980 Bytes) -- https://bugs.ruby-lang.org/ Unsubscribe: