GlobalNamesArchitecture / damerau-levenshtein

Calculates edit distance using Damerau-Levenshtein algorithm
MIT License
135 stars 19 forks source link

damerau-levenshtein-1.3.2/lib/damerau-levenshtein.rb:17: [BUG] Segmentation fault at 0x00007ffee4716000 #16

Closed puritysb closed 3 years ago

puritysb commented 4 years ago

Crash when I try to get the Edit Distance.

$ ruby test.rb
/Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/damerau-levenshtein-1.3.2/lib/damerau-levenshtein.rb:17: [BUG] Segmentation fault at 0x00007ffee4716000
ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-darwin18]

-- Crash Report log information --------------------------------------------
   See Crash Report log file under the one of following:                    
     * ~/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:0004 p:---- s:0026 e:000025 CFUNC  :internal_distance
c:0003 p:0029 s:0018 e:000017 METHOD /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/damerau-levenshtein-1.3.2/lib/damerau-levenshtein.rb:17
c:0002 p:0033 s:0010 E:000810 EVAL   test.rb:5 [FINISH]
c:0001 p:0000 s:0003 E:000800 (none) [FINISH]

-- Ruby level backtrace information ----------------------------------------
test.rb:5:in `<main>'
/Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/damerau-levenshtein-1.3.2/lib/damerau-levenshtein.rb:17:in `distance'
/Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/damerau-levenshtein-1.3.2/lib/damerau-levenshtein.rb:17:in `internal_distance'

-- Machine register context ------------------------------------------------
 rax: 0x000000000000022d rbx: 0x0000000000000049 rcx: 0x00007ffee4713a08
 rdx: 0x0000000000000002 rdi: 0x00000000ffffffff rsi: 0x000000000000022e
 rbp: 0x00007ffee4714fa0 rsp: 0x00007ffee4713a00  r8: 0x0000000000000049
  r9: 0x000000000000022d r10: 0x0000000000000000 r11: 0x000000000000022f
 r12: 0x00007ffee4713a00 r13: 0x00007ffee4714e98 r14: 0x0000000000000001
 r15: 0x00007ffee4714e90 rip: 0x000000010db5cd14 rfl: 0x0000000000010246

-- C level backtrace information -------------------------------------------
/Users/puritysb/.rbenv/versions/2.6.0/bin/ruby(rb_vm_bugreport+0x82) [0x10b725532]
/Users/puritysb/.rbenv/versions/2.6.0/bin/ruby(rb_bug_context+0x1d6) [0x10b575d56]
/Users/puritysb/.rbenv/versions/2.6.0/bin/ruby(sigsegv+0x51) [0x10b68aa81]
/usr/lib/system/libsystem_platform.dylib(_sigtramp+0x1d) [0x7fff66b0eb1d]
/Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/damerau-levenshtein-1.3.2/lib/damerau-levenshtein/damerau_levenshtein.bundle(method_internal_distance+0x4b4) [0x10db5cd14]
/Users/puritysb/.rbenv/versions/2.6.0/bin/ruby(vm_call_cfunc+0x156) [0x10b717ec6]
/Users/puritysb/.rbenv/versions/2.6.0/bin/ruby(vm_exec_core+0x31ba) [0x10b6feada]
/Users/puritysb/.rbenv/versions/2.6.0/bin/ruby(rb_vm_exec+0xac4) [0x10b712914]
/Users/puritysb/.rbenv/versions/2.6.0/bin/ruby(ruby_exec_internal+0xe6) [0x10b580d36]
/Users/puritysb/.rbenv/versions/2.6.0/bin/ruby(ruby_run_node+0x49) [0x10b580ba9]
/Users/puritysb/.rbenv/versions/2.6.0/bin/ruby(main+0x5d) [0x10b4eb2ed]

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

* Loaded script: test.rb

* Loaded features:

    0 enumerator.so
    1 thread.rb
    2 rational.so
    3 complex.so
    4 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/x86_64-darwin18/enc/encdb.bundle
    5 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/x86_64-darwin18/enc/trans/transdb.bundle
    6 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/x86_64-darwin18/rbconfig.rb
    7 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/rubygems/compatibility.rb
    8 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/rubygems/defaults.rb
    9 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/rubygems/deprecate.rb
   10 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/rubygems/errors.rb
   11 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/rubygems/version.rb
   12 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/rubygems/requirement.rb
   13 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/rubygems/platform.rb
   14 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/rubygems/basic_specification.rb
   15 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/rubygems/stub_specification.rb
   16 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/delegate.rb
   17 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/uri/rfc2396_parser.rb
   18 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/uri/rfc3986_parser.rb
   19 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/uri/common.rb
   20 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/uri/generic.rb
   21 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/uri/file.rb
   22 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/uri/ftp.rb
   23 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/uri/http.rb
   24 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/uri/https.rb
   25 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/uri/ldap.rb
   26 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/uri/ldaps.rb
   27 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/uri/mailto.rb
   28 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/uri.rb
   29 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/rubygems/specification_policy.rb
   30 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/rubygems/util/list.rb
   31 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/x86_64-darwin18/stringio.bundle
   32 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/rubygems/specification.rb
   33 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/rubygems/exceptions.rb
   34 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/rubygems/util.rb
   35 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/rubygems/bundler_version_finder.rb
   36 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/rubygems/dependency.rb
   37 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/rubygems/core_ext/kernel_gem.rb
   38 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/monitor.rb
   39 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb
   40 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/rubygems/core_ext/kernel_warn.rb
   41 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/rubygems.rb
   42 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/2.6.0/rubygems/path_support.rb
   43 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/did_you_mean-1.4.0/lib/did_you_mean/version.rb
   44 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/did_you_mean-1.4.0/lib/did_you_mean/core_ext/name_error.rb
   45 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/did_you_mean-1.4.0/lib/did_you_mean/levenshtein.rb
   46 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/did_you_mean-1.4.0/lib/did_you_mean/jaro_winkler.rb
   47 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/did_you_mean-1.4.0/lib/did_you_mean/spell_checker.rb
   48 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/did_you_mean-1.4.0/lib/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb
   49 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/did_you_mean-1.4.0/lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
   50 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/did_you_mean-1.4.0/lib/did_you_mean/spell_checkers/name_error_checkers.rb
   51 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/did_you_mean-1.4.0/lib/did_you_mean/spell_checkers/method_name_checker.rb
   52 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/did_you_mean-1.4.0/lib/did_you_mean/spell_checkers/key_error_checker.rb
   53 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/did_you_mean-1.4.0/lib/did_you_mean/spell_checkers/null_checker.rb
   54 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/did_you_mean-1.4.0/lib/did_you_mean/formatters/plain_formatter.rb
   55 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/did_you_mean-1.4.0/lib/did_you_mean/tree_spell_checker.rb
   56 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/did_you_mean-1.4.0/lib/did_you_mean.rb
   57 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/damerau-levenshtein-1.3.2/lib/damerau-levenshtein/version.rb
   58 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/damerau-levenshtein-1.3.2/lib/damerau-levenshtein/damerau_levenshtein.bundle
   59 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/damerau-levenshtein-1.3.2/lib/damerau-levenshtein/formatter.rb
   60 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/damerau-levenshtein-1.3.2/lib/damerau-levenshtein/differ.rb
   61 /Users/puritysb/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/damerau-levenshtein-1.3.2/lib/damerau-levenshtein.rb

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: https://www.ruby-lang.org/bugreport.html

[IMPORTANT]
Don't forget to include the Crash Report log file under
DiagnosticReports directory in bug reports.

here is test code for reproduce

require 'damerau-levenshtein'
dl = DamerauLevenshtein
text1 = "I am QA"
text2 = "IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII"
edit_distance = dl.distance(text1, text2)
puritysb commented 4 years ago

My Desktop env : Mac OS Mojave

Dahie commented 4 years ago

I can confirm, I have the same issue on OSX Mojave with Ruby 2.6.5. May this be related to #19?

/Users/danielsenff/.rvm/gems/ruby-2.6.5/gems/damerau-levenshtein-1.3.2/lib/damerau-levenshtein.rb:17: [BUG] Segmentation fault at 0x00007ffeef265000
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin19]

-- Crash Report log information --------------------------------------------
   See Crash Report log file under the one of following:                    
     * ~/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:0004 p:---- s:0026 e:000025 CFUNC  :internal_distance
c:0003 p:0029 s:0018 e:000017 METHOD /Users/danielsenff/.rvm/gems/ruby-2.6.5/gems/damerau-levenshtein-1.3.2/lib/damerau-levenshtein.rb:17
c:0002 p:0033 s:0010 E:000380 EVAL   levenshtein.rb:23 [FINISH]
c:0001 p:0000 s:0003 E:000d80 (none) [FINISH]

-- Ruby level backtrace information ----------------------------------------
levenshtein.rb:23:in `<main>'
/Users/danielsenff/.rvm/gems/ruby-2.6.5/gems/damerau-levenshtein-1.3.2/lib/damerau-levenshtein.rb:17:in `distance'
/Users/danielsenff/.rvm/gems/ruby-2.6.5/gems/damerau-levenshtein-1.3.2/lib/damerau-levenshtein.rb:17:in `internal_distance'

