Project

General

Profile

Actions

Bug #20295

closed

Segmentation fault when parsing `/invalid_regexp/ =~ s`

Added by tompng (tomoya ishida) 2 months ago. Updated 2 months ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 3.4.0dev (2024-02-20T23:06:48Z master e7ab5d891c) +YJIT +MN [arm64-darwin22]
[ruby-core:116913]

Description

These should be Syntax Error, but segfaults

./ruby -ce "/[/=~s"
./ruby -ce "/(?<>)/=~s"
./ruby -ce "/(?<a>[)/=~s"
 ./ruby -ce "/[/=~s"
-e:1: premature end of char-class: /[/
./ruby: [BUG] Segmentation fault at 0x0000000000000014
ruby 3.4.0dev (2024-02-20T23:06:48Z master e7ab5d891c) +YJIT +MN [arm64-darwin22]

-- Crash Report log information --------------------------------------------
   See Crash Report log file in one of the following locations:             
     * ~/Library/Logs/DiagnosticReports                                     
     * /Library/Logs/DiagnosticReports                                      
   for more details.                                                        
Don't forget to include the above Crash Report log file in bug reports.     

-- Control frame information -----------------------------------------------
c:0001 p:0000 s:0003 E:001960 DUMMY  [FINISH]


-- Threading information ---------------------------------------------------
Total ractor count: 1
Ruby thread count for this ractor: 1

-- Machine register context ------------------------------------------------
  x0: 0x0000000000000000  x1: 0x0000000000000039  x2: 0x0000000000000038
  x3: 0x0000000000000008  x4: 0x0000000000000001  x5: 0x0000000000000001
  x6: 0x0000000100a3ce00  x7: 0x0000000000000000 x18: 0x0000000000000000
 x19: 0x0000000000000001 x20: 0x000000012482f6b0 x21: 0x0000000123a08ab0
 x22: 0x000000016fb5d0d0 x23: 0x000000012482f6e0 x24: 0x000000012482f708
 x25: 0x0000000000000004 x26: 0x00000001006259b5 x27: 0x000000016fb5de30
 x28: 0x000000016fb5e450  lr: 0x00000001003e47ac  fp: 0x000000016fb5cf60
  sp: 0x000000016fb5cef0

-- C level backtrace information -------------------------------------------
/Users/tomoya.ishida/github/ruby/ruby/build/ruby(rb_vm_bugreport+0xb4c) [0x1004ff4cc] ../vm_dump.c:1151
/Users/tomoya.ishida/github/ruby/ruby/build/ruby(rb_vm_bugreport) (null):0
/Users/tomoya.ishida/github/ruby/ruby/build/ruby(rb_bug_for_fatal_signal+0x100) [0x10033e0dc] ../error.c:1065
/Users/tomoya.ishida/github/ruby/ruby/build/ruby(sig_do_nothing+0x0) [0x100465bc4] ../signal.c:926
/Users/tomoya.ishida/github/ruby/ruby/build/ruby(sigsegv) (null):0
/usr/lib/system/libsystem_platform.dylib(_sigtramp+0x38) [0x1a8b6aa84]
/Users/tomoya.ishida/github/ruby/ruby/build/ruby(reg_named_capture_assign+0xc) [0x1003e47ac] parse.y:15909
/Users/tomoya.ishida/github/ruby/ruby/build/ruby(match_op) parse.y:13082
/Users/tomoya.ishida/github/ruby/ruby/build/ruby(ruby_yyparse+0x2c30) [0x1003dcb08] parse.y:4010
/Users/tomoya.ishida/github/ruby/ruby/build/ruby(yycompile0+0x238) [0x1003ede94] parse.y:7653
/Users/tomoya.ishida/github/ruby/ruby/build/ruby(rb_suppress_tracing+0xcc) [0x100500c7c] ../vm_trace.c:487
/Users/tomoya.ishida/github/ruby/ruby/build/ruby(yycompile+0x5c) [0x1003e9ff8] parse.y:7709
/Users/tomoya.ishida/github/ruby/ruby/build/ruby(parser_compile_string) parse.y:7772
/Users/tomoya.ishida/github/ruby/ruby/build/ruby(rb_ruby_parser_compile_string_path) parse.y:7779
/Users/tomoya.ishida/github/ruby/ruby/build/ruby(rb_ruby_parser_compile_string+0x1c) [0x1003ec1b4] parse.y:7785
/Users/tomoya.ishida/github/ruby/ruby/build/ruby(rb_parser_compile_string) parse.y:16260
/Users/tomoya.ishida/github/ruby/ruby/build/ruby(process_script+0x84) [0x10045beb0] ../ruby.c:2066
/Users/tomoya.ishida/github/ruby/ruby/build/ruby(process_options) ../ruby.c:2416
/Users/tomoya.ishida/github/ruby/ruby/build/ruby(ruby_process_options) ../ruby.c:3043
/Users/tomoya.ishida/github/ruby/ruby/build/ruby(ruby_options+0xa0) [0x10034835c] ../eval.c:118
/Users/tomoya.ishida/github/ruby/ruby/build/ruby(rb_main+0x18) [0x1002a26cc] ../main.c:40
/Users/tomoya.ishida/github/ruby/ruby/build/ruby(main) ../main.c:59

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

* Loaded script: ./ruby

* Loaded features:

    0 enumerator.so
    1 thread.rb
    2 fiber.so
    3 rational.so
    4 complex.so
    5 ruby2_keywords.rb

* Process memory map:

1002a0000-100720000 r-x /Users/tomoya.ishida/github/ruby/ruby/build/ruby
100720000-100738000 r-- /Users/tomoya.ishida/github/ruby/ruby/build/ruby
100738000-10073c000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby
10073c000-100750000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby
100750000-10093c000 r-- /Users/tomoya.ishida/github/ruby/ruby/build/ruby
10093c000-10097c000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
10097c000-100980000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
100980000-100988000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
100988000-10098c000 r-- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
10098c000-100990000 r-- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
100990000-100994000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
100994000-100998000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
100998000-1009a4000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
1009a4000-1009a8000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
1009a8000-1009ac000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
1009ac000-1009b8000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
1009b8000-1009bc000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
1009bc000-1009c0000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
1009c0000-1009cc000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
1009cc000-1009d0000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
1009d0000-1009d4000 r-- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
1009d4000-1009d8000 r-- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
1009d8000-1009dc000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
1009dc000-1009e0000 r-- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
1009e0000-100a20000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
100a30000-100a40000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
100a40000-101e40000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
101e40000-109e40000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
109e40000-111e40000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
111e40000-119e40000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
119e50000-119e60000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
119e70000-119e80000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
119e90000-119ea0000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
119eb0000-119ec0000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
119ed0000-119ee0000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
119ee0000-119ee4000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
119ee4000-119f88000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
119f88000-119f8c000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
119f8c000-11a030000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a030000-11a034000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a034000-11a0d8000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a0d8000-11a0dc000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a0dc000-11a180000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a180000-11a184000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a184000-11a228000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a228000-11a22c000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a22c000-11a2d0000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a2d0000-11a2d4000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a2d4000-11a378000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a378000-11a37c000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a37c000-11a420000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a420000-11a424000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a424000-11a4c8000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a4c8000-11a4cc000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a4cc000-11a570000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a570000-11a574000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a574000-11a618000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a618000-11a61c000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a61c000-11a6c0000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a6c0000-11a6c4000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a6c4000-11a768000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a768000-11a76c000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a76c000-11a810000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a810000-11a814000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a814000-11a8b8000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a8b8000-11a8bc000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a8bc000-11a960000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a960000-11a964000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11a964000-11aa08000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11aa08000-11aa0c000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11aa0c000-11aab0000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11aab0000-11aab4000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11aab4000-11ab58000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11ab58000-11ab5c000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11ab5c000-11ac00000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11ac00000-11ac04000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11ac04000-11aca8000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11aca8000-11acac000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11acac000-11ad50000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11ad50000-11ad54000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11ad54000-11adf8000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11adf8000-11adfc000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11adfc000-11aea0000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11aea0000-11aea4000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11aea4000-11af48000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11af48000-11af4c000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11af4c000-11aff0000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11aff0000-11aff4000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11aff4000-11b098000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11b098000-11b09c000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11b09c000-11b140000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11b140000-11b144000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11b144000-11b1e8000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11b1e8000-11b1ec000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11b1ec000-11b290000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11b290000-11b294000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11b294000-11b338000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11b338000-11b33c000 --- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11b33c000-11b3e0000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11b3e0000-11cbf4000 r-- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11cc00000-11cd00000 rw- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
11cd00000-11e514000 r-- /Users/tomoya.ishida/github/ruby/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby
122e00000-122f00000 rw-
122f00000-123000000 rw-
123000000-123800000 rw-
123800000-123900000 rw-
123900000-123a00000 rw-
123a00000-123b00000 rw-
124000000-124800000 rw-
124800000-125000000 rw-
128000000-128800000 rw-
128800000-129000000 rw-
129000000-129800000 rw-
129800000-12a000000 rw-
12a000000-12a800000 rw-
12a800000-12b000000 rw-
12b000000-12b800000 rw-
12b800000-12c000000 rw-
12c000000-12c800000 rw-
12c800000-12d000000 rw-
12d000000-12d800000 rw-
12d800000-12e000000 rw-
12e000000-12e800000 rw-
12e800000-12f000000 rw-
12f000000-12f800000 rw-
12f800000-130000000 rw-
130000000-130800000 rw-
130800000-131000000 rw-
131000000-131800000 rw-
131800000-132000000 rw-
132000000-132800000 rw-
132800000-133000000 rw-
133000000-133800000 rw-
133800000-134000000 rw-
134000000-134800000 rw-
134800000-135000000 rw-
135000000-135800000 rw-
135800000-136000000 rw-
136000000-136800000 rw-
136800000-137000000 rw-
137000000-137800000 rw-
137800000-138000000 rw-
16bb60000-16f364000 ---
16f364000-16fb60000 rw-
16fb60000-16fb64000 ---
16fb64000-16fbec000 rw-
180000000-200000000 r--
200000000-2016dc000 r--
2016dc000-201704000 rw-
201704000-202000000 rw-
202000000-203d9c000 r--
203d9c000-205cc4000 rw-
205cc4000-208b10000 r--
208b10000-20a000000 r--
20a000000-242000000 r--
242000000-2425e4000 r--
2425e4000-244000000 rw-
244000000-244b40000 r--
244b40000-246474000 rw-
246474000-24765c000 r--
24765c000-248000000 r--
248000000-280000000 r--
fc0000000-1000000000 ---
1000000000-7000000000 ---
600000000000-600008000000 rw-
600008000000-600010000000 rw-
600010000000-600018000000 rw-
600018000000-600020000000 rw-
[IMPORTANT]
Don't forget to include the Crash Report log file under
DiagnosticReports directory in bug reports.
Actions #1

Updated by yui-knk (Kaneko Yuichiro) 2 months ago

  • Status changed from Open to Closed

Applied in changeset git|3ca6da24e397e550d589a69791be7697c0cb73c6.


[Bug #20295] Fix SEGV when parsing invalid regexp

Actions

Also available in: Atom PDF

Like0
Like0Like0