Bug 2119816 - ruby:3.1:3820220819081142:75741a8b FTBFS: ruby fails timezone tests
Summary: ruby:3.1:3820220819081142:75741a8b FTBFS: ruby fails timezone tests
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora Modules
Classification: Fedora
Component: ruby
Version: unspecified
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jun Aruga
QA Contact: Fedora Extras Quality Assurance
URL: https://mbs.fedoraproject.org/module-...
Whiteboard:
Depends On: 2120354
Blocks: F38FTBFS
TreeView+ depends on / blocked
 
Reported: 2022-08-19 13:39 UTC by Petr Pisar
Modified: 2022-09-05 15:35 UTC (History)
7 users (show)

Fixed In Version: ruby:3.1:3820220905083547:75741a8b
Clone Of:
Environment:
Last Closed: 2022-09-05 15:35:15 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github ruby spec issues 936 0 None open Failures with tzdata-2022b 2022-08-22 16:39:35 UTC

Description Petr Pisar 2022-08-19 13:39:41 UTC
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

Comment 1 Jun Aruga 2022-08-22 10:22:20 UTC
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

Comment 2 Vít Ondruch 2022-08-22 16:39:35 UTC
This is know issue and requires fix upstream

Comment 3 Jun Aruga 2022-08-24 14:14:05 UTC
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.

Comment 4 Jun Aruga 2022-08-24 15:29:25 UTC
> 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/

Comment 5 Jun Aruga 2022-08-24 16:26:34 UTC
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/

Comment 6 Petr Pisar 2022-08-25 14:55:00 UTC
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)

Comment 7 Jun Aruga 2022-08-25 16:21:04 UTC
I see. Can you try to build again? It might be random error.

Comment 8 Petr Pisar 2022-08-26 08:48:38 UTC
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.

Comment 9 Jun Aruga 2022-08-31 10:50:40 UTC
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.

Comment 10 Jun Aruga 2022-09-02 17:49:07 UTC
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

Comment 11 Petr Pisar 2022-09-05 15:35:15 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.