[ruby-core:74870] [Ruby trunk Bug#12265] did_you_mean spell checker crash

From: durfee.sean@...
Date: 2016-04-10 20:49:52 UTC
List: ruby-core #74870
Issue #12265 has been updated by Sean Durfee.


Apparently there was a method I forgot to define. Running rake test:controllers first, followed by rake test:modules let me track down the issue. Bug no longer throws.

----------------------------------------
Bug #12265: did_you_mean spell checker crash
https://bugs.ruby-lang.org/issues/12265#change-57997

* Author: Sean Durfee
* Status: Open
* Priority: Normal
* Assignee: Sean Durfee
* ruby -v: 2.3.0p0 (2015-12-25 revision 53290)
* Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN
----------------------------------------
I'm not entirely sure what went wrong. I fixed a bracket error in my code and it started throwing this.

If you need anything else from me/I can help at all, please let me know.

/usr/local/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 0x000000000000c7
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:0028 p:---- s:0100 e:000099 CFUNC  :local_variables
c:0027 p:0029 s:0097 e:000096 METHOD /usr/local/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checke [FINISH]
c:0026 p:---- s:0092 e:000091 CFUNC  :new
c:0025 p:0076 s:0088 e:000087 METHOD /usr/local/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/spell_checkers/name_error_checkers.rb:18
c:0024 p:0039 s:0084 e:000083 METHOD /usr/local/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/core_ext/name_error.rb:24
c:0023 p:0008 s:0081 e:000080 METHOD /usr/local/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/core_ext/name_error.rb:20
c:0022 p:0054 s:0078 e:000075 METHOD /usr/local/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:0021 p:---- s:0071 e:000070 CFUNC  :message
c:0020 p:0044 s:0068 e:000065 METHOD /usr/local/lib/ruby/gems/2.3.0/gems/minitest-5.8.4/lib/minitest.rb:700
c:0019 p:0024 s:0062 e:000057 BLOCK  /usr/local/lib/ruby/gems/2.3.0/gems/minitest-5.8.4/lib/minitest/test.rb:265 [FINISH]
c:0018 p:---- s:0055 e:000054 CFUNC  :map
c:0017 p:0038 s:0052 e:000051 METHOD /usr/local/lib/ruby/gems/2.3.0/gems/minitest-5.8.4/lib/minitest/test.rb:264 [FINISH]
c:0016 p:---- s:0049 e:000048 CFUNC  :%
c:0015 p:0019 s:0045 e:000044 BLOCK  /usr/local/lib/ruby/gems/2.3.0/gems/minitest-5.8.4/lib/minitest.rb:579 [FINISH]
c:0014 p:---- s:0041 e:000040 IFUNC 
c:0013 p:---- s:0039 e:000038 IFUNC 
c:0012 p:---- s:0037 e:000036 CFUNC  :each
c:0011 p:---- s:0035 e:000034 CFUNC  :each_with_index
c:0010 p:---- s:0033 e:000032 CFUNC  :each
c:0009 p:---- s:0031 e:000030 CFUNC  :map
c:0008 p:0046 s:0028 e:000027 METHOD /usr/local/lib/ruby/gems/2.3.0/gems/minitest-5.8.4/lib/minitest.rb:578
c:0007 p:0080 s:0023 e:000021 METHOD /usr/local/lib/ruby/gems/2.3.0/gems/minitest-5.8.4/lib/minitest.rb:565 [FINISH]
c:0006 p:---- s:0019 e:000018 IFUNC  :report
c:0005 p:---- s:0017 e:000016 CFUNC  :each
c:0004 p:0014 s:0014 e:000013 METHOD /usr/local/lib/ruby/gems/2.3.0/gems/minitest-5.8.4/lib/minitest.rb:637
c:0003 p:0177 s:0011 e:000010 METHOD /usr/local/lib/ruby/gems/2.3.0/gems/minitest-5.8.4/lib/minitest.rb:134
c:0002 p:0071 s:0005 E:0020d8 BLOCK  /usr/local/lib/ruby/gems/2.3.0/gems/minitest-5.8.4/lib/minitest.rb:56 [FINISH]
c:0001 p:0000 s:0002 E:001210 (none) [FINISH]

-- Ruby level backtrace information ----------------------------------------
/usr/local/lib/ruby/gems/2.3.0/gems/minitest-5.8.4/lib/minitest.rb:56:in `block in autorun'
/usr/local/lib/ruby/gems/2.3.0/gems/minitest-5.8.4/lib/minitest.rb:134:in `run'
/usr/local/lib/ruby/gems/2.3.0/gems/minitest-5.8.4/lib/minitest.rb:637:in `report'
/usr/local/lib/ruby/gems/2.3.0/gems/minitest-5.8.4/lib/minitest.rb:637:in `each'
/usr/local/lib/ruby/gems/2.3.0/gems/minitest-5.8.4/lib/minitest.rb:565:in `report'
/usr/local/lib/ruby/gems/2.3.0/gems/minitest-5.8.4/lib/minitest.rb:578:in `aggregated_results'
/usr/local/lib/ruby/gems/2.3.0/gems/minitest-5.8.4/lib/minitest.rb:578:in `map'
/usr/local/lib/ruby/gems/2.3.0/gems/minitest-5.8.4/lib/minitest.rb:578:in `each'
/usr/local/lib/ruby/gems/2.3.0/gems/minitest-5.8.4/lib/minitest.rb:578:in `each_with_index'
/usr/local/lib/ruby/gems/2.3.0/gems/minitest-5.8.4/lib/minitest.rb:578:in `each'
/usr/local/lib/ruby/gems/2.3.0/gems/minitest-5.8.4/lib/minitest.rb:579:in `block in aggregated_results'
/usr/local/lib/ruby/gems/2.3.0/gems/minitest-5.8.4/lib/minitest.rb:579:in `%'
/usr/local/lib/ruby/gems/2.3.0/gems/minitest-5.8.4/lib/minitest/test.rb:264:in `to_s'
/usr/local/lib/ruby/gems/2.3.0/gems/minitest-5.8.4/lib/minitest/test.rb:264:in `map'
/usr/local/lib/ruby/gems/2.3.0/gems/minitest-5.8.4/lib/minitest/test.rb:265:in `block in to_s'
/usr/local/lib/ruby/gems/2.3.0/gems/minitest-5.8.4/lib/minitest.rb:700:in `message'
/usr/local/lib/ruby/gems/2.3.0/gems/minitest-5.8.4/lib/minitest.rb:700:in `message'
/usr/local/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/core_ext/name_error.rb:13:in `to_s'
/usr/local/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/core_ext/name_error.rb:20:in `corrections'
/usr/local/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/core_ext/name_error.rb:24:in `spell_checker'
/usr/local/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/spell_checkers/name_error_checkers.rb:18:in `new'
/usr/local/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib/did_you_mean/spell_checkers/name_error_checkers.rb:18:in `new'
/usr/local/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:in `initialize'
/usr/local/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:in `local_variables'

-- Machine register context ------------------------------------------------
 rax: 0x000000000000000f rbx: 0x0000000000000000 rcx: 0x0000000000000001
 rdx: 0x0000000000000000 rdi: 0x00007f9fb2f39fb8 rsi: 0x00007fff514eba20
 rbp: 0x00007fff514eba10 rsp: 0x00007fff514eb9f0  r8: 0x00007f9faad003b8
  r9: 0x000000000000031e r10: 0x00007f9fb2600000 r11: 0x0000000000000000
 r12: 0x00007f9fb2f39fb8 r13: 0x00007f9faad00000 r14: 0x0000000000000001
 r15: 0x00007fff514eba20 rip: 0x000000010e85717d rfl: 0x0000000000010246

-- C level backtrace information -------------------------------------------
0   libruby.2.3.0.dylib                 0x000000010e8645e4 rb_print_backtrace + 29
1   libruby.2.3.0.dylib                 0x000000010e8647c5 rb_vm_bugreport + 374
2   libruby.2.3.0.dylib                 0x000000010e74cd36 rb_bug_context + 209
3   libruby.2.3.0.dylib                 0x000000010e7f7782 sig_do_nothing + 0
4   libsystem_platform.dylib            0x00007fff9499c52a _sigtramp + 26
5   libruby.2.3.0.dylib                 0x000000010e85717d collect_local_variables_in_iseq + 38
6   ???                                 0x00007f9fb2f39fb8 0x0 + 140323878838200



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next