Project

General

Profile

Actions

Bug #19173

closed

syntax_suggest segfaults on syntax error when refinement activated

Added by tomstuart (Tom Stuart) over 1 year ago. Updated over 1 year ago.

Status:
Closed
Assignee:
-
Target version:
ruby -v:
ruby 3.2.0dev (2022-12-02T10:47:18Z master 11871e49c4) [arm64-darwin21]
[ruby-core:111155]

Description

While reporting certain syntax errors (e.g. “Invalid yield”, “Invalid redo”), syntax_suggest segfaults when a refinement is activated:

% echo 'yield' > test.rb; ruby test.rb
test.rb:1: Invalid yield
test.rb: compile error (SyntaxError)

% echo 'using Module.new; yield' > test.rb; ruby test.rb
test.rb:1: Invalid yield
/Users/tom/.rubies/ruby-master/lib/ruby/3.2.0+3/fileutils.rb:2646: [BUG] Segmentation fault at 0x0000000000000008
[…]
-- Ruby level backtrace information ----------------------------------------
/Users/tom/.rubies/ruby-master/lib/ruby/3.2.0+3/syntax_suggest/core_ext.rb:25:in `detailed_message'

There’s no problem if syntax_suggest is disabled:

% echo 'using Module.new; yield' > test.rb; ruby --disable-syntax_suggest test.rb
test.rb:1: Invalid yield
test.rb: compile error (SyntaxError)

This bug exists on both 3.2.0-preview3 and master, and I’ve verified it on x86_64 as well as my arm64 machine. A crash report log is attached.


Files

ruby-2022-12-02-122013.ips (16.4 KB) ruby-2022-12-02-122013.ips tomstuart (Tom Stuart), 12/02/2022 12:35 PM
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0