Project

General

Profile

Actions

Bug #19312

closed

SEGV during test_ast.rb: <internal:ast>:76: [BUG] parser_token2id: unknown token -1

Added by Eregon (Benoit Daloze) over 1 year ago. Updated over 1 year ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 3.3.0dev (2023-01-05T14:24:32Z old 358f325bf8) [x86_64-linux]
[ruby-core:111658]

Description

$ make test-all TESTOPTS="test/ruby/test_ast.rb"
...
# Running tests:

<internal:ast>:76: [BUG] parser_token2id: unknown token -1
ruby 3.3.0dev (2023-01-05T14:24:32Z old 358f325bf8) [x86_64-linux]

-- Control frame information -----------------------------------------------
c:0015 p:0003 s:0107 e:000106 METHOD <internal:ast>:76
c:0014 p:0022 s:0098 e:000097 BLOCK  /home/eregon/code/ruby/test/ruby/test_ast.rb:137 [FINISH]
c:0013 p:0037 s:0091 e:000090 METHOD /home/eregon/code/ruby/tool/lib/test/unit/testcase.rb:200
c:0012 p:0052 s:0085 e:000084 METHOD /home/eregon/code/ruby/tool/lib/test/unit/testcase.rb:168
c:0011 p:0075 s:0076 e:000075 BLOCK  /home/eregon/code/ruby/tool/lib/test/unit.rb:1584 [FINISH]
c:0010 p:---- s:0069 e:000068 CFUNC  :map
c:0009 p:0103 s:0065 e:000064 METHOD /home/eregon/code/ruby/tool/lib/test/unit.rb:1571
c:0008 p:0035 s:0053 e:000052 METHOD /home/eregon/code/ruby/tool/lib/test/unit.rb:1364
c:0007 p:0066 s:0046 E:002680 METHOD /home/eregon/code/ruby/tool/lib/test/unit/parallel.rb:58
c:0006 p:0007 s:0030 e:000029 BLOCK  /home/eregon/code/ruby/tool/lib/test/unit/parallel.rb:30 [FINISH]
c:0005 p:---- s:0026 e:000025 CFUNC  :map
c:0004 p:0005 s:0022 e:000021 METHOD /home/eregon/code/ruby/tool/lib/test/unit/parallel.rb:29
c:0003 p:0202 s:0016 e:000015 METHOD /home/eregon/code/ruby/tool/lib/test/unit/parallel.rb:128
c:0002 p:0098 s:0006 e:000005 EVAL   /home/eregon/code/ruby/tool/lib/test/unit/parallel.rb:211 [FINISH]
c:0001 p:0000 s:0003 E:000260 DUMMY  [FINISH]

-- Ruby level backtrace information ----------------------------------------
/home/eregon/code/ruby/tool/lib/test/unit/parallel.rb:211:in `<main>'
/home/eregon/code/ruby/tool/lib/test/unit/parallel.rb:128:in `run'
/home/eregon/code/ruby/tool/lib/test/unit/parallel.rb:29:in `_run_suites'
/home/eregon/code/ruby/tool/lib/test/unit/parallel.rb:29:in `map'
/home/eregon/code/ruby/tool/lib/test/unit/parallel.rb:30:in `block in _run_suites'
/home/eregon/code/ruby/tool/lib/test/unit/parallel.rb:58:in `_run_suite'
/home/eregon/code/ruby/tool/lib/test/unit.rb:1364:in `_run_suite'
/home/eregon/code/ruby/tool/lib/test/unit.rb:1571:in `_run_suite'
/home/eregon/code/ruby/tool/lib/test/unit.rb:1571:in `map'
/home/eregon/code/ruby/tool/lib/test/unit.rb:1584:in `block in _run_suite'
/home/eregon/code/ruby/tool/lib/test/unit/testcase.rb:168:in `run'
/home/eregon/code/ruby/tool/lib/test/unit/testcase.rb:200:in `run_test'
/home/eregon/code/ruby/test/ruby/test_ast.rb:137:in `block (2 levels) in <class:TestAst>'
<internal:ast>:76:in `parse_file'

