Description of problem: Calling V8::Context.new causes a segfault in Ruby MRI. This is also seen when combined with rubygem-execjs and precompiling Rails application assets. Version-Release number of selected component (if applicable): rubygem-therubyracer-0.11.0-13.fc24 Installing: ruby x86_64 2.3.0-54.fc24 fedora 76 k ruby-libs x86_64 2.3.0-54.fc24 fedora 2.9 M rubygem-therubyracer x86_64 0.11.0-13.fc24 fedora 70 k Installing for dependencies: libicu x86_64 56.1-4.fc24 fedora 8.3 M libyaml x86_64 0.1.6-8.fc24 fedora 58 k rubygem-psych x86_64 2.0.17-54.fc24 fedora 87 k rubygem-ref noarch 1.0.5-4.fc24 fedora 19 k rubygems noarch 2.5.1-54.fc24 fedora 280 k rubypick noarch 1.1.1-5.fc24 fedora 11 k v8 x86_64 1:3.14.5.10-23.fc24 fedora 3.0 M How reproducible: Always Steps to Reproduce: 1. ruby -rv8 -e 'puts V8::Context.new.eval("7 * 6")' Actual results: /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/context.rb:66: [BUG] Segmentation fault at 0x00000000000018 ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux] Expected results: 42 Additional info: Works fine on F21-23, segfault is new in F24. Can't test on Rawhide as v8 isn't built against the current icu package. + ruby -rv8 -e 'puts V8::Context.new.eval("7 * 6")' /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/context.rb:66: [BUG] Segmentation fault at 0x00000000000018 ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux] -- Control frame information ----------------------------------------------- c:0005 p:---- s:0016 e:000015 CFUNC :Locker c:0004 p:0092 s:0013 E:001bb0 METHOD /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/context.rb:66 [FINISH] c:0003 p:---- s:0008 e:000007 CFUNC :new c:0002 p:0015 s:0005 E:001220 EVAL -e:1 [FINISH] c:0001 p:0000 s:0002 E:001f60 (none) [FINISH] -- Ruby level backtrace information ---------------------------------------- -e:1:in `<main>' -e:1:in `new' /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/context.rb:66:in `initialize' /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/context.rb:66:in `Locker' -- Machine register context ------------------------------------------------ RIP: 0x00007f1beabe32b0 RBP: 0x000055ee54944bc0 RSP: 0x00007ffcc6123be0 RAX: 0x00007f1beabe3330 RBX: 0x000055ee54944bc0 RCX: 0x0000000000000000 RDX: 0x0000000000000000 RDI: 0x000055ee54944bc0 RSI: 0x0000000000000000 R8: 0x000055ee54948000 R9: 0x0000000000000000 R10: 0x0000000000001723 R11: 0x00007f1beabe3290 R12: 0x000055ee54944c00 R13: 0x0000000000000000 R14: 0x0000000000000040 R15: 0x0000000000000040 EFL: 0x0000000000010246 -- C level backtrace information ------------------------------------------- /lib64/libruby.so.2.3 [0x7f1bec92f065] /lib64/libruby.so.2.3 [0x7f1bec92f29c] /lib64/libruby.so.2.3 [0x7f1bec807be4] /lib64/libruby.so.2.3 [0x7f1bec8ba48e] /lib64/libpthread.so.0 [0x7f1bec58dc30] /lib64/libv8.so.3(_ZN2v88internal10PagedSpace14AdvanceSweeperEl+0x20) [0x7f1beabe32b0] /lib64/libv8.so.3(_ZN2v88internal10PagedSpace15SlowAllocateRawEi+0x23) [0x7f1beabe3353] /lib64/libv8.so.3(_ZN2v88internal4Heap18AllocatePartialMapENS0_12InstanceTypeEi+0x233) [0x7f1beaa89803] /lib64/libv8.so.3(_ZN2v88internal4Heap17CreateInitialMapsEv+0x16) [0x7f1beaa8db26] /lib64/libv8.so.3(_ZN2v88internal4Heap5SetUpEb+0x3e2) [0x7f1beaa96a22] /lib64/libv8.so.3(_ZN2v88internal7Isolate4InitEPNS0_12DeserializerE+0x4de) [0x7f1beaaf91be] /lib64/libv8.so.3(_ZN2v86LockerC2EPNS_7IsolateE+0x71) [0x7f1beabfc141] /usr/lib64/gems/ruby/therubyracer-0.11.0/v8/init.so(_ZN2rr6Locker16setupLockAndCallEPim+0x2b) [0x7f1beafd19db] /usr/lib64/gems/ruby/therubyracer-0.11.0/v8/init.so(_ZN2rr6Locker6doLockEiPmm+0x77) [0x7f1beafd1aa7] /lib64/libruby.so.2.3 [0x7f1bec91c150] /lib64/libruby.so.2.3 [0x7f1bec92aa23] /lib64/libruby.so.2.3 [0x7f1bec92ba63] /lib64/libruby.so.2.3 [0x7f1bec91ff17] /lib64/libruby.so.2.3 [0x7f1bec9253df] /lib64/libruby.so.2.3 [0x7f1bec9271cc] /lib64/libruby.so.2.3 [0x7f1bec927e52] /lib64/libruby.so.2.3(rb_class_new_instance+0x21) [0x7f1bec85a491] /lib64/libruby.so.2.3 [0x7f1bec91c150] /lib64/libruby.so.2.3 [0x7f1bec92aa23] /lib64/libruby.so.2.3 [0x7f1bec92ba63] /lib64/libruby.so.2.3 [0x7f1bec91ffe3] /lib64/libruby.so.2.3 [0x7f1bec9253df] /lib64/libruby.so.2.3 [0x7f1bec80afad] /lib64/libruby.so.2.3(ruby_exec_node+0x1d) [0x7f1bec80c9dd] /lib64/libruby.so.2.3(ruby_run_node+0x1e) [0x7f1bec80eaae] /usr/bin/ruby-mri [0x55ee53a5293b] /lib64/libc.so.6(__libc_start_main+0xf1) [0x7f1beba8b721] /usr/bin/ruby-mri(_start+0x29) [0x55ee53a52969] -- Other runtime information ----------------------------------------------- * Loaded script: -e * Loaded features: 0 enumerator.so 1 thread.rb 2 rational.so 3 complex.so 4 /usr/lib64/ruby/enc/encdb.so 5 /usr/lib64/ruby/enc/trans/transdb.so 6 /usr/share/ruby/unicode_normalize.rb 7 /usr/lib64/ruby/rbconfig.rb 8 /usr/share/rubygems/rubygems/compatibility.rb 9 /usr/share/rubygems/rubygems/defaults.rb 10 /usr/share/rubygems/rubygems/deprecate.rb 11 /usr/share/rubygems/rubygems/errors.rb 12 /usr/share/rubygems/rubygems/version.rb 13 /usr/share/rubygems/rubygems/requirement.rb 14 /usr/share/rubygems/rubygems/platform.rb 15 /usr/share/rubygems/rubygems/basic_specification.rb 16 /usr/share/rubygems/rubygems/stub_specification.rb 17 /usr/share/rubygems/rubygems/util/list.rb 18 /usr/lib64/ruby/stringio.so 19 /usr/share/rubygems/rubygems/specification.rb 20 /usr/share/rubygems/rubygems/exceptions.rb 21 /usr/share/rubygems/rubygems/defaults/operating_system.rb 22 /usr/share/rubygems/rubygems/core_ext/kernel_gem.rb 23 /usr/share/ruby/monitor.rb 24 /usr/share/rubygems/rubygems/core_ext/kernel_require.rb 25 /usr/share/rubygems/rubygems.rb 26 /usr/share/rubygems/rubygems/path_support.rb 27 /usr/share/rubygems/rubygems/dependency.rb 28 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/version.rb 29 /usr/share/gems/gems/ref-1.0.5/lib/ref/abstract_reference_value_map.rb 30 /usr/share/gems/gems/ref-1.0.5/lib/ref/abstract_reference_key_map.rb 31 /usr/share/gems/gems/ref-1.0.5/lib/ref/reference.rb 32 /usr/share/gems/gems/ref-1.0.5/lib/ref/reference_queue.rb 33 /usr/share/gems/gems/ref-1.0.5/lib/ref/safe_monitor.rb 34 /usr/share/gems/gems/ref-1.0.5/lib/ref/soft_reference.rb 35 /usr/share/ruby/delegate.rb 36 /usr/share/ruby/weakref.rb 37 /usr/share/gems/gems/ref-1.0.5/lib/ref/weak_reference/weak_ref.rb 38 /usr/share/gems/gems/ref-1.0.5/lib/ref/soft_key_map.rb 39 /usr/share/gems/gems/ref-1.0.5/lib/ref/soft_value_map.rb 40 /usr/share/gems/gems/ref-1.0.5/lib/ref/strong_reference.rb 41 /usr/share/gems/gems/ref-1.0.5/lib/ref/weak_key_map.rb 42 /usr/share/gems/gems/ref-1.0.5/lib/ref/weak_value_map.rb 43 /usr/share/gems/gems/ref-1.0.5/lib/ref.rb 44 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/weak.rb 45 /usr/lib64/gems/ruby/therubyracer-0.11.0/v8/init.so 46 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/error.rb 47 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/stack.rb 48 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/conversion/fundamental.rb 49 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/conversion/indentity.rb 50 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/conversion/reference.rb 51 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/conversion/primitive.rb 52 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/conversion/code.rb 53 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/conversion/class.rb 54 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/conversion/object.rb 55 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/conversion/time.rb 56 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/conversion/hash.rb 57 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/conversion/array.rb 58 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/conversion/proc.rb 59 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/conversion/method.rb 60 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/conversion/symbol.rb 61 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/conversion/string.rb 62 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/conversion/fixnum.rb 63 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/conversion/bignum.rb 64 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/conversion.rb 65 /usr/share/ruby/set.rb 66 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/access/names.rb 67 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/access/indices.rb 68 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/access/invocation.rb 69 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/access.rb 70 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/context.rb 71 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/object.rb 72 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/array.rb 73 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8/function.rb 74 /usr/share/gems/gems/therubyracer-0.11.0/lib/v8.rb * Process memory map: 1d3949bc000-1d3949bd000 r-xp 00000000 00:00 0 3524d1ef000-3526d1ef000 ---p 00000000 00:00 0 12c9e1ee4000-12c9e1ee5000 r-xp 00000000 00:00 0 142bbebda000-142bbebdb000 r-xp 00000000 00:00 0 244f92000000-244f92f00000 ---p 00000000 00:00 0 244f92f00000-244f93000000 rw-p 00000000 00:00 0 244f93000000-244f94000000 ---p 00000000 00:00 0 29de84a1b000-29de84a1c000 r-xp 00000000 00:00 0 39f1de68b000-39f1de68c000 r-xp 00000000 00:00 0 55ee53a52000-55ee53a53000 r-xp 00000000 00:26 84020 /usr/bin/ruby-mri 55ee53c52000-55ee53c53000 r--p 00000000 00:26 84020 /usr/bin/ruby-mri 55ee53c53000-55ee53c54000 rw-p 00001000 00:26 84020 /usr/bin/ruby-mri 55ee54482000-55ee5496b000 rw-p 00000000 00:00 0 [heap] 7f1be76b8000-7f1be78c3000 r--s 00000000 00:26 70436 /usr/lib64/libc-2.23.so 7f1be78c3000-7f1be7e29000 r--s 00000000 00:26 84059 /usr/lib64/libv8.so.3.14.5 7f1be7e29000-7f1be80b0000 r--s 00000000 00:26 83576 /usr/lib64/libruby.so.2.3.0 7f1be80b0000-7f1be9893000 r-xp 00000000 00:26 84034 /usr/lib64/libicudata.so.56.1 7f1be9893000-7f1be9a93000 ---p 017e3000 00:26 84034 /usr/lib64/libicudata.so.56.1 7f1be9a93000-7f1be9a94000 r--p 017e3000 00:26 84034 /usr/lib64/libicudata.so.56.1 7f1be9a94000-7f1be9a95000 rw-p 00000000 00:00 0 7f1be9a95000-7f1be9c1b000 r-xp 00000000 00:26 84048 /usr/lib64/libicuuc.so.56.1 7f1be9c1b000-7f1be9e1a000 ---p 00186000 00:26 84048 /usr/lib64/libicuuc.so.56.1 7f1be9e1a000-7f1be9e2b000 r--p 00185000 00:26 84048 /usr/lib64/libicuuc.so.56.1 7f1be9e2b000-7f1be9e2c000 rw-p 00196000 00:26 84048 /usr/lib64/libicuuc.so.56.1 7f1be9e2c000-7f1be9e2e000 rw-p 00000000 00:00 0 7f1be9e2e000-7f1bea099000 r-xp 00000000 00:26 84036 /usr/lib64/libicui18n.so.56.1 7f1bea099000-7f1bea299000 ---p 0026b000 00:26 84036 /usr/lib64/libicui18n.so.56.1 7f1bea299000-7f1bea2a8000 r--p 0026b000 00:26 84036 /usr/lib64/libicui18n.so.56.1 7f1bea2a8000-7f1bea2a9000 rw-p 0027a000 00:26 84036 /usr/lib64/libicui18n.so.56.1 7f1bea2a9000-7f1bea2bf000 r-xp 00000000 00:26 65441 /usr/lib64/libgcc_s-6.0.0-20160406.so.1 7f1bea2bf000-7f1bea4be000 ---p 00016000 00:26 65441 /usr/lib64/libgcc_s-6.0.0-20160406.so.1 7f1bea4be000-7f1bea4bf000 r--p 00015000 00:26 65441 /usr/lib64/libgcc_s-6.0.0-20160406.so.1 7f1bea4bf000-7f1bea4c0000 rw-p 00016000 00:26 65441 /usr/lib64/libgcc_s-6.0.0-20160406.so.1 7f1bea4c0000-7f1bea638000 r-xp 00000000 00:26 70791 /usr/lib64/libstdc++.so.6.0.22 7f1bea638000-7f1bea838000 ---p 00178000 00:26 70791 /usr/lib64/libstdc++.so.6.0.22 7f1bea838000-7f1bea842000 r--p 00178000 00:26 70791 /usr/lib64/libstdc++.so.6.0.22 7f1bea842000-7f1bea844000 rw-p 00182000 00:26 70791 /usr/lib64/libstdc++.so.6.0.22 7f1bea844000-7f1bea848000 rw-p 00000000 00:00 0 7f1bea848000-7f1bead7c000 r-xp 00000000 00:26 84059 /usr/lib64/libv8.so.3.14.5 7f1bead7c000-7f1beaf7c000 ---p 00534000 00:26 84059 /usr/lib64/libv8.so.3.14.5 7f1beaf7c000-7f1beaf9d000 r--p 00534000 00:26 84059 /usr/lib64/libv8.so.3.14.5 7f1beaf9d000-7f1beafab000 rw-p 00555000 00:26 84059 /usr/lib64/libv8.so.3.14.5 7f1beafab000-7f1beafae000 rw-p 00000000 00:00 0 7f1beafae000-7f1beafd9000 r-xp 00000000 00:26 84359 /usr/lib64/gems/ruby/therubyracer-0.11.0/v8/init.so 7f1beafd9000-7f1beb1d9000 ---p 0002b000 00:26 84359 /usr/lib64/gems/ruby/therubyracer-0.11.0/v8/init.so 7f1beb1d9000-7f1beb1db000 r--p 0002b000 00:26 84359 /usr/lib64/gems/ruby/therubyracer-0.11.0/v8/init.so 7f1beb1db000-7f1beb1dc000 rw-p 0002d000 00:26 84359 /usr/lib64/gems/ruby/therubyracer-0.11.0/v8/init.so 7f1beb1dc000-7f1beb1e3000 r-xp 00000000 00:26 83674 /usr/lib64/ruby/stringio.so 7f1beb1e3000-7f1beb3e2000 ---p 00007000 00:26 83674 /usr/lib64/ruby/stringio.so 7f1beb3e2000-7f1beb3e3000 r--p 00006000 00:26 83674 /usr/lib64/ruby/stringio.so 7f1beb3e3000-7f1beb3e4000 rw-p 00000000 00:00 0 7f1beb3e4000-7f1beb3e6000 r-xp 00000000 00:26 83638 /usr/lib64/ruby/enc/trans/transdb.so 7f1beb3e6000-7f1beb5e6000 ---p 00002000 00:26 83638 /usr/lib64/ruby/enc/trans/transdb.so 7f1beb5e6000-7f1beb5e7000 r--p 00002000 00:26 83638 /usr/lib64/ruby/enc/trans/transdb.so 7f1beb5e7000-7f1beb5e8000 rw-p 00000000 00:00 0 7f1beb5e8000-7f1beb5ea000 r-xp 00000000 00:26 83595 /usr/lib64/ruby/enc/encdb.so 7f1beb5ea000-7f1beb7e9000 ---p 00002000 00:26 83595 /usr/lib64/ruby/enc/encdb.so 7f1beb7e9000-7f1beb7ea000 r--p 00001000 00:26 83595 /usr/lib64/ruby/enc/encdb.so 7f1beb7ea000-7f1beb7eb000 rw-p 00000000 00:00 0 7f1beb7eb000-7f1beb865000 r-xp 00000000 00:26 70225 /usr/lib64/libfreebl3.so 7f1beb865000-7f1beba64000 ---p 0007a000 00:26 70225 /usr/lib64/libfreebl3.so 7f1beba64000-7f1beba66000 r--p 00079000 00:26 70225 /usr/lib64/libfreebl3.so 7f1beba66000-7f1beba67000 rw-p 0007b000 00:26 70225 /usr/lib64/libfreebl3.so 7f1beba67000-7f1beba6b000 rw-p 00000000 00:00 0 7f1beba6b000-7f1bebc2f000 r-xp 00000000 00:26 70436 /usr/lib64/libc-2.23.so 7f1bebc2f000-7f1bebe2f000 ---p 001c4000 00:26 70436 /usr/lib64/libc-2.23.so 7f1bebe2f000-7f1bebe33000 r--p 001c4000 00:26 70436 /usr/lib64/libc-2.23.so 7f1bebe33000-7f1bebe35000 rw-p 001c8000 00:26 70436 /usr/lib64/libc-2.23.so 7f1bebe35000-7f1bebe39000 rw-p 00000000 00:00 0 7f1bebe39000-7f1bebf42000 r-xp 00000000 00:26 70444 /usr/lib64/libm-2.23.so 7f1bebf42000-7f1bec141000 ---p 00109000 00:26 70444 /usr/lib64/libm-2.23.so 7f1bec141000-7f1bec142000 r--p 00108000 00:26 70444 /usr/lib64/libm-2.23.so 7f1bec142000-7f1bec143000 rw-p 00109000 00:26 70444 /usr/lib64/libm-2.23.so 7f1bec143000-7f1bec14a000 r-xp 00000000 00:26 70440 /usr/lib64/libcrypt-2.23.so 7f1bec14a000-7f1bec349000 ---p 00007000 00:26 70440 /usr/lib64/libcrypt-2.23.so 7f1bec349000-7f1bec34a000 r--p 00006000 00:26 70440 /usr/lib64/libcrypt-2.23.so 7f1bec34a000-7f1bec34b000 rw-p 00007000 00:26 70440 /usr/lib64/libcrypt-2.23.so 7f1bec34b000-7f1bec379000 rw-p 00000000 00:00 0 7f1bec379000-7f1bec37c000 r-xp 00000000 00:26 70442 /usr/lib64/libdl-2.23.so 7f1bec37c000-7f1bec57b000 ---p 00003000 00:26 70442 /usr/lib64/libdl-2.23.so 7f1bec57b000-7f1bec57c000 r--p 00002000 00:26 70442 /usr/lib64/libdl-2.23.so 7f1bec57c000-7f1bec57d000 rw-p 00003000 00:26 70442 /usr/lib64/libdl-2.23.so 7f1bec57d000-7f1bec594000 r-xp 00000000 00:26 70464 /usr/lib64/libpthread-2.23.so 7f1bec594000-7f1bec793000 ---p 00017000 00:26 70464 /usr/lib64/libpthread-2.23.so 7f1bec793000-7f1bec794000 r--p 00016000 00:26 70464 /usr/lib64/libpthread-2.23.so 7f1bec794000-7f1bec795000 rw-p 00017000 00:26 70464 /usr/lib64/libpthread-2.23.so 7f1bec795000-7f1bec799000 rw-p 00000000 00:00 0 7f1bec799000-7f1beca0d000 r-xp 00000000 00:26 83576 /usr/lib64/libruby.so.2.3.0 7f1beca0d000-7f1becc0c000 ---p 00274000 00:26 83576 /usr/lib64/libruby.so.2.3.0 7f1becc0c000-7f1becc12000 r--p 00273000 00:26 83576 /usr/lib64/libruby.so.2.3.0 7f1becc12000-7f1becc15000 rw-p 00279000 00:26 83576 /usr/lib64/libruby.so.2.3.0 7f1becc15000-7f1becc26000 rw-p 00000000 00:00 0 7f1becc26000-7f1becc4a000 r-xp 00000000 00:26 70429 /usr/lib64/ld-2.23.so 7f1becceb000-7f1becd19000 r--s 00000000 00:26 84359 /usr/lib64/gems/ruby/therubyracer-0.11.0/v8/init.so 7f1becd19000-7f1becd3c000 r--s 00000000 00:26 70464 /usr/lib64/libpthread-2.23.so 7f1becd3c000-7f1becd3e000 r--s 00000000 00:26 84020 /usr/bin/ruby-mri 7f1becd3e000-7f1bece44000 rw-p 00000000 00:00 0 7f1bece44000-7f1bece45000 ---p 00000000 00:00 0 7f1bece45000-7f1bece48000 rw-p 00000000 00:00 0 [stack:6402] 7f1bece48000-7f1bece49000 rw-p 00000000 00:00 0 7f1bece49000-7f1bece4a000 r--p 00023000 00:26 70429 /usr/lib64/ld-2.23.so 7f1bece4a000-7f1bece4b000 rw-p 00024000 00:26 70429 /usr/lib64/ld-2.23.so 7f1bece4b000-7f1bece4c000 rw-p 00000000 00:00 0 7ffcc5928000-7ffcc6127000 rw-p 00000000 00:00 0 7ffcc615a000-7ffcc615c000 r--p 00000000 00:00 0 [vvar] 7ffcc615c000-7ffcc615e000 r-xp 00000000 00:00 0 [vdso] ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall] [NOTE] You may have encountered a bug in the Ruby interpreter or extension libraries. Bug reports are welcome. For details: http://www.ruby-lang.org/bugreport.html
Sorry, I notice now that this isn't just therubyracer - the standard 'd8' command shipped in v8 simply segfaults on F24 too. Version-Release number of selected component (if applicable): v8-3.14.5.10-23.fc24.x86_64 Additional info: # gdb d8 GNU gdb (GDB) Fedora 7.11-66.fc24 [..] (gdb) run Starting program: /usr/bin/d8 [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Program received signal SIGSEGV, Segmentation fault. v8::internal::PagedSpace::AdvanceSweeper (this=this@entry=0xa06590, bytes_to_sweep=bytes_to_sweep@entry=64) at src/spaces.cc:2316 2316 if (ShouldBeSweptLazily(p)) { (gdb) bt #0 v8::internal::PagedSpace::AdvanceSweeper (this=this@entry=0xa06590, bytes_to_sweep=bytes_to_sweep@entry=64) at src/spaces.cc:2316 #1 0x00000000005ef173 in v8::internal::PagedSpace::SlowAllocateRaw (this=0xa06590, size_in_bytes=64) at src/spaces.cc:2360 #2 0x0000000000495bb3 in v8::internal::PagedSpace::AllocateRaw (size_in_bytes=64, this=0xa06590) at src/spaces-inl.h:284 #3 v8::internal::Heap::AllocateRawMap (this=0x9dbc90, this@entry=0x0) at src/heap-inl.h:271 #4 v8::internal::Heap::AllocatePartialMap (this=this@entry=0x9dbc90, instance_type=instance_type@entry=v8::internal::MAP_TYPE, instance_size=instance_size@entry=64) at src/heap.cc:2064 #5 0x0000000000499ed6 in v8::internal::Heap::CreateInitialMaps (this=this@entry=0x9dbc90) at src/heap.cc:2192 #6 0x00000000004a2dd2 in v8::internal::Heap::SetUp (this=this@entry=0x9dbc90, create_heap_objects=create_heap_objects@entry=true) at src/heap.cc:6233 #7 0x000000000050556e in v8::internal::Isolate::Init (this=0x9dbc80, des=0x0) at src/isolate.cc:1898 #8 0x0000000000607f61 in v8::Locker::Locker (this=0x7fffffffe3f0, isolate=<optimized out>) at src/v8threads.cc:66 #9 0x0000000000687758 in v8::Shell::Initialize () at src/d8.cc:1229 #10 0x000000000068932d in v8::Shell::Main (argc=1, argv=0x7fffffffe578) at src/d8.cc:1845 #11 0x00007ffff6d1d721 in __libc_start_main (main=0x405510 <main(int, char**)>, argc=1, argv=0x7fffffffe578, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe568) at ../csu/libc-start.c:289 #12 0x0000000000405629 in _start () (gdb) p p $1 = (v8::internal::Page *) 0x0 The backtrace using therubyracer is pretty much the same. Thread 1 "ruby-mri" received signal SIGSEGV, Segmentation fault. v8::internal::PagedSpace::AdvanceSweeper (this=this@entry=0x555555c3d540, bytes_to_sweep=bytes_to_sweep@entry=64) at src/spaces.cc:2316 2316 if (ShouldBeSweptLazily(p)) { (gdb) bt #0 v8::internal::PagedSpace::AdvanceSweeper (this=this@entry=0x555555c3d540, bytes_to_sweep=bytes_to_sweep@entry=64) at src/spaces.cc:2316 #1 0x00007ffff5b6d353 in v8::internal::PagedSpace::SlowAllocateRaw (this=0x555555c3d540, size_in_bytes=64) at src/spaces.cc:2360 #2 0x00007ffff5a13803 in v8::internal::PagedSpace::AllocateRaw (size_in_bytes=64, this=0x555555c3d540) at src/spaces-inl.h:284 #3 v8::internal::Heap::AllocateRawMap (this=0x555555ba7360, this@entry=0x0) at src/heap-inl.h:271 #4 v8::internal::Heap::AllocatePartialMap (this=this@entry=0x555555ba7360, instance_type=instance_type@entry=v8::internal::MAP_TYPE, instance_size=instance_size@entry=64) at src/heap.cc:2064 #5 0x00007ffff5a17b26 in v8::internal::Heap::CreateInitialMaps (this=this@entry=0x555555ba7360) at src/heap.cc:2192 #6 0x00007ffff5a20a22 in v8::internal::Heap::SetUp (this=this@entry=0x555555ba7360, create_heap_objects=create_heap_objects@entry=true) at src/heap.cc:6233 #7 0x00007ffff5a831be in v8::internal::Isolate::Init (this=0x555555ba7350, des=0x0) at src/isolate.cc:1898 #8 0x00007ffff5b86141 in v8::Locker::Locker (this=0x7fffffffd180, isolate=<optimized out>) at src/v8threads.cc:66 #9 0x00007ffff5f5b9db in rr::Locker::setupLockAndCall(int*, unsigned long) () from /usr/lib64/gems/ruby/therubyracer-0.11.0/v8/init.so #10 0x00007ffff5f5baa7 in rr::Locker::doLock(int, unsigned long*, unsigned long) () from /usr/lib64/gems/ruby/therubyracer-0.11.0/v8/init.so #11 0x00007ffff7acf150 in vm_call_cfunc () from /lib64/libruby.so.2.3 #12 0x00007ffff7adda23 in vm_call_method_each_type () from /lib64/libruby.so.2.3 #13 0x00007ffff7adea63 in vm_call_general () from /lib64/libruby.so.2.3 #14 0x00007ffff7ad2f17 in vm_exec_core () from /lib64/libruby.so.2.3 #15 0x00007ffff7ad83df in vm_exec () from /lib64/libruby.so.2.3 [...]
Created attachment 1164037 [details] Fix SEGSEGV with GCC6 This seems to fix the segfault for me. The patch is based on https://github.com/nodejs/node/issues/6272 Specifically this commit: https://github.com/targos/node/commit/86c9184ef1083a56f3e05839783634b10707f9ca But it needs some header cleanup ... I leave it to anybody else ;)
This should be the scratch build, if it succeeds: http://koji.fedoraproject.org/koji/taskinfo?taskID=14351676
Chm, trying to rebuild therubyracer with this version of v8, it core dumps, so this does not solve the problem entirely, although the d8 seems to work ...
v8-3.14.5.10-24.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-67dcc8e9dd
v8-3.14.5.10-24.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-67dcc8e9dd
v8-3.14.5.10-24.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.