Project

General

Profile

Actions

Bug #12916

closed

TestRipper::Generic#test_parse_files causes SEGV

Added by shugo (Shugo Maeda) about 5 years ago. Updated about 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:78069]

Description

TestRipper::Generic#test_parse_files sometimes causes SEGV.

From http://rubyci.org/logs/www.rubyist.net/~akr/chkbuild/debian/ruby-trunk/log/20161110T024700Z.fail.html.gz:

  1) Failure:
TestRipper::Generic#test_parse_files [/extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/test/ripper/test_files.rb:8]:
pid 14881 killed by SIGABRT (signal 6) (core dumped)
| (eval):1: [BUG] Segmentation fault at 0x000096
| ruby 2.4.0dev (2016-11-10 trunk 56686) [i686-linux]
| 
| -- Control frame information -----------------------------------------------
| c:0009 p:---- s:0044 e:000043 CFUNC  :inspect
| c:0008 p:0016 s:0040 e:000039 METHOD (eval):1 [FINISH]
| c:0007 p:---- s:0034 e:000033 CFUNC  :parse
| c:0006 p:0033 s:0030 e:000029 BLOCK  -:15
| c:0005 p:0062 s:0027 e:000026 METHOD /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/test/lib/test/unit/assertions.rb:177
| c:0004 p:0055 s:0016 e:000015 BLOCK  -:14 [FINISH]
| c:0003 p:---- s:0012 e:000011 CFUNC  :each
| c:0002 p:0117 s:0008 E:0009b8 EVAL   -:12 [FINISH]
| c:0001 p:0000 s:0003 E:002308 (none) [FINISH]
| 
| -- Ruby level backtrace information ----------------------------------------
| -:12:in `<main>'
| -:12:in `each'
| -:14:in `block in <main>'
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/test/lib/test/unit/assertions.rb:177:in `assert_nothing_raised'
| -:15:in `block (2 levels) in <main>'
| -:15:in `parse'
| (eval):1:in `on_field'
| (eval):1:in `inspect'
| 
| -- Machine register context ------------------------------------------------
|   GS: 0x00000033  FS: 0x00000000  ES: 0x0000007b  DS: 0x0000007b EDI: 0x00000092
|  ESI: 0x00000092 EBP: 0x00000ad1 ESP: 0xbfd035f0 EBX: 0xb77616d4 EDX: 0x00000ad1
|  ECX: 0x00000000 EAX: 0x00000092 TRA: 0x0000000e ERR: 0x00000004 EIP: 0xb767112d
|   CS: 0x00000073 EFL: 0x00010296 UES: 0xbfd035f0  SS: 0x0000007b
| 
| -- C level backtrace information -------------------------------------------
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(rb_vm_bugreport+0x6bc) [0xb768cc3c] vm_dump.c:679
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(rb_bug_context+0x5f) [0xb75189cf] error.c:426
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(sigsegv+0x4c) [0xb760104c] signal.c:897
|  [0xb776f40c]
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(rb_search_method_entry+0x3d) [0xb767112d] ./include/ruby/ruby.h:1945
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(rb_call0+0x27) [0xb76844c7] vm_eval.c:331
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(rb_inspect+0x3e) [0xb758ad9e] object.c:505
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(inspect_ary+0x94) [0xb74af5b4] array.c:2106
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(exec_recursive+0x3e8) [0xb763ce78] thread.c:4627
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(rb_ary_inspect+0x3e) [0xb74afece] array.c:2131
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(call_cfunc_0+0xe) [0xb766a6ce] vm_insnhelper.c:1579
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(vm_call_cfunc+0x106) [0xb7670426] vm_insnhelper.c:1752
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(vm_exec_core+0x251a) [0xb767c0ca] insns.def:1066
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(vm_exec+0x73) [0xb767fc63] vm.c:1712
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(rb_call0+0xcc) [0xb768456c] vm_eval.c:61
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(rb_funcall+0x78) [0xb7685228] vm_eval.c:625
| [0xb716ab20]
| [0xb716ac0c]
| [0xb7172de0]
| [0xb717d022]
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(rb_ensure+0xd1) [0xb7521ac1] eval.c:910
| [0xb71672b3]
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(call_cfunc_0+0xe) [0xb766a6ce] vm_insnhelper.c:1579
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(vm_call_cfunc+0x106) [0xb7670426] vm_insnhelper.c:1752
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(vm_exec_core+0x251a) [0xb767c0ca] insns.def:1066
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(vm_exec+0x73) [0xb767fc63] vm.c:1712
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(invoke_iseq_block_from_c+0x2ab) [0xb76806cb] vm.c:969
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(invoke_block_from_c_splattable+0xc9) [0xb7680ce9] vm.c:1032
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(rb_yield+0x66) [0xb76816e6] vm.c:1069
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(rb_ary_each+0x43) [0xb74afa73] array.c:1824
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(call_cfunc_0+0xe) [0xb766a6ce] vm_insnhelper.c:1579
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(vm_call_cfunc+0x106) [0xb7670426] vm_insnhelper.c:1752
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(vm_call_method_each_type+0x115) [0xb76819f5] vm_insnhelper.c:2138
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(vm_call_method+0xae) [0xb7681ece] vm_insnhelper.c:2291
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(vm_exec_core+0x2b5a) [0xb767c70a] insns.def:967
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(vm_exec+0x73) [0xb767fc63] vm.c:1712
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(ruby_exec_internal+0xc5) [0xb751ebe5] eval.c:244
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(ruby_exec_node+0x24) [0xb7520964] eval.c:308
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0(ruby_run_node+0x36) [0xb75233d6] eval.c:300
| /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/ruby(main+0x7e) [0x804881e] main.c:36
| 
| -- Other runtime information -----------------------------------------------
| 
| * Loaded script: -
| 
| * Loaded features:
| 
|     0 enumerator.so
|     1 thread.rb
|     2 rational.so
|     3 complex.so
|     4 /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/.ext/i686-linux/enc/encdb.so
|     5 /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/.ext/i686-linux/enc/trans/transdb.so
|     6 /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/lib/unicode_normalize.rb
|     7 /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/.ext/i686-linux/ripper.so
|     8 /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/.ext/common/ripper/core.rb
|     9 /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/.ext/common/ripper/lexer.rb
|    10 /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/.ext/common/ripper/filter.rb
|    11 /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/.ext/common/ripper/sexp.rb
|    12 /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/.ext/common/ripper.rb
|    13 /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/lib/optparse.rb
|    14 /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/rbconfig.rb
|    15 /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/test/lib/leakchecker.rb
|    16 /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/test/lib/minitest/unit.rb
|    17 /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/lib/prettyprint.rb
|    18 /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/lib/pp.rb
|    19 /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/test/lib/test/unit/assertions.rb
|    20 /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/lib/open3.rb
|    21 /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/lib/timeout.rb
|    22 /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/test/lib/find_executable.rb
|    23 /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/.ext/i686-linux/rbconfig/sizeof.so
|    24 /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/test/lib/envutil.rb
|    25 /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/test/lib/test/unit/testcase.rb
|    26 /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/test/lib/test/unit.rb
| 
| * Process memory map:
| 
| 08048000-08049000 r-xp 00000000 ca:05 9964424    /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/ruby
| 08049000-0804a000 rw-p 00000000 ca:05 9964424    /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/ruby
| 0829a000-0864e000 rw-p 0829a000 00:00 0          [heap]
| b65ee000-b7113000 r--s 00000000 ca:05 9964009    /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0
| b7113000-b7137000 r--s 00000000 ca:05 9964424    /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/ruby
| b7137000-b7153000 r-xp 00000000 ca:02 280165     /lib/i386-linux-gnu/libgcc_s.so.1
| b7153000-b7154000 rw-p 0001b000 ca:02 280165     /lib/i386-linux-gnu/libgcc_s.so.1
| b7163000-b7194000 r-xp 00000000 ca:05 257564     /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/.ext/i686-linux/ripper.so
| b7194000-b7195000 rw-p 00031000 ca:05 257564     /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/.ext/i686-linux/ripper.so
| b7195000-b7217000 rw-p b7195000 00:00 0 
| b7217000-b737b000 r-xp 00000000 ca:02 281165     /lib/i386-linux-gnu/i686/nosegneg/libc-2.13.so
| b737b000-b737c000 ---p 00164000 ca:02 281165     /lib/i386-linux-gnu/i686/nosegneg/libc-2.13.so
| b737c000-b737e000 r--p 00164000 ca:02 281165     /lib/i386-linux-gnu/i686/nosegneg/libc-2.13.so
| b737e000-b737f000 rw-p 00166000 ca:02 281165     /lib/i386-linux-gnu/i686/nosegneg/libc-2.13.so
| b737f000-b7383000 rw-p b737f000 00:00 0 
| b7383000-b73a7000 r-xp 00000000 ca:02 281175     /lib/i386-linux-gnu/i686/nosegneg/libm-2.13.so
| b73a7000-b73a8000 r--p 00023000 ca:02 281175     /lib/i386-linux-gnu/i686/nosegneg/libm-2.13.so
| b73a8000-b73a9000 rw-p 00024000 ca:02 281175     /lib/i386-linux-gnu/i686/nosegneg/libm-2.13.so
| b73a9000-b73b2000 r-xp 00000000 ca:02 281171     /lib/i386-linux-gnu/i686/nosegneg/libcrypt-2.13.so
| b73b2000-b73b3000 r--p 00008000 ca:02 281171     /lib/i386-linux-gnu/i686/nosegneg/libcrypt-2.13.so
| b73b3000-b73b4000 rw-p 00009000 ca:02 281171     /lib/i386-linux-gnu/i686/nosegneg/libcrypt-2.13.so
| b73b4000-b73db000 rw-p b73b4000 00:00 0 
| b73db000-b73dd000 r-xp 00000000 ca:02 281173     /lib/i386-linux-gnu/i686/nosegneg/libdl-2.13.so
| b73dd000-b73de000 r--p 00001000 ca:02 281173     /lib/i386-linux-gnu/i686/nosegneg/libdl-2.13.so
| b73de000-b73df000 rw-p 00002000 ca:02 281173     /lib/i386-linux-gnu/i686/nosegneg/libdl-2.13.so
| b73df000-b7452000 r-xp 00000000 ca:02 189135     /usr/lib/i386-linux-gnu/libgmp.so.10.0.5
| b7452000-b7459000 rw-p 00073000 ca:02 189135     /usr/lib/i386-linux-gnu/libgmp.so.10.0.5
| b7459000-b7460000 r-xp 00000000 ca:02 281197     /lib/i386-linux-gnu/i686/nosegneg/librt-2.13.so
| b7460000-b7461000 r--p 00006000 ca:02 281197     /lib/i386-linux-gnu/i686/nosegneg/librt-2.13.so
| b7461000-b7462000 rw-p 00007000 ca:02 281197     /lib/i386-linux-gnu/i686/nosegneg/librt-2.13.so
| b7462000-b7463000 rw-p b7462000 00:00 0 
| b7463000-b7478000 r-xp 00000000 ca:02 278546     /lib/i386-linux-gnu/i686/nosegneg/libpthread-2.13.so
| b7478000-b7479000 ---p 00015000 ca:02 278546     /lib/i386-linux-gnu/i686/nosegneg/libpthread-2.13.so
| b7479000-b747a000 r--p 00015000 ca:02 278546     /lib/i386-linux-gnu/i686/nosegneg/libpthread-2.13.so
| b747a000-b747b000 rw-p 00016000 ca:02 278546     /lib/i386-linux-gnu/i686/nosegneg/libpthread-2.13.so
| b747b000-b747d000 rw-p b747b000 00:00 0 
| b747e000-b747f000 rw-p b747e000 00:00 0 
| b747f000-b7481000 r-xp 00000000 ca:05 257562     /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/.ext/i686-linux/rbconfig/sizeof.so
| b7481000-b7482000 rw-p 00001000 ca:05 257562     /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/.ext/i686-linux/rbconfig/sizeof.so
| b7482000-b7484000 r-xp 00000000 ca:05 257624     /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/.ext/i686-linux/enc/trans/transdb.so
| b7484000-b7485000 rw-p 00001000 ca:05 257624     /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/.ext/i686-linux/enc/trans/transdb.so
| b7485000-b7487000 r-xp 00000000 ca:05 257585     /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/.ext/i686-linux/enc/encdb.so
| b7487000-b7488000 rw-p 00001000 ca:05 257585     /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/.ext/i686-linux/enc/encdb.so
| b7488000-b7489000 ---p b7488000 00:00 0 
| b7489000-b748c000 rw-p b7489000 00:00 0 
| b748c000-b775e000 r-xp 00000000 ca:05 9964009    /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0
| b775e000-b7764000 rw-p 002d1000 ca:05 9964009    /extdisk/chkbuild/chkbuild/tmp/build/20161110T024700Z/ruby/libruby.so.2.4.0
| b7764000-b776f000 rw-p b7764000 00:00 0 
| b776f000-b7770000 r-xp b776f000 00:00 0          [vdso]
| b7770000-b778c000 r-xp 00000000 ca:02 278605     /lib/i386-linux-gnu/ld-2.13.so
| b778c000-b778d000 r--p 0001b000 ca:02 278605     /lib/i386-linux-gnu/ld-2.13.so
| b778d000-b778e000 rw-p 0001c000 ca:02 278605     /lib/i386-linux-gnu/ld-2.13.so
| bd509000-bfd08000 rw-p bd800000 00:00 0          [stack]
| 
| 
| [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
| 
Actions #1

Updated by nobu (Nobuyoshi Nakada) about 5 years ago

  • Status changed from Open to Closed

Applied in changeset r56692.


parse.y: new_attr_op_assign in ripper needs symbol

  • parse.y (command_asgn, arg): new_attr_op_assign in ripper expects a Symbol VALUE as the operator, not an ID, so convert literal IDs to Symbols. [ruby-core:78069] [Bug #12916]
Actions

Also available in: Atom PDF