-- Machine register context ------------------------------------------------
 rax: 0x0000000000000223 rbx: 0x0000000000000049 rcx: 0x00007ffeef262a58
 rdx: 0x0000000000000002 rdi: 0x00000000ffffffff rsi: 0x0000000000000224
 rbp: 0x00007ffeef263ff0 rsp: 0x00007ffeef262a50  r8: 0x0000000000000049
  r9: 0x0000000000000223 r10: 0x0000000000000000 r11: 0x0000000000000225
 r12: 0x00007ffeef262a50 r13: 0x00007ffeef263ee8 r14: 0x0000000000000001
 r15: 0x00007ffeef263ee0 rip: 0x0000000103022d14 rfl: 0x0000000000010246

-- C level backtrace information -------------------------------------------
/Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/libruby.2.6.dylib(rb_vm_bugreport+0x82) [0x100be13d2]
/Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/libruby.2.6.dylib(rb_bug_context+0x1d6) [0x100a2fd96]
/Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/libruby.2.6.dylib(sigsegv+0x51) [0x100b460c1]
/usr/lib/system/libsystem_platform.dylib(_sigtramp+0x1d) [0x7fff699965fd]
/Users/danielsenff/.rvm/gems/ruby-2.6.5/gems/damerau-levenshtein-1.3.2/lib/damerau-levenshtein/damerau_levenshtein.bundle(method_internal_distance+0x4b4) [0x103022d14]
/Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/libruby.2.6.dylib(vm_call_cfunc+0x156) [0x100bd3c46]
/Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/libruby.2.6.dylib(vm_exec_core+0x33da) [0x100bba81a]
/Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/libruby.2.6.dylib(rb_vm_exec+0xac4) [0x100bce694]
/Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/libruby.2.6.dylib(ruby_exec_internal+0xe6) [0x100a3ae16]
/Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/libruby.2.6.dylib(ruby_run_node+0x49) [0x100a3ac89]
/Users/danielsenff/.rvm/rubies/ruby-2.6.5/bin/ruby(main+0x5d) [0x10099bf0d]

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