-- C level backtrace information -------------------------------------------
/home/eregon/code/ruby/ruby(rb_print_backtrace+0xd) [0x5620d00cba91] /home/eregon/code/ruby/vm_dump.c:785
/home/eregon/code/ruby/ruby(rb_vm_bugreport) /home/eregon/code/ruby/vm_dump.c:1080
/home/eregon/code/ruby/ruby(bug_report_end+0x0) [0x5620d0258dbb] /home/eregon/code/ruby/error.c:790
/home/eregon/code/ruby/ruby(rb_bug_without_die) /home/eregon/code/ruby/error.c:790
/home/eregon/code/ruby/ruby(die+0x0) [0x5620cfeb2cc8] /home/eregon/code/ruby/error.c:798
/home/eregon/code/ruby/ruby(rb_bug) /home/eregon/code/ruby/error.c:800
/home/eregon/code/ruby/ruby(rb_long2int_inline+0x0) [0x5620cfeaa427] /home/eregon/code/ruby/parse.y:630
/home/eregon/code/ruby/ruby(add_delayed_token) /home/eregon/code/ruby/parse.y:7022
/home/eregon/code/ruby/ruby(add_delayed_token) /home/eregon/code/ruby/parse.y:7011
/home/eregon/code/ruby/ruby(parser_dispatch_scan_event+0x5d) [0x5620cff8810b] /home/eregon/code/ruby/parse.y:6236
/home/eregon/code/ruby/ruby(parser_dispatch_scan_event) /home/eregon/code/ruby/parse.y:6226
/home/eregon/code/ruby/ruby(yylex+0xf) [0x5620cff97996] /home/eregon/code/ruby/parse.y:10508
/home/eregon/code/ruby/ruby(ruby_yyparse) /home/eregon/code/ruby/parse.c:9308
/home/eregon/code/ruby/ruby(yycompile0+0xf5) [0x5620cffa98b5] /home/eregon/code/ruby/parse.y:6781
/home/eregon/code/ruby/ruby(rb_suppress_tracing+0xf9) [0x5620d00d0d19] /home/eregon/code/ruby/vm_trace.c:465
/home/eregon/code/ruby/ruby(yycompile+0x58) [0x5620cff9588a] /home/eregon/code/ruby/parse.y:6838
/home/eregon/code/ruby/ruby(rb_parser_compile_file_path) /home/eregon/code/ruby/parse.y:6941
/home/eregon/code/ruby/ruby(rb_ast_parse_file+0x116) [0x5620d01d7646] /home/eregon/code/ruby/ast.c:127
/home/eregon/code/ruby/ruby(invoke_bf+0x13) [0x5620d00bd26e] /home/eregon/code/ruby/vm_insnhelper.c:6286
/home/eregon/code/ruby/ruby(vm_invoke_builtin_delegate) /home/eregon/code/ruby/vm_insnhelper.c:6313
/home/eregon/code/ruby/ruby(vm_exec_core) /home/eregon/code/ruby/insns.def:1512
/home/eregon/code/ruby/ruby(rb_vm_exec+0xb3) [0x5620d00ae933] /home/eregon/code/ruby/vm.c:2374
/home/eregon/code/ruby/ruby(vm_call_bmethod+0xd2) [0x5620d00affd2] /home/eregon/code/ruby/vm_insnhelper.c:3344
/home/eregon/code/ruby/ruby(vm_call_symbol+0x2a1) [0x5620d00b1691] /home/eregon/code/ruby/vm_insnhelper.c:3506
/home/eregon/code/ruby/ruby(vm_sendish+0xa4) [0x5620d00bcf35] /home/eregon/code/ruby/vm_insnhelper.c:5064
/home/eregon/code/ruby/ruby(vm_exec_core) /home/eregon/code/ruby/insns.def:820
/home/eregon/code/ruby/ruby(rb_vm_exec+0xb3) [0x5620d00ae933] /home/eregon/code/ruby/vm.c:2374
/home/eregon/code/ruby/ruby(rb_yield+0x1ce) [0x5620d00c340e] /home/eregon/code/ruby/vm.c:1398
/home/eregon/code/ruby/ruby(RB_FL_TEST_RAW+0x0) [0x5620d01cceb6] /home/eregon/code/ruby/array.c:3834
/home/eregon/code/ruby/ruby(RB_FL_ANY_RAW) ./include/ruby/internal/fl_type.h:552
/home/eregon/code/ruby/ruby(rb_array_len) ./include/ruby/internal/core/rarray.h:321
/home/eregon/code/ruby/ruby(rb_ary_push) /home/eregon/code/ruby/array.c:1485
/home/eregon/code/ruby/ruby(rb_ary_collect) /home/eregon/code/ruby/array.c:3834
/home/eregon/code/ruby/ruby(vm_call_cfunc_with_frame+0x117) [0x5620d00a2217] /home/eregon/code/ruby/vm_insnhelper.c:3252
/home/eregon/code/ruby/ruby(vm_sendish+0xfb) [0x5620d00a6bfb] /home/eregon/code/ruby/vm_insnhelper.c:5064
/home/eregon/code/ruby/ruby(vm_exec_core+0x1538) [0x5620d00be368] /home/eregon/code/ruby/insns.def:801
/home/eregon/code/ruby/ruby(rb_vm_exec+0xb3) [0x5620d00ae933] /home/eregon/code/ruby/vm.c:2374
/home/eregon/code/ruby/ruby(rb_yield+0x1ce) [0x5620d00c340e] /home/eregon/code/ruby/vm.c:1398
/home/eregon/code/ruby/ruby(RB_FL_TEST_RAW+0x0) [0x5620d01cceb6] /home/eregon/code/ruby/array.c:3834
/home/eregon/code/ruby/ruby(RB_FL_ANY_RAW) ./include/ruby/internal/fl_type.h:552
/home/eregon/code/ruby/ruby(rb_array_len) ./include/ruby/internal/core/rarray.h:321
/home/eregon/code/ruby/ruby(rb_ary_push) /home/eregon/code/ruby/array.c:1485
/home/eregon/code/ruby/ruby(rb_ary_collect) /home/eregon/code/ruby/array.c:3834
/home/eregon/code/ruby/ruby(vm_call_cfunc_with_frame+0x117) [0x5620d00a2217] /home/eregon/code/ruby/vm_insnhelper.c:3252
/home/eregon/code/ruby/ruby(vm_sendish+0xfb) [0x5620d00a6bfb] /home/eregon/code/ruby/vm_insnhelper.c:5064
/home/eregon/code/ruby/ruby(vm_exec_core+0x1538) [0x5620d00be368] /home/eregon/code/ruby/insns.def:801
/home/eregon/code/ruby/ruby(rb_vm_exec+0x55c) [0x5620d00aeddc] /home/eregon/code/ruby/vm.c:2383
/home/eregon/code/ruby/ruby(rb_ec_exec_node+0xa5) [0x5620cfeb4005] /home/eregon/code/ruby/eval.c:289
/home/eregon/code/ruby/ruby(ruby_run_node+0x48) [0x5620cfeb91f8] /home/eregon/code/ruby/eval.c:330
/home/eregon/code/ruby/ruby(rb_main+0x21) [0x5620cfeb3c92] capstone/arch/AArch64/AArch64BaseInfo.h:232
/home/eregon/code/ruby/ruby(main) ./main.c:57
/lib64/libc.so.6(__libc_start_call_main+0x80) [0x7f2b5efb1510]
/lib64/libc.so.6(__libc_start_main+0x89) [0x7f2b5efb15c9]
[0x5620cfeb3cd5]

