Bug #22261
closedruby-head builds have been failing on aarch64-linux CI in ruby/ruby-dev-builder
Description
The daily "CRuby Dev Builds" workflow in ruby/ruby-dev-builder has failed every day since 2026-08-07:
Because of this, ruby-version: head currently installs a snapshot from 2026-08-05:
Only the build (ubuntu-26.04-arm, head) job fails, during make test-all TESTS="-j4". All other platforms build and test successfully, but since one matrix job fails, the "Publish Release" step is skipped and no new release is published.
This looks like a ruby master issue on aarch64-linux rather than a issue in ruby-dev-builder. For what it is worth, it does not seem to reproduce on the rubyci.org Ubuntu 26.04 aarch64 machines, which have been green for the same period:
The most frequent failure (2026-08-13, 08-16, 08-22, 08-23, 08-24) is a crash in TestEnumerator#test_lazy_chain_under_gc_compact_stress:
test/ruby/test_enumerator.rb:869: [BUG] try to mark T_NONE object (obj: out-of-heap:0x0000e8d1b901d640, parent: 0x0000e8d1b937ff80 T_IMEMO/<fields>
(embed) len:2 capa:20x0000e8d1d3eb0040 proc_entry/Object )
ruby 4.1.0dev (2026-08-24T18:44:40Z :detached: c4fdf07d44) +PRISM [aarch64-linux]
Full crash dumps are in the logs:
- https://github.com/ruby/ruby-dev-builder/actions/runs/32767004006/job/97558786838 (2026-08-24, c4fdf07d44)
- job-logsc4fdf07d44.txt
- https://github.com/ruby/ruby-dev-builder/actions/runs/32592837360/job/97079257443 (2026-08-22, 774cc95fd4)
- job-logs774cc95fd4.txt
On other days (2026-08-07, 08-08, 08-21), TestObjectSpace#test_finalizer_with_super failed instead: the child process exits successfully but prints garbage bytes (e.g. "\xC5w<") instead of :ok:
- https://github.com/ruby/ruby-dev-builder/actions/runs/31211225131/job/92974386628 (2026-08-07, 3156d5adb4)
- job-logs3156d5adb4.txt
Files
Updated by nobu (Nobuyoshi Nakada) 4 days ago
Does GH-18495 fix it?
Updated by Eregon (Benoit Daloze) 4 days ago
nobu (Nobuyoshi Nakada) wrote in #note-1:
Does GH-18495 fix it?
Thank you for creating a fix.
The easiest way to know would be to merge that PR, and ruby-dev-builder runs once per day.
An alternative would be to add a CI job running make test-all on ubuntu-26.04-arm in ruby/ruby CI, that would be even better and prevent future regressions on that platform.
Updated by nobu (Nobuyoshi Nakada) 4 days ago
- Status changed from Open to Closed
Applied in changeset git|e77a77111224426ca18eaeff55d7ad1618cbacc9.
[Bug #22261] Keep GC root-marking frame alive
Prevent a tail call from discarding saved machine-register roots
before rb_gc_mark_roots scans the machine stack.
Updated by tikkss (Tsutomu Katsube) 4 days ago
The daily "CRuby Dev Builds" workflow in ruby/ruby-dev-builder has been successful. Thanks for your quick fix!