Actions
Bug #19981
openbootstraptest/test_ractor.rb: Segmentation fault on arm32
Description
I faced the following segmentation fault on Ubuntu jammy arm32 (emulated environment by SETARCH='setarch linux32 --verbose --32bit'
) in both Travis CI arm64 log and RubyCI arm64-neoverse server.
I tested it on the latest ruby master branch 14fa5e39d72c84d3e12e10dc5d77a6e6200c10f5
.
I was able to reproduce this issue on RubyCI arm64-neoverse server, and prepared the reproducing script. So, you can try to debug on the server.
It seems that the -O3
flag triggered the issue. Because I didn't see the issue when Travis CI setting - optflags=-O1
in .travis.yml
on the current master branch.
https://github.com/junaruga/report-ruby-ractor-segmentation-fault
+ arm-linux-gnueabihf-gcc --version
arm-linux-gnueabihf-gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
+ setarch linux32 --verbose --32bit make -s test
Switching on ADDR_LIMIT_32BIT.
Execute command `make'.
Fstderr output is not empty
<internal:ractor>:760: [BUG] Segmentation fault at 0x0000000c
ruby 3.3.0dev (2023-10-30T09:27:06Z master 14fa5e39d7) [armv8l-linux-eabihf]
-- Control frame information -----------------------------------------------
c:0005 p:0003 s:0021 e:000020 METHOD <internal:ractor>:760
c:0004 p:0008 s:0014 e:000013 BLOCK bootstraptest.test_ractor.rb_541_1260.rb:4
c:0003 p:0018 s:0011 e:000010 METHOD <internal:kernel>:187
c:0002 p:0004 s:0006 e:000005 BLOCK bootstraptest.test_ractor.rb_541_1260.rb:3 [FINISH]
c:0001 p:---- s:0003 e:000002 DUMMY [FINISH]
-- Ruby level backtrace information ----------------------------------------
bootstraptest.test_ractor.rb_541_1260.rb:3:in `block in <main>'
<internal:kernel>:187:in `loop'
bootstraptest.test_ractor.rb_541_1260.rb:4:in `block (2 levels) in <main>'
<internal:ractor>:760:in `yield'
-- Threading information ---------------------------------------------------
Total ractor count: 2
Ruby thread count for this ractor: 1
-- Machine register context ------------------------------------------------
r0: 0x00000000 r1: 0x00000001 r2: 0x00000007 r3: 0x00000000 r4: 0x00c935c8
r5: 0x00000002 r6: 0x00000002 r7: 0x00000000 r8: 0x00000004 r9: 0x00c646b0
r10: 0x00000002 sp: 0xd5d91c90 fau: 0x0000000c
-- Other runtime information -----------------------------------------------
* Loaded script: bootstraptest.test_ractor.rb_541_1260.rb
* Loaded features:
0 enumerator.so
1 thread.rb
2 fiber.so
3 rational.so
4 complex.so
5 ruby2_keywords.rb
6 /home/jaruga/git/ruby/ruby/build/.ext/armv8l-linux-eabihf/enc/encdb.so
7 /home/jaruga/git/ruby/ruby/build/.ext/armv8l-linux-eabihf/enc/trans/transdb.so
* Process memory map:
00640000-0093a000 r-xp 00000000 103:03 29263803 /home/jaruga/git/ruby/ruby/build/ruby
0094a000-0094e000 r--p 002fa000 103:03 29263803 /home/jaruga/git/ruby/ruby/build/ruby
0094e000-0094f000 rw-p 002fe000 103:03 29263803 /home/jaruga/git/ruby/ruby/build/ruby
0094f000-00956000 rw-p 00000000 00:00 0
00bf3000-00cba000 rw-p 00000000 00:00 0 [heap]
d5700000-d5721000 rw-p 00000000 00:00 0
d5721000-d5800000 ---p 00000000 00:00 0
d5900000-d5921000 rw-p 00000000 00:00 0
d5921000-d5a00000 ---p 00000000 00:00 0
d5a00000-d5a21000 rw-p 00000000 00:00 0
d5a21000-d5b00000 ---p 00000000 00:00 0
d5b00000-d5b21000 rw-p 00000000 00:00 0
d5b21000-d5c00000 ---p 00000000 00:00 0
d5c5f000-d5c60000 ---p 00000000 00:00 0
d5c60000-d5c90000 rw-p 00000000 00:00 0
d5c9f000-d5ca0000 ---p 00000000 00:00 0
d5ca0000-d5cd0000 rw-p 00000000 00:00 0
d5cde000-d5cdf000 ---p 00000000 00:00 0
d5cdf000-d5cef000 rw-p 00000000 00:00 0
d5cef000-d5cf0000 ---p 00000000 00:00 0
d5cf0000-d5d81000 rw-p 00000000 00:00 0
d5d81000-d5d82000 ---p 00000000 00:00 0
d5d82000-d5e12000 rw-p 00000000 00:00 0
d5e12000-d5e13000 ---p 00000000 00:00 0
d5e13000-d5ea3000 rw-p 00000000 00:00 0
d5ea3000-d5ea4000 ---p 00000000 00:00 0
d5ea4000-d5f34000 rw-p 00000000 00:00 0
d5f34000-d5f35000 ---p 00000000 00:00 0
d5f35000-d5fc5000 rw-p 00000000 00:00 0
d5fc5000-d5fc6000 ---p 00000000 00:00 0
d5fc6000-d6056000 rw-p 00000000 00:00 0
d6056000-d6057000 ---p 00000000 00:00 0
d6057000-d60e7000 rw-p 00000000 00:00 0
d60e7000-d60e8000 ---p 00000000 00:00 0
d60e8000-d6178000 rw-p 00000000 00:00 0
d6178000-d6179000 ---p 00000000 00:00 0
d6179000-d6209000 rw-p 00000000 00:00 0
d6209000-d620a000 ---p 00000000 00:00 0
d620a000-d629a000 rw-p 00000000 00:00 0
d629a000-d629b000 ---p 00000000 00:00 0
d629b000-d632b000 rw-p 00000000 00:00 0
d632b000-d632c000 ---p 00000000 00:00 0
d632c000-f5d10000 rw-p 00000000 00:00 0
f5d10000-f5d12000 r-xp 00000000 103:03 29263555 /home/jaruga/git/ruby/ruby/build/.ext/armv8l-linux-eabihf/enc/trans/transdb.so
f5d12000-f5d21000 ---p 00002000 103:03 29263555 /home/jaruga/git/ruby/ruby/build/.ext/armv8l-linux-eabihf/enc/trans/transdb.so
f5d21000-f5d22000 r--p 00001000 103:03 29263555 /home/jaruga/git/ruby/ruby/build/.ext/armv8l-linux-eabihf/enc/trans/transdb.so
f5d22000-f5d23000 rw-p 00002000 103:03 29263555 /home/jaruga/git/ruby/ruby/build/.ext/armv8l-linux-eabihf/enc/trans/transdb.so
f5d30000-f5d32000 r-xp 00000000 103:03 29263548 /home/jaruga/git/ruby/ruby/build/.ext/armv8l-linux-eabihf/enc/encdb.so
f5d32000-f5d41000 ---p 00002000 103:03 29263548 /home/jaruga/git/ruby/ruby/build/.ext/armv8l-linux-eabihf/enc/encdb.so
f5d41000-f5d42000 r--p 00001000 103:03 29263548 /home/jaruga/git/ruby/ruby/build/.ext/armv8l-linux-eabihf/enc/encdb.so
f5d42000-f5d43000 rw-p 00002000 103:03 29263548 /home/jaruga/git/ruby/ruby/build/.ext/armv8l-linux-eabihf/enc/encdb.so
f5d4f000-f5d50000 ---p 00000000 00:00 0
f5d50000-f5d71000 rw-p 00000000 00:00 0
f5d71000-f5d72000 ---p 00000000 00:00 0
f5d72000-f5d93000 rw-p 00000000 00:00 0
f5d93000-f5d94000 ---p 00000000 00:00 0
f5d94000-f5db5000 rw-p 00000000 00:00 0
f5db5000-f5db6000 ---p 00000000 00:00 0
f5db6000-f5dd7000 rw-p 00000000 00:00 0
f5dd7000-f5dd8000 ---p 00000000 00:00 0
f5dd8000-f5df9000 rw-p 00000000 00:00 0
f5df9000-f5dfa000 ---p 00000000 00:00 0
f5dfa000-f5e1b000 rw-p 00000000 00:00 0
f5e1b000-f5e1c000 ---p 00000000 00:00 0
f5e1c000-f5e3d000 rw-p 00000000 00:00 0
f5e3d000-f5e3e000 ---p 00000000 00:00 0
f5e3e000-f5e5f000 rw-p 00000000 00:00 0
f5e5f000-f5e60000 ---p 00000000 00:00 0
f5e60000-f66a0000 rw-p 00000000 00:00 0
f66af000-f73b0000 rw-p 00000000 00:00 0
f73b5000-f7436000 rw-p 00000000 00:00 0
f7436000-f76b0000 r--p 0006f000 103:03 11802136 /usr/lib/locale/locale-archive
f76b0000-f78b0000 r--p 00000000 103:03 11802136 /usr/lib/locale/locale-archive
f78b0000-f79bc000 r-xp 00000000 103:03 11670018 /usr/lib/arm-linux-gnueabihf/libc.so.6
f79bc000-f79cc000 ---p 0010c000 103:03 11670018 /usr/lib/arm-linux-gnueabihf/libc.so.6
f79cc000-f79ce000 r--p 0010c000 103:03 11670018 /usr/lib/arm-linux-gnueabihf/libc.so.6
f79ce000-f79cf000 rw-p 0010e000 103:03 11670018 /usr/lib/arm-linux-gnueabihf/libc.so.6
f79cf000-f79d9000 rw-p 00000000 00:00 0
f79e0000-f7a21000 r-xp 00000000 103:03 11670021 /usr/lib/arm-linux-gnueabihf/libm.so.6
f7a21000-f7a30000 ---p 00041000 103:03 11670021 /usr/lib/arm-linux-gnueabihf/libm.so.6
f7a30000-f7a31000 r--p 00040000 103:03 11670021 /usr/lib/arm-linux-gnueabihf/libm.so.6
f7a31000-f7a32000 rw-p 00041000 103:03 11670021 /usr/lib/arm-linux-gnueabihf/libm.so.6
f7a40000-f7a6b000 r-xp 00000000 103:03 11670013 /usr/lib/arm-linux-gnueabihf/libcrypt.so.1.1.0
f7a6b000-f7a7b000 ---p 0002b000 103:03 11670013 /usr/lib/arm-linux-gnueabihf/libcrypt.so.1.1.0
f7a7b000-f7a7c000 r--p 0002b000 103:03 11670013 /usr/lib/arm-linux-gnueabihf/libcrypt.so.1.1.0
f7a7c000-f7a7d000 rw-p 0002c000 103:03 11670013 /usr/lib/arm-linux-gnueabihf/libcrypt.so.1.1.0
f7a7d000-f7a85000 rw-p 00000000 00:00 0
f7a88000-f7aa7000 r-xp 00000000 103:03 11670015 /usr/lib/arm-linux-gnueabihf/ld-linux-armhf.so.3
f7aac000-f7ab3000 r--s 00000000 103:03 11670285 /usr/lib/arm-linux-gnueabihf/gconv/gconv-modules.cache
f7ab3000-f7ab5000 rw-p 00000000 00:00 0
f7ab5000-f7ab6000 r-xp 00000000 00:00 0 [sigpage]
f7ab6000-f7ab8000 r--p 0001e000 103:03 11670015 /usr/lib/arm-linux-gnueabihf/ld-linux-armhf.so.3
f7ab8000-f7ab9000 rw-p 00020000 103:03 11670015 /usr/lib/arm-linux-gnueabihf/ld-linux-armhf.so.3
ff7dd000-fffdc000 rw-p 00000000 00:00 0 [stack]
ffff0000-ffff1000 r-xp 00000000 00:00 0 [vectors]
No data to display
Actions
Like0