ruby:3.1 fails to build in Fedora 38 <https://mbs.fedoraproject.org/module-build-service/2/module-builds/15060> because ruby component fails tests <https://koji.fedoraproject.org/koji/taskinfo?taskID=91009193>: 1) Time.local timezone changes correctly adjusts the timezone change to 'CEST' on 'Europe/Amsterdam' FAILED Expected [0, 0, 0, 16, 5, 1940, 4, 137, true, "WEST"] == [0, 40, 1, 16, 5, 1940, 4, 137, true, "CEST"] to be truthy but was false /builddir/build/BUILD/ruby-3.1.2/spec/ruby/core/time/shared/local.rb:13:in `block (5 levels) in <top (required)>' /builddir/build/BUILD/ruby-3.1.2/spec/ruby/core/time/shared/local.rb:12:in `block (4 levels) in <top (required)>' /builddir/build/BUILD/ruby-3.1.2/spec/ruby/core/time/local_spec.rb:5:in `<top (required)>' 2) Time.mktime timezone changes correctly adjusts the timezone change to 'CEST' on 'Europe/Amsterdam' FAILED Expected [0, 0, 0, 16, 5, 1940, 4, 137, true, "WEST"] == [0, 40, 1, 16, 5, 1940, 4, 137, true, "CEST"] to be truthy but was false /builddir/build/BUILD/ruby-3.1.2/spec/ruby/core/time/shared/local.rb:13:in `block (5 levels) in <top (required)>' /builddir/build/BUILD/ruby-3.1.2/spec/ruby/core/time/shared/local.rb:12:in `block (4 levels) in <top (required)>' /builddir/build/BUILD/ruby-3.1.2/spec/ruby/core/time/mktime_spec.rb:5:in `<top (required)>' 3) Time.new timezone changes correctly adjusts the timezone change to 'CEST' on 'Europe/Amsterdam' FAILED Expected [0, 0, 0, 16, 5, 1940, 4, 137, true, "WEST"] == [0, 40, 1, 16, 5, 1940, 4, 137, true, "CEST"] to be truthy but was false /builddir/build/BUILD/ruby-3.1.2/spec/ruby/core/time/shared/local.rb:13:in `block (5 levels) in <top (required)>' /builddir/build/BUILD/ruby-3.1.2/spec/ruby/core/time/shared/local.rb:12:in `block (4 levels) in <top (required)>' /builddir/build/BUILD/ruby-3.1.2/spec/ruby/core/time/new_spec.rb:11:in `<top (required)>' Finished in 58.599503 seconds 3817 files, 30898 examples, 173849 expectations, 3 failures, 0 errors, 0 tagged make: *** [uncommon.mk:864: yes-test-spec] Error 1
Thanks for the report. It seems that rpms/ruby rawhide is in FTBFS right now. https://koschei.fedoraproject.org/package/ruby The latest build (91071912 - 2022-08-21 01:28:32) is failing on another failure. But this second latest build is failing with the reported error. I will take a look. 90928467 - 2022-08-17 15:52:28 https://koschei.fedoraproject.org/build/13536138
This is know issue and requires fix upstream
Just note we pushed the commit to rpms/ruby rawhide to pass the failing test on tzdata version 2022b or later. https://src.fedoraproject.org/rpms/ruby/pull-request/129 However we are seeing other failures right now.
> However we are seeing other failures right now. The failures comes from the disabled SHA-1 on Fedora rawhide. But according to the today's discussion on the devel mailing list, the owner of the SHA-1 things will revert the change on rawhide. So, I expect the rawhide build will pass soon. then you can build the Ruby 3.1 module without failures. Re: Ruby FTBFS due to "SHA-1 jump scare" https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/KNNUVKZGRXFKT2XETJZFEVQYL5YPJUR4/
Hi Petr, The maintainer of the crypto-policies RPM reverted the commit that caused the test failures. Now the ruby build should pass with the crypto-policies-20220824-2.git2187e9c.fc38 or later on Fedora rawhide. Here is the scratch build on rawhide right now.: https://koji.fedoraproject.org/koji/taskinfo?taskID=91213225 You can try to build the ruby 3.1 module now. References: https://src.fedoraproject.org/rpms/crypto-policies/c/b039b750cbc43c2ff552e0ab1b98da77c63ce0a4?branch=rawhide https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/P6PHMR5R3S5UASDQHP5KAVVSM6RW3XWW/
Thanks. I retried the build <https://mbs.fedoraproject.org/module-build-service/2/module-builds/15248>. The patched ruby package indeed fixed this timezone test failure. But ruby failed for a different reason on aarch64 and i686 <https://koji.fedoraproject.org/koji/taskinfo?taskID=91245265>: make: *** [uncommon.mk:822: yes-test-all] Aborted (core dumped)
I see. Can you try to build again? It might be random error.
I retried it and it failed similarly on different architectures <https://koji.fedoraproject.org/koji/taskinfo?taskID=91272176>. x86_64 provided a nice stack trace: [13384/21431] TestWeakRef#test_recycled<internal:gc>:239: [BUG] Segmentation fault at 0x0000000000000000 ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-linux] -- Control frame information ----------------------------------------------- c:0030 p:0010 s:0176 e:000171 METHOD <internal:gc>:239 c:0029 p:0020 s:0164 e:000163 BLOCK /builddir/build/BUILD/ruby-3.1.2/test/test_weakref.rb:26 [FINISH] c:0028 p:---- s:0161 e:000160 CFUNC :times c:0027 p:0012 s:0157 e:000156 METHOD /builddir/build/BUILD/ruby-3.1.2/test/test_weakref.rb:24 c:0026 p:0041 s:0151 e:000150 METHOD /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit/testcase.rb:200 c:0025 p:0059 s:0145 e:000144 METHOD /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit/testcase.rb:168 c:0024 p:0089 s:0136 e:000135 BLOCK /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:1528 [FINISH] c:0023 p:---- s:0129 e:000128 CFUNC :map c:0022 p:0117 s:0125 e:000124 METHOD /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:1515 c:0021 p:0042 s:0113 e:000112 METHOD /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:1308 c:0020 p:0010 s:0106 e:000104 BLOCK /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:799 [FINISH] c:0019 p:---- s:0100 e:000099 CFUNC :each c:0018 p:0054 s:0096 E:001f78 METHOD /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:797 c:0017 p:0008 s:0089 E:001ff8 METHOD /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:834 c:0016 p:0153 s:0082 E:000498 METHOD /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:1461 c:0015 p:0016 s:0069 E:000e58 METHOD /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:1245 c:0014 p:0005 s:0064 E:0004c0 METHOD /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:1636 c:0013 p:0006 s:0060 E:002698 BLOCK /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:1623 [FINISH] c:0012 p:---- s:0056 e:000055 CFUNC :each c:0011 p:0042 s:0052 E:0004f8 METHOD /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:1622 c:0010 p:0013 s:0047 E:0026c8 METHOD /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:1664 c:0009 p:0008 s:0042 E:002700 METHOD /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:1019 c:0008 p:0008 s:0036 E:000030 METHOD /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:867 c:0007 p:0017 s:0030 E:000018 METHOD /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:154 c:0006 p:0032 s:0025 E:000040 METHOD /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:1743 c:0005 p:0009 s:0021 E:000078 METHOD /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:1747 c:0004 p:0174 s:0016 E:0000a8 TOP /builddir/build/BUILD/ruby-3.1.2/tool/test/runner.rb:23 [FINISH] c:0003 p:---- s:0011 e:000010 CFUNC :require_relative c:0002 p:0115 s:0006 E:002500 EVAL ./test/runner.rb:14 [FINISH] c:0001 p:0000 s:0003 E:002360 (none) [FINISH] -- Ruby level backtrace information ---------------------------------------- ./test/runner.rb:14:in `<main>' ./test/runner.rb:14:in `require_relative' /builddir/build/BUILD/ruby-3.1.2/tool/test/runner.rb:23:in `<top (required)>' /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:1747:in `run' /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:1743:in `run' /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:154:in `run' /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:867:in `run' /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:1019:in `run' /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:1664:in `run' /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:1622:in `_run' /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:1622:in `each' /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:1623:in `block in _run' /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:1636:in `run_tests' /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:1245:in `_run_anything' /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:1461:in `_run_anything' /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:834:in `_run_suites' /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:797:in `_run_suites' /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:797:in `each' /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:799:in `block in _run_suites' /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:1308:in `_run_suite' /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:1515:in `_run_suite' /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:1515:in `map' /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit.rb:1528:in `block in _run_suite' /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit/testcase.rb:168:in `run' /builddir/build/BUILD/ruby-3.1.2/tool/lib/test/unit/testcase.rb:200:in `run_test' /builddir/build/BUILD/ruby-3.1.2/test/test_weakref.rb:24:in `test_recycled' /builddir/build/BUILD/ruby-3.1.2/test/test_weakref.rb:24:in `times' /builddir/build/BUILD/ruby-3.1.2/test/test_weakref.rb:26:in `block in test_recycled' <internal:gc>:239:in `garbage_collect' -- Machine register context ------------------------------------------------ RIP: 0x00007f8d1ed447ab RBP: 0x0000000000000000 RSP: 0x00007fff8c4c50d0 RAX: 0x0000000000000f38 RBX: 0x00007f8d2275a080 RCX: 0x00007f8d1ed5291a RDX: 0x00007f8d1ed528d0 RDI: 0x00007f8d2275a000 RSI: 0x00007f8d2275a1c0 R8: 0x00007f8cc421c000 R9: 0x0000000000000000 R10: 0x00007f8d2275a240 R11: 0x000055c0e07f7410 R12: 0x00007f8d1ed4c100 R13: 0x00007f8d22b1c620 R14: 0x00007f8cc4babd98 R15: 0x000055c0d9d48180 EFL: 0x0000000000010202 -- C level backtrace information ------------------------------------------- /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(rb_print_backtrace+0x19) [0x7f8d229ad939] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(rb_vm_bugreport+0x219) [0x7f8d229b6e39] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(rb_bug_for_fatal_signal+0xf4) [0x7f8d2280b844] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(sigsegv+0x4f) [0x7f8d2292fe6f] [0x7f8d223de0f0] [0x7f8d1ed447ab] [0x7f8d1ed520b1] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(finalize_list+0x6c) [0x7f8d228232dc] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(finalize_deferred.lto_priv.0+0x40) [0x7f8d22823410] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(gc_start_internal.lto_priv.0+0x7c) [0x7f8d2282ff0c] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(vm_exec_core.lto_priv.0+0x3a6) [0x7f8d2299d916] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(rb_vm_exec+0xc9) [0x7f8d229b32a9] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(int_dotimes+0x31a) [0x7f8d228a8b2a] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(vm_call_cfunc_with_frame+0x125) [0x7f8d22992ee5] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(vm_sendish.lto_priv.0+0x4ba) [0x7f8d22994a1a] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(vm_exec_core.lto_priv.0+0x1224) [0x7f8d2299e794] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(rb_vm_exec+0xc9) [0x7f8d229b32a9] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(rb_yield+0x212) [0x7f8d229a42e2] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(rb_ary_collect.lto_priv.0+0x5c) [0x7f8d2279da9c] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(vm_call_cfunc_with_frame+0x125) [0x7f8d22992ee5] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(vm_sendish.lto_priv.0+0x4ba) [0x7f8d22994a1a] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(vm_exec_core.lto_priv.0+0x1224) [0x7f8d2299e794] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(rb_vm_exec+0xc9) [0x7f8d229b32a9] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(rb_yield+0x212) [0x7f8d229a42e2] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(rb_ary_each+0x3c) [0x7f8d2279d86c] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(vm_call_cfunc_with_frame+0x125) [0x7f8d22992ee5] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(vm_call_method_each_type+0x543) [0x7f8d22997b13] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(vm_sendish.lto_priv.0+0x4ba) [0x7f8d22994a1a] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(vm_exec_core.lto_priv.0+0x1224) [0x7f8d2299e794] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(rb_vm_exec+0xc9) [0x7f8d229b32a9] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(rb_yield+0x212) [0x7f8d229a42e2] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(rb_ary_each+0x3c) [0x7f8d2279d86c] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(vm_call_cfunc_with_frame+0x125) [0x7f8d22992ee5] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(vm_call_method_each_type+0x543) [0x7f8d22997b13] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(vm_sendish.lto_priv.0+0x4ba) [0x7f8d22994a1a] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(vm_exec_core.lto_priv.0+0x1224) [0x7f8d2299e794] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(rb_vm_exec+0xc9) [0x7f8d229b32a9] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(require_internal.lto_priv.0+0xb19) [0x7f8d2286acd9] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(rb_require_string+0x41) [0x7f8d2286ae71] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(vm_call_cfunc_with_frame+0x125) [0x7f8d22992ee5] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(vm_sendish.lto_priv.0+0x4ba) [0x7f8d22994a1a] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(vm_exec_core.lto_priv.0+0x7a) [0x7f8d2299d5ea] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(rb_vm_exec+0xc9) [0x7f8d229b32a9] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(rb_ec_exec_node+0xa7) [0x7f8d228104d7] /builddir/build/BUILD/ruby-3.1.2/libruby.so.3.1.2(ruby_run_node+0x59) [0x7f8d228105e9] /builddir/build/BUILD/ruby-3.1.2/ruby(main+0x5f) [0x55c0d8a2b18f] I would like you to take over resolving this issue and building that module for Fedora 38.
Thanks for the trace log. I executed the build 30 times by the script. And all build are failed. We have to fix the issue. I will take a look.
Petr, Could you try to build the module again? Jarek fixed the Garbage Collection issue by the PR below. Right now we only skip the causing tests. There are still random errors. But when you run the module build 3 times, at least you may see the build passes. https://src.fedoraproject.org/rpms/ruby/pull-request/131
The first build failed only on i686: [21407/21419] DRbTests::TestDRbRuby18Yield#test_05_array_subclass = 0.00 s 1) Failure: TestJIT#test_compile_insn_opt_regexpmatch2 [/builddir/build/BUILD/ruby-3.1.2/test/ruby/test_jit.rb:600]: Expected 1 times of JIT success, but succeeded 0 times. script: """ p proc { 'true' =~ /true/ }.call """ stderr: """ /builddir/build/BUILD/ruby-3.1.2/.ext/include/i386-linux/rb_mjit_min_header-3.1.2.h:26782:9: internal compiler error: in gt_pch_save, at ggc-common.cc:671 26782 | #pragma GCC diagnostic pop | ^~~ Please submit a full bug report, with preprocessed source. See <http://bugzilla.redhat.com/bugzilla> for instructions. The bug is not reproducible, so it is likely a hardware or OS problem. MJIT warning: Making precompiled header failed on compilation. Stopping MJIT worker... MJIT warning: timed out to wait for JIT finish """ . <1> expected but was <0>. Finished tests in 1110.268808s, 19.2809 tests/s, 2474.9952 assertions/s. 21407 tests, 2747910 assertions, 1 failures, 0 errors, 58 skips ruby -v: ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [i386-linux] make: *** [uncommon.mk:822: yes-test-all] Error 1 I retried it and it passed. ruby:3.1 is successfully built for Fedora 38 now.