Project

General

Profile

Actions

Bug #15511

closed

RubyVM::AbstractSyntaxTree.parse segfault

Bug #15511: RubyVM::AbstractSyntaxTree.parse segfault

Added by christj (Christopher Jenkins) almost 7 years ago. Updated almost 7 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-linux]
[ruby-core:90904]

Description

parse() segfault when given a boolean:

ruby -e 'RubyVM::AbstractSyntaxTree.parse true'

root@a9f7119e9273:~# ruby -e 'RubyVM::AbstractSyntaxTree.parse true' -e:1: [BUG] Segmentation fault at 0x0000000000000014 ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-linux] -- Control frame information ----------------------------------------------- c:0003 p:---- s:0011 e:000010 CFUNC :parse c:0002 p:0014 s:0006 e:000005 EVAL -e:1 [FINISH] c:0001 p:0000 s:0003 E:0009e0 (none) [FINISH] -- Ruby level backtrace information ---------------------------------------- -e:1:in `<main>' -e:1:in `parse' -- Machine register context ------------------------------------------------ RIP: 0x00007f33d92e858f RBP: 0x0000000000000001 RSP: 0x00007fff86191e10 RAX: 0x0000000000000000 RBX: 0x0000000000000008 RCX: 0x0000000000000001 RDX: 0x0000000000000008 RDI: 0x00000000ffffffff RSI: 0x0000000000000008 R8: 0x00007f33d8409f08 R9: 0x0000000000000140 R10: 0x000055c845dc2608 R11: 0x000055c845dc43d0 R12: 0x0000000000000008 R13: 0x0000000000000008 R14: 0x000055c845dc2608 R15: 0x000055c8459efe40 EFL: 0x0000000000010202 -- C level backtrace information ------------------------------------------- /usr/local/lib/libruby.so.2.6(rb_vm_bugreport+0x4f1) [0x7f33d93f4d61] vm_dump.c:715 /usr/local/lib/libruby.so.2.6(rb_bug_context+0xe7) [0x7f33d9245d27] error.c:609 /usr/local/lib/libruby.so.2.6(sigsegv+0x42) [0x7f33d935e802] signal.c:998 /lib/x86_64-linux-gnu/libpthread.so.0(__restore_rt+0x0) [0x7f33d8d680c0] /usr/local/lib/libruby.so.2.6(rb_parser_compile_string_path+0x2f) [0x7f33d92e858f] parse.y:4961 /usr/local/lib/libruby.so.2.6(rb_ast_s_parse+0x35) [0x7f33d91d1ba5] ast.c:100 /usr/local/lib/libruby.so.2.6(vm_call_cfunc+0x10f) [0x7f33d93d4bef] vm_insnhelper.c:1908 /usr/local/lib/libruby.so.2.6(vm_call_method+0xf3) [0x7f33d93e8913] vm_insnhelper.c:2397 /usr/local/lib/libruby.so.2.6(vm_exec_core+0x15a) [0x7f33d93de30a] insns.def:763 /usr/local/lib/libruby.so.2.6(rb_vm_exec+0xac) [0x7f33d93e499c] vm.c:1885 /usr/local/lib/libruby.so.2.6(ruby_exec_internal+0xda) [0x7f33d924cb9a] eval.c:261 /usr/local/lib/libruby.so.2.6(ruby_exec_node+0x1d) [0x7f33d924eb8d] eval.c:325 /usr/local/lib/libruby.so.2.6(ruby_run_node+0x2e) [0x7f33d9252b4e] eval.c:317 /usr/local/bin/ruby(main+0x5b) [0x55c844ed49db] ./main.c:42 -- Other runtime information ----------------------------------------------- * Loaded script: -e * Loaded features: 0 enumerator.so 1 thread.rb 2 rational.so 3 complex.so 4 /usr/local/lib/ruby/2.6.0/x86_64-linux/enc/encdb.so 5 /usr/local/lib/ruby/2.6.0/x86_64-linux/enc/trans/transdb.so 6 /usr/local/lib/ruby/2.6.0/x86_64-linux/rbconfig.rb 7 /usr/local/lib/ruby/2.6.0/rubygems/compatibility.rb 8 /usr/local/lib/ruby/2.6.0/rubygems/defaults.rb 9 /usr/local/lib/ruby/2.6.0/rubygems/deprecate.rb 10 /usr/local/lib/ruby/2.6.0/rubygems/errors.rb 11 /usr/local/lib/ruby/2.6.0/rubygems/version.rb 12 /usr/local/lib/ruby/2.6.0/rubygems/requirement.rb 13 /usr/local/lib/ruby/2.6.0/rubygems/platform.rb 14 /usr/local/lib/ruby/2.6.0/rubygems/basic_specification.rb 15 /usr/local/lib/ruby/2.6.0/rubygems/stub_specification.rb 16 /usr/local/lib/ruby/2.6.0/delegate.rb 17 /usr/local/lib/ruby/2.6.0/uri/rfc2396_parser.rb 18 /usr/local/lib/ruby/2.6.0/uri/rfc3986_parser.rb 19 /usr/local/lib/ruby/2.6.0/uri/common.rb 20 /usr/local/lib/ruby/2.6.0/uri/generic.rb 21 /usr/local/lib/ruby/2.6.0/uri/file.rb 22 /usr/local/lib/ruby/2.6.0/uri/ftp.rb 23 /usr/local/lib/ruby/2.6.0/uri/http.rb 24 /usr/local/lib/ruby/2.6.0/uri/https.rb 25 /usr/local/lib/ruby/2.6.0/uri/ldap.rb 26 /usr/local/lib/ruby/2.6.0/uri/ldaps.rb 27 /usr/local/lib/ruby/2.6.0/uri/mailto.rb 28 /usr/local/lib/ruby/2.6.0/uri.rb 29 /usr/local/lib/ruby/2.6.0/rubygems/specification_policy.rb 30 /usr/local/lib/ruby/2.6.0/rubygems/util/list.rb 31 /usr/local/lib/ruby/2.6.0/x86_64-linux/stringio.so 32 /usr/local/lib/ruby/2.6.0/rubygems/specification.rb 33 /usr/local/lib/ruby/2.6.0/rubygems/exceptions.rb 34 /usr/local/lib/ruby/2.6.0/rubygems/util.rb 35 /usr/local/lib/ruby/2.6.0/rubygems/bundler_version_finder.rb 36 /usr/local/lib/ruby/2.6.0/rubygems/dependency.rb 37 /usr/local/lib/ruby/2.6.0/rubygems/core_ext/kernel_gem.rb 38 /usr/local/lib/ruby/2.6.0/monitor.rb 39 /usr/local/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb 40 /usr/local/lib/ruby/2.6.0/rubygems/core_ext/kernel_warn.rb 41 /usr/local/lib/ruby/2.6.0/rubygems.rb 42 /usr/local/lib/ruby/2.6.0/rubygems/path_support.rb 43 /usr/local/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/version.rb 44 /usr/local/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/core_ext/name_error.rb 45 /usr/local/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/levenshtein.rb 46 /usr/local/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/jaro_winkler.rb 47 /usr/local/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/spell_checker.rb 48 /usr/local/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb 49 /usr/local/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb 50 /usr/local/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/spell_checkers/name_error_checkers.rb 51 /usr/local/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/spell_checkers/method_name_checker.rb 52 /usr/local/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/spell_checkers/key_error_checker.rb 53 /usr/local/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/spell_checkers/null_checker.rb 54 /usr/local/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/formatters/plain_formatter.rb 55 /usr/local/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean.rb * Process memory map: 55c844ed4000-55c844ed5000 r-xp 00000000 00:2b 35434 /usr/local/bin/ruby 55c8450d4000-55c8450d5000 r--p 00000000 00:2b 35434 /usr/local/bin/ruby 55c8450d5000-55c8450d6000 rw-p 00001000 00:2b 35434 /usr/local/bin/ruby 55c8459cc000-55c845e01000 rw-p 00000000 00:00 0 [heap] 7f33d4878000-7f33d4a15000 r--s 00000000 00:2b 598 /lib/x86_64-linux-gnu/libc-2.24.so 7f33d4a15000-7f33d4a37000 r--s 00000000 00:2b 661 /lib/x86_64-linux-gnu/libpthread-2.24.so 7f33d4a37000-7f33d507e000 rw-p 00000000 00:00 0 7f33d507e000-7f33d583f000 r--s 00000000 00:2b 35472 /usr/local/lib/libruby.so.2.6.0 7f33d583f000-7f33d5855000 r-xp 00000000 00:2b 618 /lib/x86_64-linux-gnu/libgcc_s.so.1 7f33d5855000-7f33d5a54000 ---p 00016000 00:2b 618 /lib/x86_64-linux-gnu/libgcc_s.so.1 7f33d5a54000-7f33d5a55000 r--p 00015000 00:2b 618 /lib/x86_64-linux-gnu/libgcc_s.so.1 7f33d5a55000-7f33d5a56000 rw-p 00016000 00:2b 618 /lib/x86_64-linux-gnu/libgcc_s.so.1 7f33d5a56000-7f33d5a5e000 r-xp 00000000 00:2b 36699 /usr/local/lib/ruby/2.6.0/x86_64-linux/stringio.so 7f33d5a5e000-7f33d5c5e000 ---p 00008000 00:2b 36699 /usr/local/lib/ruby/2.6.0/x86_64-linux/stringio.so 7f33d5c5e000-7f33d5c5f000 r--p 00008000 00:2b 36699 /usr/local/lib/ruby/2.6.0/x86_64-linux/stringio.so 7f33d5c5f000-7f33d5c60000 rw-p 00009000 00:2b 36699 /usr/local/lib/ruby/2.6.0/x86_64-linux/stringio.so 7f33d5c60000-7f33d5c62000 r-xp 00000000 00:2b 36657 /usr/local/lib/ruby/2.6.0/x86_64-linux/enc/trans/transdb.so 7f33d5c62000-7f33d5e62000 ---p 00002000 00:2b 36657 /usr/local/lib/ruby/2.6.0/x86_64-linux/enc/trans/transdb.so 7f33d5e62000-7f33d5e63000 r--p 00002000 00:2b 36657 /usr/local/lib/ruby/2.6.0/x86_64-linux/enc/trans/transdb.so 7f33d5e63000-7f33d5e64000 rw-p 00003000 00:2b 36657 /usr/local/lib/ruby/2.6.0/x86_64-linux/enc/trans/transdb.so 7f33d5e64000-7f33d5e66000 r-xp 00000000 00:2b 36614 /usr/local/lib/ruby/2.6.0/x86_64-linux/enc/encdb.so 7f33d5e66000-7f33d6065000 ---p 00002000 00:2b 36614 /usr/local/lib/ruby/2.6.0/x86_64-linux/enc/encdb.so 7f33d6065000-7f33d6066000 r--p 00001000 00:2b 36614 /usr/local/lib/ruby/2.6.0/x86_64-linux/enc/encdb.so 7f33d6066000-7f33d6067000 rw-p 00002000 00:2b 36614 /usr/local/lib/ruby/2.6.0/x86_64-linux/enc/encdb.so 7f33d6067000-7f33d8070000 rw-p 00000000 00:00 0 7f33d8070000-7f33d8205000 r-xp 00000000 00:2b 598 /lib/x86_64-linux-gnu/libc-2.24.so 7f33d8205000-7f33d8405000 ---p 00195000 00:2b 598 /lib/x86_64-linux-gnu/libc-2.24.so 7f33d8405000-7f33d8409000 r--p 00195000 00:2b 598 /lib/x86_64-linux-gnu/libc-2.24.so 7f33d8409000-7f33d840b000 rw-p 00199000 00:2b 598 /lib/x86_64-linux-gnu/libc-2.24.so 7f33d840b000-7f33d840f000 rw-p 00000000 00:00 0 7f33d840f000-7f33d8512000 r-xp 00000000 00:2b 627 /lib/x86_64-linux-gnu/libm-2.24.so 7f33d8512000-7f33d8711000 ---p 00103000 00:2b 627 /lib/x86_64-linux-gnu/libm-2.24.so 7f33d8711000-7f33d8712000 r--p 00102000 00:2b 627 /lib/x86_64-linux-gnu/libm-2.24.so 7f33d8712000-7f33d8713000 rw-p 00103000 00:2b 627 /lib/x86_64-linux-gnu/libm-2.24.so 7f33d8713000-7f33d871b000 r-xp 00000000 00:2b 608 /lib/x86_64-linux-gnu/libcrypt-2.24.so 7f33d871b000-7f33d891b000 ---p 00008000 00:2b 608 /lib/x86_64-linux-gnu/libcrypt-2.24.so 7f33d891b000-7f33d891c000 r--p 00008000 00:2b 608 /lib/x86_64-linux-gnu/libcrypt-2.24.so 7f33d891c000-7f33d891d000 rw-p 00009000 00:2b 608 /lib/x86_64-linux-gnu/libcrypt-2.24.so 7f33d891d000-7f33d894b000 rw-p 00000000 00:00 0 7f33d894b000-7f33d894e000 r-xp 00000000 00:2b 610 /lib/x86_64-linux-gnu/libdl-2.24.so 7f33d894e000-7f33d8b4d000 ---p 00003000 00:2b 610 /lib/x86_64-linux-gnu/libdl-2.24.so 7f33d8b4d000-7f33d8b4e000 r--p 00002000 00:2b 610 /lib/x86_64-linux-gnu/libdl-2.24.so 7f33d8b4e000-7f33d8b4f000 rw-p 00003000 00:2b 610 /lib/x86_64-linux-gnu/libdl-2.24.so 7f33d8b4f000-7f33d8b56000 r-xp 00000000 00:2b 665 /lib/x86_64-linux-gnu/librt-2.24.so 7f33d8b56000-7f33d8d55000 ---p 00007000 00:2b 665 /lib/x86_64-linux-gnu/librt-2.24.so 7f33d8d55000-7f33d8d56000 r--p 00006000 00:2b 665 /lib/x86_64-linux-gnu/librt-2.24.so 7f33d8d56000-7f33d8d57000 rw-p 00007000 00:2b 665 /lib/x86_64-linux-gnu/librt-2.24.so 7f33d8d57000-7f33d8d6f000 r-xp 00000000 00:2b 661 /lib/x86_64-linux-gnu/libpthread-2.24.so 7f33d8d6f000-7f33d8f6e000 ---p 00018000 00:2b 661 /lib/x86_64-linux-gnu/libpthread-2.24.so 7f33d8f6e000-7f33d8f6f000 r--p 00017000 00:2b 661 /lib/x86_64-linux-gnu/libpthread-2.24.so 7f33d8f6f000-7f33d8f70000 rw-p 00018000 00:2b 661 /lib/x86_64-linux-gnu/libpthread-2.24.so 7f33d8f70000-7f33d8f74000 rw-p 00000000 00:00 0 7f33d8f74000-7f33d8f8d000 r-xp 00000000 00:2b 686 /lib/x86_64-linux-gnu/libz.so.1.2.8 7f33d8f8d000-7f33d918c000 ---p 00019000 00:2b 686 /lib/x86_64-linux-gnu/libz.so.1.2.8 7f33d918c000-7f33d918d000 r--p 00018000 00:2b 686 /lib/x86_64-linux-gnu/libz.so.1.2.8 7f33d918d000-7f33d918e000 rw-p 00019000 00:2b 686 /lib/x86_64-linux-gnu/libz.so.1.2.8 7f33d918e000-7f33d94e6000 r-xp 00000000 00:2b 35472 /usr/local/lib/libruby.so.2.6.0 7f33d94e6000-7f33d96e5000 ---p 00358000 00:2b 35472 /usr/local/lib/libruby.so.2.6.0 7f33d96e5000-7f33d96eb000 r--p 00357000 00:2b 35472 /usr/local/lib/libruby.so.2.6.0 7f33d96eb000-7f33d96ee000 rw-p 0035d000 00:2b 35472 /usr/local/lib/libruby.so.2.6.0 7f33d96ee000-7f33d96ff000 rw-p 00000000 00:00 0 7f33d96ff000-7f33d9722000 r-xp 00000000 00:2b 580 /lib/x86_64-linux-gnu/ld-2.24.so 7f33d9730000-7f33d97ec000 rw-p 00000000 00:00 0 7f33d97ec000-7f33d9811000 r--s 00000000 00:2b 35434 /usr/local/bin/ruby 7f33d9811000-7f33d9916000 rw-p 00000000 00:00 0 7f33d991f000-7f33d9922000 rw-p 00000000 00:00 0 7f33d9922000-7f33d9923000 r--p 00023000 00:2b 580 /lib/x86_64-linux-gnu/ld-2.24.so 7f33d9923000-7f33d9924000 rw-p 00024000 00:2b 580 /lib/x86_64-linux-gnu/ld-2.24.so 7f33d9924000-7f33d9925000 rw-p 00000000 00:00 0 7fff85994000-7fff86193000 rw-p 00000000 00:00 0 [stack] 7fff861f6000-7fff861f9000 r--p 00000000 00:00 0 [vvar] 7fff861f9000-7fff861fb000 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: https://www.ruby-lang.org/bugreport.html Aborted (core dumped) 
Actions

Also available in: PDF Atom