
Issue #19173 has been updated by ufuk (Ufuk Kayserilioglu). @schneems This seems to be less about syntax suggest than refinements. @tenderlovemaking already has a PR up that should fix it: https://github.com/ruby/ruby/pull/6853 ---------------------------------------- Bug #19173: syntax_suggest segfaults on syntax error when refinement activated https://bugs.ruby-lang.org/issues/19173#change-100452 * Author: tomstuart (Tom Stuart) * Status: Open * Priority: Normal * Target version: 3.2 * ruby -v: ruby 3.2.0dev (2022-12-02T10:47:18Z master 11871e49c4) [arm64-darwin21] * Backport: 2.7: DONTNEED, 3.0: DONTNEED, 3.1: DONTNEED ---------------------------------------- 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) -- https://bugs.ruby-lang.org/