Bug 16283 - AB-INT: ruby do_compile: Bus Error
Summary: AB-INT: ruby do_compile: Bus Error
Status: RESOLVED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: devtools / tool chain (show other bugs)
Version: unspecified
Hardware: x86 Multiple
: Medium normal
Target Milestone: 6.1
Assignee: Paul Barker
QA Contact:
URL:
Whiteboard: AB-INT
Depends on:
Blocks:
 
Reported: 2026-05-15 08:31 UTC by Mathieu Dubois-Briand
Modified: 2026-08-11 08:18 UTC (History)
4 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mathieu Dubois-Briand 2026-05-15 08:31:53 UTC
We got this error once, a few days ago.


ERROR: lib32-ruby-4.0.3-r0 do_compile: Execution of '/srv/pokybuild/yocto-worker/qemux86-world/build/build/tmp/work/x86-pokymllib32-linux/lib32-ruby/4.0.3/temp/run.do_compile.246705' failed with exit code 1
...
| compiling ../../../sources/ruby-4.0.3/ext/openssl/ossl_x509attr.c
| /srv/pokybuild/yocto-worker/qemux86-world/build/build/tmp/work/x86-pokymllib32-linux/lib32-ruby/4.0.3/build/i686-linux-gnu-fake.rb: [BUG] Bus Error at 0x00007fb9686ec000
| ruby 4.0.3 (2026-04-21 revision 85ddef263a) +PRISM [x86_64-linux-gnu]
| 
| -- Control frame information -----------------------------------------------
| c:0003 p:---- s:0009 e:000008 l:y b:---- DUMMY  [FINISH]
| c:0002 p:---- s:0006 e:000005 l:y b:---- CFUNC  :require
| c:0001 p:0000 s:0003 E:0004f0 l:y b:---- DUMMY  [FINISH]
| 
| -- Ruby level backtrace information ----------------------------------------
| ../../../../../../sources/ruby-4.0.3/tool/ln_sr.rb:0:in 'require'
| 
| -- Threading information ---------------------------------------------------
| Total ractor count: 1
| Ruby thread count for this ractor: 1
| 
| -- Machine register context ------------------------------------------------
|  RIP: 0x00007fb96815b035 RBP: 0x0000000000000000 RSP: 0x00007ffd5ffeca90
|  RAX: 0x00007fb9686ec000 RBX: 0x00007ffd5ffecea8 RCX: 0x00005636bd391e88
|  RDX: 0x0000000000000000 RDI: 0x00007ffd5ffecea8 RSI: 0x00007ffd5ffece78
|   R8: 0x00005636bd391dc0  R9: 0x00000000000002b8 R10: 0x000000000000002a
|  R11: 0x00007fb967c9eac8 R12: 0x00007fb9686ec000 R13: 0x00007ffd5ffecbb0
|  R14: 0x00007ffd5ffecdf0 R15: 0x0000000000000786 EFL: 0x0000000000010206
| 
| -- C level backtrace information -------------------------------------------
| i686-linux-gnu-fake.rb updated
| /srv/pokybuild/yocto-worker/qemux86-world/build/build/tmp/work/x86-pokymllib32-linux/lib32-ruby/4.0.3/recipe-sysroot-native/usr/bin/../lib/libruby.so.4.0(0x7fb9680d7268) [0x7fb9680d7268]
| /srv/pokybuild/yocto-worker/qemux86-world/build/build/tmp/work/x86-pokymllib32-linux/lib32-ruby/4.0.3/recipe-sysroot-native/usr/bin/../lib/libruby.so.4.0(0x7fb967f15b9a) [0x7fb967f15b9a]
| /srv/pokybuild/yocto-worker/qemux86-world/build/build/tmp/work/x86-pokymllib32-linux/lib32-ruby/4.0.3/recipe-sysroot-native/usr/bin/../lib/libruby.so.4.0(0x7fb9680373d2) [0x7fb9680373d2]
| /srv/pokybuild/yocto-worker/qemux86-world/build/build/tmp/sysroots-uninative/x86_64-linux/lib/libc.so.6(0x7fb967afc8e0) [0x7fb967afc8e0]
| /srv/pokybuild/yocto-worker/qemux86-world/build/build/tmp/work/x86-pokymllib32-linux/lib32-ruby/4.0.3/recipe-sysroot-native/usr/bin/../lib/libruby.so.4.0(0x7fb96815b035) [0x7fb96815b035]
| /srv/pokybuild/yocto-worker/qemux86-world/build/build/tmp/work/x86-pokymllib32-linux/lib32-ruby/4.0.3/recipe-sysroot-native/usr/bin/../lib/libruby.so.4.0(0x7fb967ee32b1) [0x7fb967ee32b1]
| /srv/pokybuild/yocto-worker/qemux86-world/build/build/tmp/work/x86-pokymllib32-linux/lib32-ruby/4.0.3/recipe-sysroot-native/usr/bin/../lib/libruby.so.4.0(0x7fb967f74cc5) [0x7fb967f74cc5]
| /srv/pokybuild/yocto-worker/qemux86-world/build/build/tmp/work/x86-pokymllib32-linux/lib32-ruby/4.0.3/recipe-sysroot-native/usr/bin/../lib/libruby.so.4.0(0x7fb967f7686a) [0x7fb967f7686a]
| /srv/pokybuild/yocto-worker/qemux86-world/build/build/tmp/work/x86-pokymllib32-linux/lib32-ruby/4.0.3/recipe-sysroot-native/usr/bin/../lib/libruby.so.4.0(0x7fb967f768f8) [0x7fb967f768f8]
| /srv/pokybuild/yocto-worker/qemux86-world/build/build/tmp/work/x86-pokymllib32-linux/lib32-ruby/4.0.3/recipe-sysroot-native/usr/bin/../lib/libruby.so.4.0(rb_require_string+0x27) [0x7fb967f76f47]
| /srv/pokybuild/yocto-worker/qemux86-world/build/build/tmp/work/x86-pokymllib32-linux/lib32-ruby/4.0.3/recipe-sysroot-native/usr/bin/../lib/libruby.so.4.0(0x7fb9680c6b0e) [0x7fb9680c6b0e]
| /srv/pokybuild/yocto-worker/qemux86-world/build/build/tmp/work/x86-pokymllib32-linux/lib32-ruby/4.0.3/recipe-sysroot-native/usr/bin/../lib/libruby.so.4.0(rb_funcallv+0x213) [0x7fb9680ca783]
| /srv/pokybuild/yocto-worker/qemux86-world/build/build/tmp/work/x86-pokymllib32-linux/lib32-ruby/4.0.3/recipe-sysroot-native/usr/bin/../lib/libruby.so.4.0(0x7fb96802a00f) [0x7fb96802a00f]
| /srv/pokybuild/yocto-worker/qemux86-world/build/build/tmp/work/x86-pokymllib32-linux/lib32-ruby/4.0.3/recipe-sysroot-native/usr/bin/../lib/libruby.so.4.0(0x7fb96802bdb2) [0x7fb96802bdb2]
| /srv/pokybuild/yocto-worker/qemux86-world/build/build/tmp/work/x86-pokymllib32-linux/lib32-ruby/4.0.3/recipe-sysroot-native/usr/bin/../lib/libruby.so.4.0(ruby_process_options+0xc0) [0x7fb96802c120]
| /srv/pokybuild/yocto-worker/qemux86-world/build/build/tmp/work/x86-pokymllib32-linux/lib32-ruby/4.0.3/recipe-sysroot-native/usr/bin/../lib/libruby.so.4.0(ruby_options+0xb5) [0x7fb967f1f375]
| /srv/pokybuild/yocto-worker/qemux86-world/build/build/tmp/work/x86-pokymllib32-linux/lib32-ruby/4.0.3/recipe-sysroot-native/usr/bin/ruby(0x5636b79700ea) [0x5636b79700ea]
| /srv/pokybuild/yocto-worker/qemux86-world/build/build/tmp/sysroots-uninative/x86_64-linux/lib/libc.so.6(0x7fb967ae6fab) [0x7fb967ae6fab]
| /srv/pokybuild/yocto-worker/qemux86-world/build/build/tmp/sysroots-uninative/x86_64-linux/lib/libc.so.6(__libc_start_main+0x8b) [0x7fb967ae70cb]
| /srv/pokybuild/yocto-worker/qemux86-world/build/build/tmp/work/x86-pokymllib32-linux/lib32-ruby/4.0.3/recipe-sysroot-native/usr/bin/ruby(_start+0x21) [0x5636b7970121]
| 
| -- Other runtime information -----------------------------------------------
| 
| * Loaded script: ../../../../../../sources/ruby-4.0.3/tool/ln_sr.rb
...
Comment 1 Mathieu Dubois-Briand 2026-05-15 08:53:21 UTC
qemux86-world debian12-vk-7 mathieu/master-next&mathieu/master-next-tests completed at 2026-05-10 09:48:43+00:00
https://autobuilder.yoctoproject.org/valkyrie/#/builders/59/builds/3762/steps/12/logs/stdio
Comment 2 Randy MacLeod 2026-05-21 14:33:45 UTC
could be lack of memory, let's see if it happens again.
Comment 3 Mathieu Dubois-Briand 2026-07-10 13:39:33 UTC
qemux86-world ubuntu2504-vk-1 master completed at 2026-07-10 03:05:25+00:00
https://autobuilder.yoctoproject.org/valkyrie/#/builders/59/builds/4134/steps/12/logs/stdio
Comment 4 Mathieu Dubois-Briand 2026-07-24 15:11:41 UTC
qemux86-world debian13-vk-1 mathieu/master-next completed at 2026-07-23 13:11:07+00:00
https://autobuilder.yoctoproject.org/valkyrie/#/builders/59/builds/4220/steps/12/logs/stdio
Comment 5 Paul Barker 2026-07-31 09:21:04 UTC
"Bus Error" indicates SIGBUS was received, this is not an out-of-memory error.

