Reproduction:
- Use ruby-3.4.2-1 (test)
- Install gem containing native libraries

```
$ uname -srvmpio
CYGWIN_NT-10.0-22000 3.5.7-1.x86_64 2025-01-29 19:46 UTC x86_64
unknown unknown Cygwin
$ ruby -v
ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +PRISM [x86_64-cygwin]
$ gem -v
3.5.11
$ cd /tmp
$ git clone https://cygwin.com/git/cygwin-packages/ruby-debug_inspector
# Any gem that contains native libraries
$ cd ruby-debug_inspector
$ cygport ruby-debug_inspector.cygport fetch prep compile # preparation
$ cygport ruby-debug_inspector.cygport install
:
```

The process spawned inside `gem install` seems to raise SIGSEGV
internally and exits.

```
$ gdb /usr/bin/ruby
:
(gdb) run /usr/bin/gem install -V --local --ignore-dependencies
--document=rdoc,ri --build-root
/tmp/ruby-debug_inspector/ruby-debug_inspector-1.1.0-1.x86_64/inst
--install-dir /usr/share/gems --bindir /usr/bin
debug_inspector-1.1.0.gem #
https://github.com/cygwin/cygport/blob/0.36.9/cygclass/rubygem.cygclass#L134
:
:
Building native extensions. This could take a while...
current directory:
/tmp/ruby-debug_inspector/ruby-debug_inspector-1.1.0-1.x86_64/inst/usr/share/gems/gems/debug_inspector-1.1.0/ext/debug_inspector
["/usr/bin/ruby.exe", "-I/usr/share/rubygems", "extconf.rb"]
[New Thread 3600.0x23a0]
[New Thread 3600.0x1278]
[New Thread 3600.0x2794]
creating Makefile

Thread 11 "ruby" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 3600.0x1278]
0x0000000000000000 in ?? ()

(gdb) info threads
Id Target Id Frame
1 Thread 3600.0x2430 "ruby" st_locale_insensitive_strcasecmp_i
(lhs=18210721222, rhs=42950350928)
at /usr/src/debug/ruby-3.4.2-1/st.c:2064
2 Thread 3600.0x13b4 0x00007ff9f50fecd4 in ?? ()
3 Thread 3600.0x18bc 0x00007ff9f50fecd4 in ?? ()
4 Thread 3600.0x8b4 0x00007ff9f50fecd4 in ?? ()
5 Thread 3600.0x1a0c "sig" 0x00007ff9f50f5954 in ?? ()
6 Thread 3600.0x1ac "ruby" 0x00007ff9f50f73e4 in ?? ()
7 Thread 3600.0x1c3c "pipesel" 0x00007ff9f50f73e4 in ?? ()
8 Thread 3600.0x1844 0x00007ff9f50fecd4 in ?? ()
9 Thread 3600.0x2668 0x00007ff9f50fecd4 in ?? ()
10 Thread 3600.0x23a0 "waitproc" 0x00007ff9f50f58b4 in ?? ()
* 11 Thread 3600.0x1278 "ruby" 0x0000000000000000 in ?? ()
12 Thread 3600.0x2794 "pipesel" 0x00007ff9f50f58b4 in ?? ()
```

SIGSEGV seems to occur inside the cygwin DLL.

This problem also occurs with ruby-3.3.2-3 (test).

We have confirmed that it also occurs in cygwin-3.6.

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to