
Issue #20666 has been updated by ErezGeva2@gmail.com (Erez Geva). I do add the new Ruby to the SWIG project testing. If I would suspect it is a SWIG bug, I would not hesitate and report it there. The same test works with older Ruby: ruby 3.1.6p260 (2024-05-29 revision a777087be6) [x64-mingw-ucrt] See: https://github.com/swig/swig/actions/runs/10263993827/job/28397046211?pr=298... The test generate a wrapper code with SWIG and build it into a shared library. Which the Ruby try to load and should issue a `LoadError` exception. Both tests use the same GCC compiler: GCC MinGW-W64 ucrt64, Rev1, Built by MSYS2 project) 14.2.0 The SWIG generate the same code. So the generated shared library can only differ in Ruby headers! As far as I understand, the only change is using Ruby 3.2.5 on Windows. By the way we also run the same test on Linux, with Ruby: ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-linux] See: https://github.com/swig/swig/actions/runs/10263993829/job/28397064713?pr=298... I do understand it may be difficult to test something like that alone. Yet, I do not have a Windows machine myself. But I can help in: 1. Generate the SWIG code. 2. Provide the commands to build the shared library using GCC MinGW-W64 ucrt64 3. Provide the ruby script 4. Provide the `ruby` command running the test itself. If that helps you to catch the BUG, please tell me and I will upload them here. Erez ---------------------------------------- Bug #20666: Segmentation fault instead of LoadError exception https://bugs.ruby-lang.org/issues/20666#change-109364 * Author: ErezGeva2@gmail.com (Erez Geva) * Status: Feedback * ruby -v: ruby 3.2.5 (2024-07-26 revision 31d0f1a2e7) [x64-mingw-ucrt] * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- Using ruby -v ruby 3.2.5 (2024-07-26 revision 31d0f1a2e7) [x64-mingw-ucrt] From [GitHub windows 2022](https://github.com/actions/runner-images/blob/main/images/windows/Windows202... ) We run the SWIG test: [import_fragments](https://github.com/swig/swig/blob/master/Examples/test-suite/ruby/import_fra...) The test try to load a broken library, which should rise a `LoadError`. begin require 'import_fragments' rescue LoadError => e # due to missing import_fragments_a exception_file = e.respond_to?(:path) ? e.path : e.to_s.sub(/.* -- /, '') end Instead `LoadError` exception we get `Segmentation fault`: <internal:C:/hostedtoolcache/windows/Ruby/3.2.5/x64/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:151: [BUG] Segmentation fault ruby 3.2.5 (2024-07-26 revision 31d0f1a2e7) [x64-mingw-ucrt] -- Control frame information ----------------------------------------------- c:0004 p:0018 s:0028 e:000025 RESCUE <internal:C:/hostedtoolcache/windows/Ruby/3.2.5/x64/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:151 c:0003 p:0275 s:0022 e:000021 METHOD <internal:C:/hostedtoolcache/windows/Ruby/3.2.5/x64/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:40 c:0002 p:0011 s:0007 E:0004e8 EVAL ./import_fragments_runme.rb:13 [FINISH] c:0001 p:0000 s:0003 E:0006e0 DUMMY [FINISH] -- https://bugs.ruby-lang.org/