From: "jprokop (Jarek Prokop) via ruby-core" Date: 2026-08-03T07:48:35+00:00 Subject: [ruby-core:126225] [Ruby Bug#19921] TestYJIT#test_bug_19316 test failure Issue #19921 has been updated by jprokop (Jarek Prokop). > but I see that you carry ruby-2.7.0-Initialize-ABRT-hook.patch, which makes the VM use Kernel#require on boot. That might be the source of the interrupt. I have investigated in depth due to another newer test that uses GC.stress in 3.3 from the backport commit https://github.com/ruby/ruby/commit/0cba8cf4 to fix https://bugs.ruby-lang.org/issues/21266 and also fails with the interrupt exit reason. The cause is indeed the ABRT hook patch but mainly script load by parse.y caused by the require. To see the interrupt, reproducing also requires 'abrt.rb' present on $LOAD_PATH in addition to the patch to reproduce. If the script file does not exist the IO will not be opened by parse.y and will not be registered with GC. This is also why this is not reproducing outside of RPM build, we create the abrt.rb in the build dir only there, there is no reason to do that during regular development. Due to the workings of parse.y, on 'require' the parser opens a file via Ruby C methods and registers it with GC to be collected later. Later, once GC.stress is set, there is a trigger for interrupt 0x04 that YJIT test did not expect. With Ruby 3.4 and 4.0 this issue does not happen, since those versions use prism that does not, as far as I can tell, register the IO object with Ruby for parsing. ---------------------------------------- Bug #19921: TestYJIT#test_bug_19316 test failure https://bugs.ruby-lang.org/issues/19921#change-118309 * Author: vo.x (Vit Ondruch) * Status: Closed * Assignee: jit * ruby -v: ruby 3.3.0dev (2023-10-12 master 52709a4862) [x86_64-linux] * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- Testing with 52709a4862 on Fedora Rawhide, I observe following failure: ~~~ 94) Failure: TestYJIT#test_bug_19316 [/builddir/build/BUILD/ruby-3.3.0-52709a4862/test/ruby/test_yjit.rb:1126]: Expected no exits, but got {:opt_and=>1} ~~~ -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/