Bug #19760
closedMarshal.load Segmentation fault in ruby 2.2.10 aarch64
Description
irb(main):121:0> 100000.times{ Marshal.load(Marshal.dump(""))}
(irb):121: [BUG] Segmentation fault at 0x00000000000000
ruby 2.2.10p489 (2018-03-28 revision 63023) [aarch64-linux]
-- C level backtrace information -------------------------------------------
/usr/local/appsys/normal/package/lib/libruby.so.2.2(rb_vm_bugreport+0x9c) [0xffff04c92dfc] vm_dump.c:697
/usr/local/appsys/normal/package/lib/libruby.so.2.2(rb_bug_context+0xb8) [0xffff04b37908] error.c:425
/usr/local/appsys/normal/package/lib/libruby.so.2.2(sigsegv+0x40) [0xffff04c10800] signal.c:879
linux-vdso.so.1 [0xffff04dc07c0]
/usr/local/appsys/normal/package/lib/libruby.so.2.2(r_object0+0x98) [0xffff04b81378] marshal.c:1773
/usr/local/appsys/normal/package/lib/libruby.so.2.2(marshal_load+0x104) [0xffff04b82fd4] marshal.c:1981
/usr/local/appsys/normal/package/lib/libruby.so.2.2(vm_call_cfunc+0x104) [0xffff04c7eae4] vm_insnhelper.c:1380
/usr/local/appsys/normal/package/lib/libruby.so.2.2(vm_exec_core+0x494) [0xffff04c8164c] vm_insnhelper.c:475
/usr/local/appsys/normal/package/lib/libruby.so.2.2(vm_exec+0x8c) [0xffff04c86f84] vm.c:1551
/usr/local/appsys/normal/package/lib/libruby.so.2.2(invoke_block_from_c+0x4d0) [0xffff04c8ba30] vm.c:873
Updated by [email protected] (jian li) almost 2 years ago
Executing Marshal. load multiple times may cause Ruby program segment errors in arrch64 CPU.
For some reason, I am unable to upgrade to the Ruby version.
Can you help determine if a patch can be applied to this issue? thanks
Updated by [email protected] (jian li) almost 2 years ago
- ruby -v changed from 2.2.10 to ruby 2.2.10p489 (2018-03-28 revision 63023) [aarch64-linux]
gcc version 7.3.0 (GCC)
Updated by mame (Yusuke Endoh) almost 2 years ago
- Status changed from Open to Rejected
Ruby 2.2 is too old. We currently support only Ruby 3.0 or later. Please try the newer versions.
Updated by Eregon (Benoit Daloze) almost 2 years ago
I wonder if it's a similar issue to https://github.com/ruby/setup-ruby/issues/496, i.e., 2.2 is too old and miscompiled on recent OS/compiler.