Created attachment 905344 [details] emerge --info Both the stable version 1.5.1 and the to-be-stable (bug#940984) 1.6.5 fail tests: 32 passed 3 skipped 145 errored out of 180 total (1174 assertions) 🏁 Finished in 284.1ms; 4132.733 assertions per second. 🐇 No slow tests found! Well done! 🔥 Errored assertions: describe IO::Event::Selector::Select it behaves like buffered io with a pipe it can read using a buffer test/io/event/selector/buffered_io.rb:Select:95:19 expect 128 to be == 128 ✓ assertion passed test/io/event/selector/buffered_io.rb:22 expect 64 to be == 64 ✓ assertion passed test/io/event/selector/buffered_io.rb:27 expect 1 to be >= 1 ✓ assertion passed test/io/event/selector/buffered_io.rb:33 ⚠ ArgumentError: wrong number of arguments (given 1, expected 0) [...] I tried doing: $ mkdir -p /etc/portage/patches/dev-ruby/io-event $ curl https://github.com/socketry/io-event/commit/c2ffc28e97a08534e003eaf25abfa35279274263.patch >/etc/portage/patches/dev-ruby/io-event/c2ffc28e97a08534e003eaf25abfa35279274263.patch ... it fixes the issue for both versions. $ git describe --tag c2ffc28e97a08534e003eaf25abfa35279274263 v1.6.5-2-gc2ffc28 so the newer versions are fixed upstream.
Created attachment 905345 [details] emerge --info =dev-ruby/io-event-1.6.5
Created attachment 905346 [details] emerge --info =dev-ruby/io-event-1.5.1
Created attachment 905347 [details] /var/tmp/portage/dev-ruby/io-event-1.6.5/temp/build.log
Created attachment 905348 [details] /var/tmp/portage/dev-ruby/io-event-1.5.1/temp/build.log
With these patches applied I get core dumps on ruby 3.2. Both ruby 3.1 and 3.3 work fine. * Running test phase for ruby32 /var/tmp/portage/dev-ruby/io-event-1.6.5-r1/work/ruby32/io-event-1.6.5/lib/io/event/support.rb:27: warning: IO::Buffer is experimental and both the Ruby and C interface may change in the future! /usr/lib64/ruby/gems/3.2.0/gems/sus-0.31.0/lib/sus/assertions.rb:36: [BUG] Segmentation fault at 0x0000000000000000 ruby 3.2.5 (2024-07-26 revision 31d0f1a2e7) [x86_64-linux] -- Control frame information ----------------------------------------------- c:0005 p:---- s:0031 e:000030 CFUNC :new c:0004 p:0072 s:0027 e:000026 METHOD /usr/lib64/ruby/gems/3.2.0/gems/sus-0.31.0/lib/sus/assertions.rb:36 [FINISH] c:0003 p:---- s:0013 e:000012 CFUNC :new c:0002 p:0022 s:0008 e:000007 BLOCK /usr/lib64/ruby/gems/3.2.0/gems/sus-0.31.0/bin/sus-parallel:52 [FINISH] c:0001 p:---- s:0003 e:000002 DUMMY [FINISH] -- Ruby level backtrace information ---------------------------------------- /usr/lib64/ruby/gems/3.2.0/gems/sus-0.31.0/bin/sus-parallel:52:in `block (2 levels) in <top (required)>' /usr/lib64/ruby/gems/3.2.0/gems/sus-0.31.0/bin/sus-parallel:52:in `new' /usr/lib64/ruby/gems/3.2.0/gems/sus-0.31.0/lib/sus/assertions.rb:36:in `initialize' /usr/lib64/ruby/gems/3.2.0/gems/sus-0.31.0/lib/sus/assertions.rb:36:in `new'
I tested it with ruby 3.2.4-r1, but now I'm also seeing segfaults with ruby 3.2.5, both with and without my PR. The upstream commit https://github.com/socketry/io-event/commit/4279fb513625d0db40c5e7966f8c9ca291a18b86 (v1.6.6~1) mentions regressions in Ruby 3.2.5; applying it fixes the segfault. Although this is a different issue, it could be more important than the tests.
I'll add blocks to bug 940984 given this will end up blocking automated stablereqs. graaff, can you handle https://bugs.gentoo.org/941411#c6 or shall I?
Actually, I'll handle it.