-- Other runtime information -----------------------------------------------

* Loaded script: /home/eregon/code/ruby/tool/lib/test/unit/parallel.rb: TestAst#test_all_tokens:test/fiber/queue.rb

* Loaded features:

    0 enumerator.so
    1 thread.rb
    2 fiber.so
    3 rational.so
    4 complex.so
    5 ruby2_keywords.rb
    6 /home/eregon/code/ruby/.ext/x86_64-linux/enc/encdb.so
    7 /home/eregon/code/ruby/.ext/x86_64-linux/enc/trans/transdb.so
    8 /home/eregon/code/ruby/lib/open3/version.rb
    9 /home/eregon/code/ruby/lib/open3.rb
   10 /home/eregon/code/ruby/lib/timeout.rb
   11 /home/eregon/code/ruby/rbconfig.rb
   12 /home/eregon/code/ruby/tool/lib/find_executable.rb
   13 /home/eregon/code/ruby/.ext/x86_64-linux/rbconfig/sizeof.so
   14 /home/eregon/code/ruby/tool/lib/envutil.rb
   15 /home/eregon/code/ruby/tool/lib/colorize.rb
   16 /home/eregon/code/ruby/tool/lib/leakchecker.rb
   17 /home/eregon/code/ruby/lib/prettyprint.rb
   18 /home/eregon/code/ruby/lib/pp.rb
   19 /home/eregon/code/ruby/tool/lib/test/unit/assertions.rb
   20 /home/eregon/code/ruby/.ext/x86_64-linux/io/console.so
   21 /home/eregon/code/ruby/tool/lib/core_assertions.rb
   22 /home/eregon/code/ruby/tool/lib/test/unit/testcase.rb
   23 /home/eregon/code/ruby/lib/optparse.rb
   24 /home/eregon/code/ruby/tool/lib/test/unit.rb
   25 /home/eregon/code/ruby/tool/lib/tracepointchecker.rb
   26 /home/eregon/code/ruby/tool/lib/zombie_hunter.rb
   27 /home/eregon/code/ruby/lib/delegate.rb
   28 /home/eregon/code/ruby/lib/fileutils.rb
   29 /home/eregon/code/ruby/.ext/x86_64-linux/etc.so
   30 /home/eregon/code/ruby/lib/tmpdir.rb
   31 /home/eregon/code/ruby/lib/tempfile.rb
   32 /home/eregon/code/ruby/tool/lib/iseq_loader_checker.rb
   33 /home/eregon/code/ruby/tool/lib/gc_checker.rb
   34 /home/eregon/code/ruby/lib/rubygems/compatibility.rb
   35 /home/eregon/code/ruby/lib/rubygems/defaults.rb
   36 /home/eregon/code/ruby/lib/rubygems/deprecate.rb
   37 /home/eregon/code/ruby/lib/rubygems/errors.rb
   38 /home/eregon/code/ruby/lib/rubygems/unknown_command_spell_checker.rb
   39 /home/eregon/code/ruby/lib/rubygems/exceptions.rb
   40 /home/eregon/code/ruby/lib/rubygems/basic_specification.rb
   41 /home/eregon/code/ruby/lib/rubygems/stub_specification.rb
   42 /home/eregon/code/ruby/lib/rubygems/platform.rb
   43 /home/eregon/code/ruby/lib/rubygems/util/list.rb
   44 /home/eregon/code/ruby/lib/rubygems/version.rb
   45 /home/eregon/code/ruby/lib/rubygems/requirement.rb
   46 /home/eregon/code/ruby/lib/rubygems/specification.rb
   47 /home/eregon/code/ruby/lib/rubygems/util.rb
   48 /home/eregon/code/ruby/lib/rubygems/dependency.rb
   49 /home/eregon/code/ruby/lib/rubygems/core_ext/kernel_gem.rb
   50 /home/eregon/code/ruby/.ext/x86_64-linux/monitor.so
   51 /home/eregon/code/ruby/.ext/common/monitor.rb
   52 /home/eregon/code/ruby/lib/rubygems/core_ext/kernel_require.rb
   53 /home/eregon/code/ruby/lib/rubygems/core_ext/kernel_warn.rb
   54 /home/eregon/code/ruby/lib/rubygems.rb
   55 /home/eregon/code/ruby/test/ruby/test_ast.rb