* Loaded script: levenshtein.rb

* Loaded features:

    0 enumerator.so
    1 thread.rb
    2 rational.so
    3 complex.so
    4 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/2.6.0/x86_64-darwin19/enc/encdb.bundle
    5 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/2.6.0/x86_64-darwin19/enc/trans/transdb.bundle
    6 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/2.6.0/x86_64-darwin19/rbconfig.rb
    7 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/compatibility.rb
    8 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/defaults.rb
    9 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/deprecate.rb
   10 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/errors.rb
   11 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/path_support.rb
   12 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/version.rb
   13 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/requirement.rb
   14 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/platform.rb
   15 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/basic_specification.rb
   16 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/stub_specification.rb
   17 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/2.6.0/delegate.rb
   18 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/2.6.0/uri/rfc2396_parser.rb
   19 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/2.6.0/uri/rfc3986_parser.rb
   20 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/2.6.0/uri/common.rb
   21 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/2.6.0/uri/generic.rb
   22 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/2.6.0/uri/file.rb
   23 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/2.6.0/uri/ftp.rb
   24 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/2.6.0/uri/http.rb
   25 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/2.6.0/uri/https.rb
   26 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/2.6.0/uri/ldap.rb
   27 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/2.6.0/uri/ldaps.rb
   28 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/2.6.0/uri/mailto.rb
   29 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/2.6.0/uri.rb
   30 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/specification_policy.rb
   31 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/util/list.rb
   32 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/2.6.0/x86_64-darwin19/stringio.bundle
   33 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/specification.rb
   34 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/exceptions.rb
   35 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/util.rb
   36 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/bundler_version_finder.rb
   37 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/dependency.rb
   38 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_gem.rb
   39 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/2.6.0/monitor.rb
   40 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb
   41 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_warn.rb
   42 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems.rb
   43 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/version.rb
   44 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/core_ext/name_error.rb
   45 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/levenshtein.rb
   46 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/jaro_winkler.rb
   47 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/spell_checker.rb
   48 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb
   49 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
   50 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/spell_checkers/name_error_checkers.rb
   51 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/spell_checkers/method_name_checker.rb
   52 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/spell_checkers/key_error_checker.rb
   53 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/spell_checkers/null_checker.rb
   54 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/formatters/plain_formatter.rb
   55 /Users/danielsenff/.rvm/rubies/ruby-2.6.5/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean.rb
   56 /Users/danielsenff/.rvm/gems/ruby-2.6.5/gems/damerau-levenshtein-1.3.2/lib/damerau-levenshtein/version.rb
   57 /Users/danielsenff/.rvm/gems/ruby-2.6.5/gems/damerau-levenshtein-1.3.2/lib/damerau-levenshtein/damerau_levenshtein.bundle
   58 /Users/danielsenff/.rvm/gems/ruby-2.6.5/gems/damerau-levenshtein-1.3.2/lib/damerau-levenshtein/formatter.rb
   59 /Users/danielsenff/.rvm/gems/ruby-2.6.5/gems/damerau-levenshtein-1.3.2/lib/damerau-levenshtein/differ.rb
   60 /Users/danielsenff/.rvm/gems/ruby-2.6.5/gems/damerau-levenshtein-1.3.2/lib/damerau-levenshtein.rb

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: https://www.ruby-lang.org/bugreport.html

[IMPORTANT]
Don't forget to include the Crash Report log file under
DiagnosticReports directory in bug reports.

[1]    33556 abort      ruby levenshtein.rb
wynksaiddestroy commented 4 years ago

ruby 2.7.1p83 on macOS 10.15.5 executes the code snippet successfully and will return 656.

dimus commented 3 years ago

Worked for me for ruby 2.6.6 and 2.7.1 on Linux 64bit, and MacOS 10.15.5, before upgrading to MacOS 10.15.5 I could reproduce this problem. So looks like it was MacOS bug, and it is now fixed.