The build log from 2026-07-23 shows the failing address is 0x00007fee11f02765, inside the memory mapping of the file "/srv/pokybuild/yocto-worker/qemux86-world/build/build/tmp/work/x86-pokymllib32-linux/lib32-ruby/4.0.5/build/i686-linux-gnu-fake.rb".

This is likely a race condition or missing dependency in ruby's Makefiles, leading to i686-linux-gnu-fake.rb being re-written by one process while another process is trying to parse it.
Comment 6 Paul Barker 2026-07-31 15:18:21 UTC
Partial fix landed upstream: https://github.com/ruby/ruby/commit/bb235bddd4ce7d9e73a80931782f0f0b3971d12b

Further testing showed this wasn't a complete fix, so I opened another PR: https://github.com/ruby/ruby/pull/18141

I'm pretty confident that this is now fully solved:
- Before applying the above we have 3 instances of "generating i686-linux-gnu-fake.rb" in log.do_compile for ruby.
- After applying the above we have just 1 instance :)

Upstream are responsive so I'll wait until they've reviewed the second PR before I send patches for OE-core.
Comment 7 Paul Barker 2026-08-11 08:18:08 UTC
Fix merged to OE-core in commit 074a5d9c4dd225811f22ea5552029c54bd1423cd. Hopefully that resolves the issue, reopen if the failure happens again.