* Process memory map:

5620cfc0d000-5620cfea8000 r--p 00000000 fd:00 30807089                   /home/eregon/code/ruby/ruby
5620cfea8000-5620d03e2000 r-xp 0029b000 fd:00 30807089                   /home/eregon/code/ruby/ruby
5620d03e2000-5620d09d2000 r--p 007d5000 fd:00 30807089                   /home/eregon/code/ruby/ruby
5620d09d2000-5620d0b24000 r--p 00dc4000 fd:00 30807089                   /home/eregon/code/ruby/ruby
5620d0b24000-5620d0b25000 rw-p 00f16000 fd:00 30807089                   /home/eregon/code/ruby/ruby
5620d0b25000-5620d0b39000 rw-p 00000000 00:00 0 
5620d1541000-5620d1ec7000 rw-p 00000000 00:00 0                          [heap]
7f2b44400000-7f2b47ea5000 r--s 00000000 fd:00 30807089                   /home/eregon/code/ruby/ruby
7f2b48000000-7f2b48021000 rw-p 00000000 00:00 0 
7f2b48021000-7f2b4c000000 ---p 00000000 00:00 0 
7f2b4d200000-7f2b4d420000 r--s 00000000 fd:00 13388284                   /usr/lib64/libc.so.6
7f2b4d540000-7f2b4d560000 rw-p 00000000 00:00 0 
7f2b4d570000-7f2b4d5f0000 rw-p 00000000 00:00 0 
7f2b4d650000-7f2b4d6c0000 rw-p 00000000 00:00 0 
7f2b4d6d0000-7f2b4d700000 rw-p 00000000 00:00 0 
7f2b4d70f000-7f2b4d7f0000 rw-p 00000000 00:00 0 
7f2b4d800000-7f2b4d860000 rw-p 00000000 00:00 0 
7f2b4d870000-7f2b4da70000 rw-p 00000000 00:00 0 
7f2b4da7f000-7f2b4db00000 rw-p 00000000 00:00 0 
7f2b4db10000-7f2b4dbf0000 rw-p 00000000 00:00 0 
7f2b4dbff000-7f2b4dc00000 ---p 00000000 00:00 0 
7f2b4dc00000-7f2b4de30000 rw-p 00000000 00:00 0 
7f2b4de37000-7f2b4de39000 r--p 00000000 fd:00 31467068                   /home/eregon/code/ruby/.ext/x86_64-linux/etc.so
7f2b4de39000-7f2b4de3c000 r-xp 00002000 fd:00 31467068                   /home/eregon/code/ruby/.ext/x86_64-linux/etc.so
7f2b4de3c000-7f2b4de3e000 r--p 00005000 fd:00 31467068                   /home/eregon/code/ruby/.ext/x86_64-linux/etc.so
7f2b4de3e000-7f2b4de3f000 r--p 00006000 fd:00 31467068                   /home/eregon/code/ruby/.ext/x86_64-linux/etc.so
7f2b4de3f000-7f2b4de40000 rw-p 00007000 fd:00 31467068                   /home/eregon/code/ruby/.ext/x86_64-linux/etc.so
7f2b4de40000-7f2b4df30000 rw-p 00000000 00:00 0 
7f2b4df35000-7f2b4df37000 r--p 00000000 fd:00 31467115                   /home/eregon/code/ruby/.ext/x86_64-linux/io/console.so
7f2b4df37000-7f2b4df3c000 r-xp 00002000 fd:00 31467115                   /home/eregon/code/ruby/.ext/x86_64-linux/io/console.so
7f2b4df3c000-7f2b4df3d000 r--p 00007000 fd:00 31467115                   /home/eregon/code/ruby/.ext/x86_64-linux/io/console.so
7f2b4df3d000-7f2b4df3e000 ---p 00008000 fd:00 31467115                   /home/eregon/code/ruby/.ext/x86_64-linux/io/console.so
7f2b4df3e000-7f2b4df3f000 r--p 00008000 fd:00 31467115                   /home/eregon/code/ruby/.ext/x86_64-linux/io/console.so
7f2b4df3f000-7f2b4df40000 rw-p 00009000 fd:00 31467115                   /home/eregon/code/ruby/.ext/x86_64-linux/io/console.so
7f2b4df40000-7f2b4df80000 rw-p 00000000 00:00 0 
7f2b4df80000-7f2b4df81000 ---p 00000000 00:00 0 
7f2b4df81000-7f2b4dfc2000 rw-p 00000000 00:00 0 
7f2b4dfc2000-7f2b4dfc3000 ---p 00000000 00:00 0 
7f2b4dfc3000-7f2b4e004000 rw-p 00000000 00:00 0 
7f2b4e004000-7f2b4e005000 ---p 00000000 00:00 0 
7f2b4e005000-7f2b4e046000 rw-p 00000000 00:00 0 
7f2b4e046000-7f2b4e047000 ---p 00000000 00:00 0 
7f2b4e047000-7f2b4e088000 rw-p 00000000 00:00 0 
7f2b4e088000-7f2b4e089000 ---p 00000000 00:00 0 
7f2b4e089000-7f2b4e0ca000 rw-p 00000000 00:00 0 
7f2b4e0ca000-7f2b4e0cb000 ---p 00000000 00:00 0 
7f2b4e0cb000-7f2b4e10c000 rw-p 00000000 00:00 0 
7f2b4e10c000-7f2b4e10d000 ---p 00000000 00:00 0 
7f2b4e10d000-7f2b4e14e000 rw-p 00000000 00:00 0 
7f2b4e14e000-7f2b4e14f000 ---p 00000000 00:00 0 
7f2b4e14f000-7f2b4e190000 rw-p 00000000 00:00 0 
7f2b4e190000-7f2b4e191000 ---p 00000000 00:00 0 
7f2b4e191000-7f2b4e1d2000 rw-p 00000000 00:00 0 
7f2b4e1d2000-7f2b4e1d3000 ---p 00000000 00:00 0 
7f2b4e1d3000-7f2b4e214000 rw-p 00000000 00:00 0 
7f2b4e214000-7f2b4e215000 ---p 00000000 00:00 0 
7f2b4e215000-7f2b4e256000 rw-p 00000000 00:00 0 
7f2b4e256000-7f2b4e257000 ---p 00000000 00:00 0 
7f2b4e257000-7f2b4e298000 rw-p 00000000 00:00 0 
7f2b4e298000-7f2b4e299000 ---p 00000000 00:00 0 
7f2b4e299000-7f2b4e2da000 rw-p 00000000 00:00 0 
7f2b4e2da000-7f2b4e2db000 ---p 00000000 00:00 0 
7f2b4e2db000-7f2b4e31c000 rw-p 00000000 00:00 0 
7f2b4e31c000-7f2b4e31d000 ---p 00000000 00:00 0 
7f2b4e31d000-7f2b4e35e000 rw-p 00000000 00:00 0 
7f2b4e35e000-7f2b4e35f000 ---p 00000000 00:00 0 
7f2b4e35f000-7f2b4e3a0000 rw-p 00000000 00:00 0 
7f2b4e3a0000-7f2b4e3a1000 ---p 00000000 00:00 0 
7f2b4e3a1000-7f2b4e3e2000 rw-p 00000000 00:00 0 
7f2b4e3e2000-7f2b4e3e3000 ---p 00000000 00:00 0 
7f2b4e3e3000-7f2b4e424000 rw-p 00000000 00:00 0 
7f2b4e424000-7f2b4e425000 ---p 00000000 00:00 0 
7f2b4e425000-7f2b4e466000 rw-p 00000000 00:00 0 
7f2b4e466000-7f2b4e467000 ---p 00000000 00:00 0 
7f2b4e467000-7f2b4e4a8000 rw-p 00000000 00:00 0 
7f2b4e4a8000-7f2b4e4a9000 ---p 00000000 00:00 0 
7f2b4e4a9000-7f2b4e4ea000 rw-p 00000000 00:00 0 
7f2b4e4ea000-7f2b4e4eb000 ---p 00000000 00:00 0 
7f2b4e4eb000-7f2b4e52c000 rw-p 00000000 00:00 0 
7f2b4e52c000-7f2b4e52d000 ---p 00000000 00:00 0 
7f2b4e52d000-7f2b4e56e000 rw-p 00000000 00:00 0 
7f2b4e56e000-7f2b4e56f000 ---p 00000000 00:00 0 
7f2b4e56f000-7f2b4e5b0000 rw-p 00000000 00:00 0 
7f2b4e5b0000-7f2b4e5b1000 ---p 00000000 00:00 0 
7f2b4e5b1000-7f2b4e5f2000 rw-p 00000000 00:00 0 
7f2b4e5f2000-7f2b4e5f3000 ---p 00000000 00:00 0 
7f2b4e5f3000-7f2b4e634000 rw-p 00000000 00:00 0 
7f2b4e634000-7f2b4e635000 ---p 00000000 00:00 0 
7f2b4e635000-7f2b4e676000 rw-p 00000000 00:00 0 
7f2b4e676000-7f2b4e677000 ---p 00000000 00:00 0 
7f2b4e677000-7f2b4e6b8000 rw-p 00000000 00:00 0 
7f2b4e6b8000-7f2b4e6b9000 ---p 00000000 00:00 0 
7f2b4e6b9000-7f2b4e6fa000 rw-p 00000000 00:00 0 
7f2b4e6fa000-7f2b4e6fb000 ---p 00000000 00:00 0 
7f2b4e6fb000-7f2b4e73c000 rw-p 00000000 00:00 0 
7f2b4e73c000-7f2b4e73d000 ---p 00000000 00:00 0 
7f2b4e73d000-7f2b4e77e000 rw-p 00000000 00:00 0 
7f2b4e77e000-7f2b4e77f000 ---p 00000000 00:00 0 
7f2b4e77f000-7f2b4e7f0000 rw-p 00000000 00:00 0 
7f2b4e7f7000-7f2b51800000 rw-p 00000000 00:00 0 
7f2b51800000-7f2b5edb9000 r--p 00000000 fd:00 13369444                   /usr/lib/locale/locale-archive
7f2b5edba000-7f2b5edbb000 r--p 00000000 fd:00 31467118                   /home/eregon/code/ruby/.ext/x86_64-linux/monitor.so
7f2b5edbb000-7f2b5edbc000 r-xp 00001000 fd:00 31467118                   /home/eregon/code/ruby/.ext/x86_64-linux/monitor.so
7f2b5edbc000-7f2b5edbd000 r--p 00002000 fd:00 31467118                   /home/eregon/code/ruby/.ext/x86_64-linux/monitor.so
7f2b5edbd000-7f2b5edbe000 r--p 00002000 fd:00 31467118                   /home/eregon/code/ruby/.ext/x86_64-linux/monitor.so
7f2b5edbe000-7f2b5edbf000 rw-p 00003000 fd:00 31467118                   /home/eregon/code/ruby/.ext/x86_64-linux/monitor.so
7f2b5edd0000-7f2b5ee80000 rw-p 00000000 00:00 0 
7f2b5ee84000-7f2b5ef8a000 rw-p 00000000 00:00 0 
7f2b5ef8a000-7f2b5efb0000 r--p 00000000 fd:00 13388284                   /usr/lib64/libc.so.6
7f2b5efb0000-7f2b5f106000 r-xp 00026000 fd:00 13388284                   /usr/lib64/libc.so.6
7f2b5f106000-7f2b5f159000 r--p 0017c000 fd:00 13388284                   /usr/lib64/libc.so.6
7f2b5f159000-7f2b5f15d000 r--p 001ce000 fd:00 13388284                   /usr/lib64/libc.so.6
7f2b5f15d000-7f2b5f15f000 rw-p 001d2000 fd:00 13388284                   /usr/lib64/libc.so.6
7f2b5f15f000-7f2b5f167000 rw-p 00000000 00:00 0 
7f2b5f167000-7f2b5f16a000 r--p 00000000 fd:00 13369381                   /usr/lib64/libgcc_s-12-20221121.so.1
7f2b5f16a000-7f2b5f181000 r-xp 00003000 fd:00 13369381                   /usr/lib64/libgcc_s-12-20221121.so.1
7f2b5f181000-7f2b5f185000 r--p 0001a000 fd:00 13369381                   /usr/lib64/libgcc_s-12-20221121.so.1
7f2b5f185000-7f2b5f186000 r--p 0001d000 fd:00 13369381                   /usr/lib64/libgcc_s-12-20221121.so.1
7f2b5f186000-7f2b5f187000 rw-p 00000000 00:00 0 
7f2b5f187000-7f2b5f197000 r--p 00000000 fd:00 13388287                   /usr/lib64/libm.so.6
7f2b5f197000-7f2b5f20b000 r-xp 00010000 fd:00 13388287                   /usr/lib64/libm.so.6
7f2b5f20b000-7f2b5f265000 r--p 00084000 fd:00 13388287                   /usr/lib64/libm.so.6
7f2b5f265000-7f2b5f266000 r--p 000dd000 fd:00 13388287                   /usr/lib64/libm.so.6
7f2b5f266000-7f2b5f267000 rw-p 000de000 fd:00 13388287                   /usr/lib64/libm.so.6
7f2b5f267000-7f2b5f269000 r--p 00000000 fd:00 13389453                   /usr/lib64/libcrypt.so.2.0.0
7f2b5f269000-7f2b5f27d000 r-xp 00002000 fd:00 13389453                   /usr/lib64/libcrypt.so.2.0.0
7f2b5f27d000-7f2b5f297000 r--p 00016000 fd:00 13389453                   /usr/lib64/libcrypt.so.2.0.0
7f2b5f297000-7f2b5f298000 r--p 0002f000 fd:00 13389453                   /usr/lib64/libcrypt.so.2.0.0
7f2b5f298000-7f2b5f2a1000 rw-p 00000000 00:00 0 
7f2b5f2a1000-7f2b5f2a4000 r--p 00000000 fd:00 13388614                   /usr/lib64/libz.so.1.2.12
7f2b5f2a4000-7f2b5f2b2000 r-xp 00003000 fd:00 13388614                   /usr/lib64/libz.so.1.2.12
7f2b5f2b2000-7f2b5f2b9000 r--p 00011000 fd:00 13388614                   /usr/lib64/libz.so.1.2.12
7f2b5f2b9000-7f2b5f2ba000 r--p 00017000 fd:00 13388614                   /usr/lib64/libz.so.1.2.12
7f2b5f2ba000-7f2b5f2bb000 rw-p 00000000 00:00 0 
7f2b5f2bd000-7f2b5f2be000 r--p 00000000 fd:00 31467181                   /home/eregon/code/ruby/.ext/x86_64-linux/rbconfig/sizeof.so
7f2b5f2be000-7f2b5f2c0000 r-xp 00001000 fd:00 31467181                   /home/eregon/code/ruby/.ext/x86_64-linux/rbconfig/sizeof.so
7f2b5f2c0000-7f2b5f2c1000 r--p 00003000 fd:00 31467181                   /home/eregon/code/ruby/.ext/x86_64-linux/rbconfig/sizeof.so
7f2b5f2c1000-7f2b5f2c2000 r--p 00003000 fd:00 31467181                   /home/eregon/code/ruby/.ext/x86_64-linux/rbconfig/sizeof.so
7f2b5f2c2000-7f2b5f2c3000 rw-p 00004000 fd:00 31467181                   /home/eregon/code/ruby/.ext/x86_64-linux/rbconfig/sizeof.so
7f2b5f2c3000-7f2b5f2c4000 r--p 00000000 fd:00 31466889                   /home/eregon/code/ruby/.ext/x86_64-linux/enc/trans/transdb.so
7f2b5f2c4000-7f2b5f2c5000 r-xp 00001000 fd:00 31466889                   /home/eregon/code/ruby/.ext/x86_64-linux/enc/trans/transdb.so
7f2b5f2c5000-7f2b5f2c6000 r--p 00002000 fd:00 31466889                   /home/eregon/code/ruby/.ext/x86_64-linux/enc/trans/transdb.so
7f2b5f2c6000-7f2b5f2c7000 r--p 00002000 fd:00 31466889                   /home/eregon/code/ruby/.ext/x86_64-linux/enc/trans/transdb.so
7f2b5f2c7000-7f2b5f2c8000 rw-p 00003000 fd:00 31466889                   /home/eregon/code/ruby/.ext/x86_64-linux/enc/trans/transdb.so
7f2b5f2c8000-7f2b5f2c9000 r--p 00000000 fd:00 31466919                   /home/eregon/code/ruby/.ext/x86_64-linux/enc/encdb.so
7f2b5f2c9000-7f2b5f2ca000 r-xp 00001000 fd:00 31466919                   /home/eregon/code/ruby/.ext/x86_64-linux/enc/encdb.so
7f2b5f2ca000-7f2b5f2cb000 r--p 00002000 fd:00 31466919                   /home/eregon/code/ruby/.ext/x86_64-linux/enc/encdb.so
7f2b5f2cb000-7f2b5f2cc000 r--p 00002000 fd:00 31466919                   /home/eregon/code/ruby/.ext/x86_64-linux/enc/encdb.so
7f2b5f2cc000-7f2b5f2cd000 rw-p 00003000 fd:00 31466919                   /home/eregon/code/ruby/.ext/x86_64-linux/enc/encdb.so
7f2b5f2cd000-7f2b5f2d4000 r--s 00000000 fd:00 13893644                   /usr/lib64/gconv/gconv-modules.cache
7f2b5f2d4000-7f2b5f2d6000 rw-p 00000000 00:00 0 
7f2b5f2d6000-7f2b5f2d7000 r--p 00000000 fd:00 13388281                   /usr/lib64/ld-linux-x86-64.so.2
7f2b5f2d7000-7f2b5f2fe000 r-xp 00001000 fd:00 13388281                   /usr/lib64/ld-linux-x86-64.so.2
7f2b5f2fe000-7f2b5f308000 r--p 00028000 fd:00 13388281                   /usr/lib64/ld-linux-x86-64.so.2
7f2b5f309000-7f2b5f30b000 r--p 00032000 fd:00 13388281                   /usr/lib64/ld-linux-x86-64.so.2
7f2b5f30b000-7f2b5f30d000 rw-p 00034000 fd:00 13388281                   /usr/lib64/ld-linux-x86-64.so.2
7fff1f6e8000-7fff1fee7000 rw-p 00000000 00:00 0                          [stack]
7fff1ffbb000-7fff1ffbf000 r--p 00000000 00:00 0                          [vvar]
7fff1ffbf000-7fff1ffc1000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0                  [vsyscall]


