Segfault if variable named 'current' exists
neilmiddleton opened this issue · comments
/Users/nmiddleton/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb:10: [BUG] Segmentation fault at 0x00000000000000
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]
-- Crash Report log information --------------------------------------------
See Crash Report log file under the one of following:
* ~/Library/Logs/CrashReporter
* /Library/Logs/CrashReporter
* ~/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:0037 p:---- s:0145 e:000144 CFUNC :local_variables
c:0036 p:0029 s:0142 e:000141 METHOD /Users/nmiddleton/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/spell_checkers/name_error_ [FINISH]
c:0035 p:---- s:0137 e:000136 CFUNC :new
c:0034 p:0076 s:0133 e:000132 METHOD /Users/nmiddleton/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/spell_checkers/name_error_
c:0033 p:0039 s:0129 e:000128 METHOD /Users/nmiddleton/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/core_ext/name_error.rb:24
c:0032 p:0008 s:0126 e:000125 METHOD /Users/nmiddleton/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/core_ext/name_error.rb:20
c:0031 p:0054 s:0123 e:000120 METHOD /Users/nmiddleton/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/core_ext/name_error.rb:13 [FINISH]
c:0030 p:---- s:0116 e:000115 CFUNC :inspect
c:0029 p:---- s:0114 e:000113 CFUNC :inspect
c:0028 p:---- s:0112 e:000111 CFUNC :inspect
c:0027 p:---- s:0110 e:000109 CFUNC :to_str
c:0026 p:---- s:0108 e:000107 CFUNC :to_s
c:0025 p:0010 s:0105 e:000104 METHOD /Users/nmiddleton/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/core_ext/name_error.rb:10 [FINISH]
c:0024 p:---- s:0100 e:000099 CFUNC :message
c:0023 p:0073 s:0097 e:000096 METHOD /Users/nmiddleton/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rspec-core-3.2.3/lib/rspec/core/notifications.rb:228
c:0022 p:0027 s:0093 e:000091 METHOD /Users/nmiddleton/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rspec-core-3.2.3/lib/rspec/core/notifications.rb:174
c:0021 p:0016 s:0088 e:000087 METHOD /Users/nmiddleton/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rspec-core-3.2.3/lib/rspec/core/notifications.rb:272
c:0020 p:0042 s:0083 e:000077 METHOD /Users/nmiddleton/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rspec-core-3.2.3/lib/rspec/core/notifications.rb:199
c:0019 p:0018 s:0073 e:000071 BLOCK /Users/nmiddleton/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rspec-core-3.2.3/lib/rspec/core/notifications.rb:110 [FINISH]
c:0018 p:---- s:0068 e:000067 IFUNC
c:0017 p:---- s:0066 e:000065 CFUNC :each
c:0016 p:---- s:0064 e:000063 CFUNC :each_with_index
c:0015 p:0036 s:0061 e:000060 METHOD /Users/nmiddleton/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rspec-core-3.2.3/lib/rspec/core/notifications.rb:109
c:0014 p:0031 s:0056 e:000054 METHOD /Users/nmiddleton/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rspec-core-3.2.3/lib/rspec/core/formatters/base_text_formatter
c:0013 p:0013 s:0051 e:000050 BLOCK /Users/nmiddleton/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rspec-core-3.2.3/lib/rspec/core/reporter.rb:146 [FINISH]
c:0012 p:---- s:0048 e:000047 CFUNC :each
c:0011 p:0014 s:0045 e:000044 METHOD /Users/nmiddleton/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rspec-core-3.2.3/lib/rspec/core/reporter.rb:145
c:0010 p:0070 s:0040 e:000039 METHOD /Users/nmiddleton/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rspec-core-3.2.3/lib/rspec/core/reporter.rb:124
c:0009 p:0024 s:0037 e:000035 METHOD /Users/nmiddleton/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rspec-core-3.2.3/lib/rspec/core/reporter.rb:64
c:0008 p:0022 s:0032 e:000031 METHOD /Users/nmiddleton/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:108
c:0007 p:0025 s:0028 e:000027 METHOD /Users/nmiddleton/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:86
c:0006 p:0097 s:0023 e:000022 METHOD /Users/nmiddleton/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:70
c:0005 p:0026 s:0016 e:000015 METHOD /Users/nmiddleton/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:38
c:0004 p:0025 s:0012 e:000011 TOP /Users/nmiddleton/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rspec-core-3.2.3/exe/rspec:4 [FINISH]
c:0003 p:---- s:0010 e:000009 CFUNC :load
c:0002 p:0147 s:0006 E:000240 EVAL /Users/nmiddleton/.rbenv/versions/2.3.0/bin/rspec:23 [FINISH]
c:0001 p:0000 s:0002 E:001eb0 (none) [FINISH]
@neilmiddleton I was not able to reproduce this myself, this was with a local variable named current
correct? Was the misspelling on that particular variable or another variable?
I don't have a reproducible case, but changing current
to something else made this segfault stop.
@neilmiddleton Thank you for reporting an issue. This issue looks similar to #67 and might have been fixed in r53514 and r53524. Could you try using Ruby 2.4.0-dev? We'll also backport the fix to 2.3.1 for sure.
My ruby also crashes because of segmentation faults. Please take a look at the crash report:
@dpisarewski Could you try using Ruby 2.4.0-dev? I believe this issue has been fixed: https://bugs.ruby-lang.org/issues/11928#change-57823
I'm was using the var current_user
which segfaults on 2.3.0.
I tested both current_user
and current
.
No segfault on 2.4.0-dev 👍 Thank you!
Ruby 2.3.1 has been released with a fix for this bug. I'm closing this issue until we see the same bug in 2.3.1. Thanks!