running file: test/ruby/test_ast.rb

A test worker crashed. It might be an interpreter bug or
a bug in test/unit/parallel.rb. Try again without the -j
option.

make: *** [uncommon.mk:855: yes-test-all] Error 1

On Fedora 37

Updated by Eregon (Benoit Daloze) over 1 year ago

I have extra files locally which triggers this and that's why the CI doesn't see it.
Anything with __END__ dies:

$ ruby -e 'RubyVM::AbstractSyntaxTree.parse("p 1\n__END__\nfoobar", keep_tokens: true)' 
<internal:ast>:59: [BUG] parser_token2id: unknown token -1
ruby 3.3.0dev (2023-01-05T14:24:32Z old 358f325bf8) [x86_64-linux]

-- Control frame information -----------------------------------------------
c:0003 p:0003 s:0015 e:000014 METHOD <internal:ast>:59
c:0002 p:0008 s:0006 e:000005 EVAL   -e:1 [FINISH]
c:0001 p:0000 s:0003 E:0005f0 DUMMY  [FINISH]

-- Ruby level backtrace information ----------------------------------------
-e:1:in `<main>'
<internal:ast>:59:in `parse'

-- C level backtrace information -------------------------------------------
/home/eregon/prefix/ruby-master/bin/ruby(rb_print_backtrace+0xd) [0x5579fa47fa91] /home/eregon/code/ruby/vm_dump.c:785
/home/eregon/prefix/ruby-master/bin/ruby(rb_vm_bugreport) /home/eregon/code/ruby/vm_dump.c:1080
/home/eregon/prefix/ruby-master/bin/ruby(bug_report_end+0x0) [0x5579fa60cdbb] /home/eregon/code/ruby/error.c:790
/home/eregon/prefix/ruby-master/bin/ruby(rb_bug_without_die) /home/eregon/code/ruby/error.c:790
/home/eregon/prefix/ruby-master/bin/ruby(die+0x0) [0x5579fa266cc8] /home/eregon/code/ruby/error.c:798
/home/eregon/prefix/ruby-master/bin/ruby(rb_bug) /home/eregon/code/ruby/error.c:800
/home/eregon/prefix/ruby-master/bin/ruby(rb_long2int_inline+0x0) [0x5579fa25e427] /home/eregon/code/ruby/parse.y:630
/home/eregon/prefix/ruby-master/bin/ruby(add_delayed_token) /home/eregon/code/ruby/parse.y:7022
/home/eregon/prefix/ruby-master/bin/ruby(add_delayed_token) /home/eregon/code/ruby/parse.y:7011
/home/eregon/prefix/ruby-master/bin/ruby(parser_dispatch_scan_event+0x5d) [0x5579fa33c10b] /home/eregon/code/ruby/parse.y:6236
/home/eregon/prefix/ruby-master/bin/ruby(parser_dispatch_scan_event) /home/eregon/code/ruby/parse.y:6226
/home/eregon/prefix/ruby-master/bin/ruby(yylex+0xf) [0x5579fa34b996] /home/eregon/code/ruby/parse.y:10508
/home/eregon/prefix/ruby-master/bin/ruby(ruby_yyparse) /home/eregon/code/ruby/parse.c:9308
/home/eregon/prefix/ruby-master/bin/ruby(yycompile0+0xf5) [0x5579fa35d8b5] /home/eregon/code/ruby/parse.y:6781
/home/eregon/prefix/ruby-master/bin/ruby(rb_suppress_tracing+0xf9) [0x5579fa484d19] /home/eregon/code/ruby/vm_trace.c:465
/home/eregon/prefix/ruby-master/bin/ruby(yycompile+0x55) [0x5579fa343008] /home/eregon/code/ruby/parse.y:6838
/home/eregon/prefix/ruby-master/bin/ruby(parser_compile_string) /home/eregon/code/ruby/parse.y:6906
/home/eregon/prefix/ruby-master/bin/ruby(rb_parser_compile_string_path) /home/eregon/code/ruby/parse.y:6919
/home/eregon/prefix/ruby-master/bin/ruby(ast_s_parse+0x84) [0x5579fa58b474] /home/eregon/code/ruby/ast.c:103
/home/eregon/prefix/ruby-master/bin/ruby(invoke_bf+0x13) [0x5579fa47126e] /home/eregon/code/ruby/vm_insnhelper.c:6286
/home/eregon/prefix/ruby-master/bin/ruby(vm_invoke_builtin_delegate) /home/eregon/code/ruby/vm_insnhelper.c:6313
/home/eregon/prefix/ruby-master/bin/ruby(vm_exec_core) /home/eregon/code/ruby/insns.def:1512
/home/eregon/prefix/ruby-master/bin/ruby(rb_vm_exec+0xb3) [0x5579fa462933] /home/eregon/code/ruby/vm.c:2374
/home/eregon/prefix/ruby-master/bin/ruby(rb_ec_exec_node+0xa5) [0x5579fa268005] /home/eregon/code/ruby/eval.c:289
/home/eregon/prefix/ruby-master/bin/ruby(ruby_run_node+0x48) [0x5579fa26d1f8] /home/eregon/code/ruby/eval.c:330
/home/eregon/prefix/ruby-master/bin/ruby(rb_main+0x21) [0x5579fa267c92] capstone/arch/AArch64/AArch64BaseInfo.h:232
/home/eregon/prefix/ruby-master/bin/ruby(main) ./main.c:57
/lib64/libc.so.6(__libc_start_call_main+0x80) [0x7fa3dd52a510]
/lib64/libc.so.6(__libc_start_main+0x89) [0x7fa3dd52a5c9]
[0x5579fa267cd5]

Updated by nobu (Nobuyoshi Nakada) over 1 year ago

https://github.com/ruby/ruby/pull/7077
Maybe old versions should use END_OF_INPUT instead of 0 and -1.

Actions #3

Updated by nobu (Nobuyoshi Nakada) over 1 year ago

  • Status changed from Open to Closed

Applied in changeset git|cee5beab1d7bf6f99530957494ab9775696d42ce.


[Bug #19312] Return end-of-input at __END__

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0