Skip to content

ruby: Segmentation fault when transcribing 8 times #2509

@KitaitiMakoto

Description

@KitaitiMakoto

Hi,

I found whispercpp gem causes SEGV when it transcribing eight times. I have investigated for several hours, but, still I couldn't find the cause.

require "whisper"

8.times do
  params  = Whisper::Params.new
  whisper = Whisper::Context.new(File.join('..', '..', 'models', 'ggml-base.en.bin'))
  jfk = File.join('..', '..', 'samples', 'jfk.wav')
  whisper.transcribe(jfk, params) # SEGV on 8th call
end
% ruby -Ilib ./tmp/8times.rb
  :
  :
  :
tmp/8times.rb:8: [BUG] Segmentation fault at 0x0000000000000020
ruby 3.3.5 (2024-09-03 revision ef084cc8f4) [arm64-darwin23]

-- Crash Report log information --------------------------------------------
See Crash Report log file in one of the following locations:
* ~/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:0005 p:---- s:0025 e:000024 CFUNC :transcribe
c:0004 p:0052 s:0019 e:000018 BLOCK tmp/8times.rb:8
c:0003 p:0025 s:0012 e:000011 METHOD internal:numeric:237
c:0002 p:0011 s:0007 E:000318 EVAL tmp/8times.rb:3 [FINISH]
c:0001 p:0000 s:0003 E:001f20 DUMMY [FINISH]

-- Ruby level backtrace information ----------------------------------------
tmp/8times.rb:3:in <main>' <internal:numeric>:237:in times'
tmp/8times.rb:8:in block in <main>' tmp/8times.rb:8:in transcribe'

-- Threading information ---------------------------------------------------
Total ractor count: 1
Ruby thread count for this ractor: 1

-- Machine register context ------------------------------------------------
x0: 0x0000000000000000 x1: 0x0000000000000800 x2: 0x0000000000000000
x3: 0x0000000fffffc088 x4: 0x0000000000000000 x5: 0x0000000000000000
x6: 0x00006000006ade80 x7: 0x0000000000003fff x18: 0x0000000000000000
x19: 0x0000000131904950 x20: 0x0000000104699150 x21: 0x0000000138127f20
x22: 0x0000000000000002 x23: 0x00000001380280a0 x24: 0x0000000138028098
x25: 0x000000010469b7e8 x26: 0x0000000055550083 x27: 0x00006000026ec7b0
x28: 0x0000000000000000 lr: 0x000000011fb9cb44 fp: 0x000000016ba93920
sp: 0x000000016ba938f0

-- C level backtrace information -------------------------------------------
/Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/libruby.3.3.dylib(rb_vm_bugreport+0xb4c) [0x104bb1a2c]
/Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/libruby.3.3.dylib(rb_bug_for_fatal_signal+0x100) [0x1049ef68c]
/Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/libruby.3.3.dylib(sig_do_nothing+0x0) [0x104b134ec]
/usr/lib/system/libsystem_platform.dylib(_sigtramp+0x38) [0x198790184]
/Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle(_ZL24whisper_build_graph_convR15whisper_contextR13whisper_state+0xdc) [0x11fb9cb44]
/Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle(_ZL24whisper_build_graph_convR15whisper_contextR13whisper_state) [0x11fb9cb44]
/Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle(ZL23whisper_encode_internalR15whisper_contextR13whisper_stateiiPFbPvES3) [0x11fb783d0]
/Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle(whisper_full_with_state) [0x11fb7d0c8]
/Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle(whisper_full) [0x11fb8492c]
/Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle(whisper_full_parallel) [0x11fb849a4]
/Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle(ZL23ruby_whisper_transcribeiPmm) [0x11fb62a28]
/Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/libruby.3.3.dylib(vm_call_cfunc_with_frame
+0xf0) [0x104ba4410]
/Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/libruby.3.3.dylib(vm_exec_core+0x2318) [0x104b89c74]
/Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/libruby.3.3.dylib(rb_vm_exec+0x1f0) [0x104b86808]
/Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/libruby.3.3.dylib(rb_ec_exec_node+0x9c) [0x1049fae88]
/Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/libruby.3.3.dylib(ruby_run_node+0x60) [0x1049fad84]
/Users/kitaitimakoto/.rubies/ruby-3.3.5/bin/ruby(main+0x68) [0x10436bf24]

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

  • Loaded script: tmp/8times.rb

  • Loaded features:

    0 enumerator.so
    1 thread.rb
    2 fiber.so
    3 rational.so
    4 complex.so
    5 ruby2_keywords.rb
    6 /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/3.3.0/arm64-darwin23/enc/encdb.bundle
    7 /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/3.3.0/arm64-darwin23/enc/trans/transdb.bundle
    8 /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/3.3.0/arm64-darwin23/rbconfig.rb
    9 /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/site_ruby/3.3.0/rubygems/compatibility.rb
    10 /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/site_ruby/3.3.0/rubygems/defaults.rb
    11 /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/site_ruby/3.3.0/rubygems/deprecate.rb
    12 /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/site_ruby/3.3.0/rubygems/errors.rb
    13 /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/site_ruby/3.3.0/rubygems/unknown_command_spell_checker.rb
    14 /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/site_ruby/3.3.0/rubygems/exceptions.rb
    15 /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/site_ruby/3.3.0/rubygems/basic_specification.rb
    16 /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/site_ruby/3.3.0/rubygems/stub_specification.rb
    17 /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/site_ruby/3.3.0/rubygems/platform.rb
    18 /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/site_ruby/3.3.0/rubygems/specification_record.rb
    19 /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/site_ruby/3.3.0/rubygems/util/list.rb
    20 /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/site_ruby/3.3.0/rubygems/version.rb
    21 /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/site_ruby/3.3.0/rubygems/requirement.rb
    22 /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/site_ruby/3.3.0/rubygems/specification.rb
    23 /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/site_ruby/3.3.0/rubygems/util.rb
    24 /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/site_ruby/3.3.0/rubygems/dependency.rb
    25 /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/site_ruby/3.3.0/rubygems/core_ext/kernel_gem.rb
    26 /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/3.3.0/arm64-darwin23/monitor.bundle
    27 /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/3.3.0/monitor.rb
    28 /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/site_ruby/3.3.0/rubygems.rb
    29 /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/3.3.0/bundled_gems.rb
    30 /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/site_ruby/3.3.0/rubygems/path_support.rb
    31 /Users/kitaitimakoto/.gem/ruby/3.3.5/gems/error_highlight-0.6.0/lib/error_highlight/version.rb
    32 /Users/kitaitimakoto/.gem/ruby/3.3.5/gems/error_highlight-0.6.0/lib/error_highlight/base.rb
    33 /Users/kitaitimakoto/.gem/ruby/3.3.5/gems/error_highlight-0.6.0/lib/error_highlight/formatter.rb
    34 /Users/kitaitimakoto/.gem/ruby/3.3.5/gems/error_highlight-0.6.0/lib/error_highlight/core_ext.rb
    35 /Users/kitaitimakoto/.gem/ruby/3.3.5/gems/error_highlight-0.6.0/lib/error_highlight.rb
    36 /Users/kitaitimakoto/.gem/ruby/3.3.5/gems/did_you_mean-1.6.3/lib/did_you_mean/version.rb
    37 /Users/kitaitimakoto/.gem/ruby/3.3.5/gems/did_you_mean-1.6.3/lib/did_you_mean/core_ext/name_error.rb
    38 /Users/kitaitimakoto/.gem/ruby/3.3.5/gems/did_you_mean-1.6.3/lib/did_you_mean/levenshtein.rb
    39 /Users/kitaitimakoto/.gem/ruby/3.3.5/gems/did_you_mean-1.6.3/lib/did_you_mean/jaro_winkler.rb
    40 /Users/kitaitimakoto/.gem/ruby/3.3.5/gems/did_you_mean-1.6.3/lib/did_you_mean/spell_checker.rb
    41 /Users/kitaitimakoto/.gem/ruby/3.3.5/gems/did_you_mean-1.6.3/lib/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb
    42 /Users/kitaitimakoto/.gem/ruby/3.3.5/gems/did_you_mean-1.6.3/lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
    43 /Users/kitaitimakoto/.gem/ruby/3.3.5/gems/did_you_mean-1.6.3/lib/did_you_mean/spell_checkers/name_error_checkers.rb
    44 /Users/kitaitimakoto/.gem/ruby/3.3.5/gems/did_you_mean-1.6.3/lib/did_you_mean/spell_checkers/method_name_checker.rb
    45 /Users/kitaitimakoto/.gem/ruby/3.3.5/gems/did_you_mean-1.6.3/lib/did_you_mean/spell_checkers/key_error_checker.rb
    46 /Users/kitaitimakoto/.gem/ruby/3.3.5/gems/did_you_mean-1.6.3/lib/did_you_mean/spell_checkers/null_checker.rb
    47 /Users/kitaitimakoto/.gem/ruby/3.3.5/gems/did_you_mean-1.6.3/lib/did_you_mean/tree_spell_checker.rb
    48 /Users/kitaitimakoto/.gem/ruby/3.3.5/gems/did_you_mean-1.6.3/lib/did_you_mean/spell_checkers/require_path_checker.rb
    49 /Users/kitaitimakoto/.gem/ruby/3.3.5/gems/did_you_mean-1.6.3/lib/did_you_mean/spell_checkers/pattern_key_name_checker.rb
    50 /Users/kitaitimakoto/.gem/ruby/3.3.5/gems/did_you_mean-1.6.3/lib/did_you_mean/formatter.rb
    51 /Users/kitaitimakoto/.gem/ruby/3.3.5/gems/did_you_mean-1.6.3/lib/did_you_mean.rb
    52 /Users/kitaitimakoto/.gem/ruby/3.3.5/gems/syntax_suggest-2.0.1/lib/syntax_suggest/core_ext.rb
    53 /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle

  • Process memory map:

104368000-10436c000 r-x /Users/kitaitimakoto/.rubies/ruby-3.3.5/bin/ruby
10436c000-104370000 r-- /Users/kitaitimakoto/.rubies/ruby-3.3.5/bin/ruby
104370000-104374000 r-- /Users/kitaitimakoto/.rubies/ruby-3.3.5/bin/ruby
104374000-10437c000 rw- /Users/kitaitimakoto/.rubies/ruby-3.3.5/bin/ruby
10437c000-104384000 r-- /Users/kitaitimakoto/.rubies/ruby-3.3.5/bin/ruby
104384000-104388000 r-- /Users/kitaitimakoto/.rubies/ruby-3.3.5/bin/ruby
104388000-10438c000 rw- /Users/kitaitimakoto/.rubies/ruby-3.3.5/bin/ruby
10438c000-104390000 --- /Users/kitaitimakoto/.rubies/ruby-3.3.5/bin/ruby
104390000-104398000 rw- /Users/kitaitimakoto/.rubies/ruby-3.3.5/bin/ruby
104398000-10439c000 --- /Users/kitaitimakoto/.rubies/ruby-3.3.5/bin/ruby
10439c000-1043a0000 --- /Users/kitaitimakoto/.rubies/ruby-3.3.5/bin/ruby
1043a0000-1043a8000 rw- /Users/kitaitimakoto/.rubies/ruby-3.3.5/bin/ruby
1043a8000-1043ac000 --- /Users/kitaitimakoto/.rubies/ruby-3.3.5/bin/ruby
1043ac000-1043b0000 --- /Users/kitaitimakoto/.rubies/ruby-3.3.5/bin/ruby
1043b0000-1043b8000 rw- /Users/kitaitimakoto/.rubies/ruby-3.3.5/bin/ruby
1043b8000-1043bc000 --- /Users/kitaitimakoto/.rubies/ruby-3.3.5/bin/ruby
1043bc000-1043c0000 r-- /Users/kitaitimakoto/.rubies/ruby-3.3.5/bin/ruby
1043c0000-1043c4000 r-- /Users/kitaitimakoto/.rubies/ruby-3.3.5/bin/ruby
1043c4000-1043c8000 rw- /Users/kitaitimakoto/.rubies/ruby-3.3.5/bin/ruby
1043c8000-1043cc000 r-- /Users/kitaitimakoto/.rubies/ruby-3.3.5/bin/ruby
1043cc000-10440c000 rw- /Users/kitaitimakoto/.rubies/ruby-3.3.5/bin/ruby
10440c000-104410000 rw- /Users/kitaitimakoto/.rubies/ruby-3.3.5/bin/ruby
104410000-104420000 rw- /Users/kitaitimakoto/.rubies/ruby-3.3.5/bin/ruby
104420000-10442c000 r-- /Users/kitaitimakoto/.rubies/ruby-3.3.5/bin/ruby
104430000-104440000 rw- /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/3.3.0/arm64-darwin23/enc/encdb.bundle
104440000-104444000 r-x /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/3.3.0/arm64-darwin23/enc/encdb.bundle
104444000-104448000 r-- /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/3.3.0/arm64-darwin23/enc/encdb.bundle
104448000-10444c000 rw- /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/3.3.0/arm64-darwin23/enc/encdb.bundle
10444c000-104450000 r-- /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/3.3.0/arm64-darwin23/enc/encdb.bundle
104450000-104460000 rw- /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/3.3.0/arm64-darwin23/enc/trans/transdb.bundle
104460000-104464000 r-x /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/3.3.0/arm64-darwin23/enc/trans/transdb.bundle
104464000-104468000 r-- /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/3.3.0/arm64-darwin23/enc/trans/transdb.bundle
104468000-10446c000 rw- /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/3.3.0/arm64-darwin23/enc/trans/transdb.bundle
10446c000-104470000 r-- /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/3.3.0/arm64-darwin23/enc/trans/transdb.bundle
104470000-104480000 rw- /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/3.3.0/arm64-darwin23/monitor.bundle
104480000-104484000 r-x /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/3.3.0/arm64-darwin23/monitor.bundle
104484000-104488000 r-- /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/3.3.0/arm64-darwin23/monitor.bundle
104488000-10448c000 rw- /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/3.3.0/arm64-darwin23/monitor.bundle
10448c000-104490000 r-- /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/ruby/3.3.0/arm64-darwin23/monitor.bundle
104490000-1044a0000 rw- /usr/lib/system/libsystem_platform.dylib
1044b0000-1044c0000 rw- /usr/lib/system/libsystem_platform.dylib
1044d0000-1044e0000 rw- /usr/lib/system/libsystem_platform.dylib
1044f0000-104500000 rw- /usr/lib/system/libsystem_platform.dylib
104510000-104520000 rw- /usr/lib/system/libsystem_platform.dylib
104530000-104540000 rw- /usr/lib/system/libsystem_platform.dylib
104550000-104560000 rw- /usr/lib/system/libsystem_platform.dylib
104570000-104580000 rw- /usr/lib/system/libsystem_platform.dylib
104590000-1045a0000 rw- /usr/lib/system/libsystem_platform.dylib
1045b0000-1045c0000 rw- /usr/lib/system/libsystem_platform.dylib
1045d0000-1045e0000 rw- /usr/lib/system/libsystem_platform.dylib
1045f0000-104600000 rw- /usr/lib/system/libsystem_platform.dylib
104610000-104620000 rw- /usr/lib/system/libsystem_platform.dylib
104630000-104640000 rw- /usr/lib/system/libsystem_platform.dylib
104650000-104660000 rw- /usr/lib/system/libsystem_platform.dylib
104670000-104680000 rw- /usr/lib/system/libsystem_platform.dylib
104690000-1046a0000 rw- /usr/lib/system/libsystem_platform.dylib
1046b0000-1046c0000 rw- /usr/lib/system/libsystem_platform.dylib
1046d0000-1046e0000 rw- /usr/lib/system/libsystem_platform.dylib
1046f0000-104700000 rw- /usr/lib/system/libsystem_platform.dylib
104710000-104720000 rw- /usr/lib/system/libsystem_platform.dylib
104730000-104740000 rw- /usr/lib/system/libsystem_platform.dylib
104750000-104760000 rw- /usr/lib/system/libsystem_platform.dylib
104770000-104780000 rw- /usr/lib/system/libsystem_platform.dylib
104790000-1047a0000 rw- /usr/lib/system/libsystem_platform.dylib
1047b0000-1047c0000 rw- /usr/lib/system/libsystem_platform.dylib
1047d0000-1047e0000 rw- /usr/lib/system/libsystem_platform.dylib
1047e0000-10483c000 r-- /usr/lib/system/libsystem_platform.dylib
104950000-104dbc000 r-x /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/libruby.3.3.dylib
104dbc000-104dd4000 r-- /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/libruby.3.3.dylib
104dd4000-104dd8000 rw- /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/libruby.3.3.dylib
104dd8000-104dec000 rw- /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/libruby.3.3.dylib
104dec000-104f40000 r-- /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/libruby.3.3.dylib
104f40000-106340000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
106340000-10e340000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
10e340000-116340000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
116340000-11e340000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11e340000-11e344000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11e344000-11e3e8000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11e3e8000-11e3ec000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11e3ec000-11e490000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11e490000-11e494000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11e494000-11e538000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11e538000-11e53c000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11e53c000-11e5e0000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11e5e0000-11e5e4000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11e5e4000-11e688000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11e688000-11e68c000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11e68c000-11e730000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11e730000-11e734000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11e734000-11e7d8000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11e7d8000-11e7dc000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11e7dc000-11e880000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11e880000-11e884000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11e884000-11e928000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11e928000-11e92c000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11e92c000-11e9d0000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11e9d0000-11e9d4000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11e9d4000-11ea78000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11ea78000-11ea7c000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11ea7c000-11eb20000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11eb20000-11eb24000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11eb24000-11ebc8000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11ebc8000-11ebcc000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11ebcc000-11ec70000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11ec70000-11ec74000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11ec74000-11ed18000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11ed18000-11ed1c000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11ed1c000-11edc0000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11edc0000-11edc4000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11edc4000-11ee68000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11ee68000-11ee6c000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11ee6c000-11ef10000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11ef10000-11ef14000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11ef14000-11efb8000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11efb8000-11efbc000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11efbc000-11f060000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11f060000-11f064000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11f064000-11f108000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11f108000-11f10c000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11f10c000-11f1b0000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11f1b0000-11f1b4000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11f1b4000-11f258000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11f258000-11f25c000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11f25c000-11f300000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11f300000-11f304000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11f304000-11f3a8000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11f3a8000-11f3ac000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11f3ac000-11f450000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11f450000-11f454000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11f454000-11f4f8000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11f4f8000-11f4fc000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11f4fc000-11f5a0000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11f5a0000-11f5a4000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11f5a4000-11f648000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11f648000-11f64c000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11f64c000-11f6f0000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11f6f0000-11f6f4000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11f6f4000-11f798000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11f798000-11f79c000 --- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11f79c000-11f840000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11f840000-11fadc000 r-- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11fadc000-11fc30000 r-x /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11fc30000-11fc34000 r-- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11fc34000-11fc38000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11fc38000-11fcbc000 rw- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
11fcbc000-11fdfc000 r-- /Users/kitaitimakoto/src/github.com/ggerganov/whisper.cpp/bindings/ruby/lib/whisper.bundle
120000000-128000000 rw- /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/libruby.3.3.dylib
128000000-130000000 rw- /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/libruby.3.3.dylib
130000000-130800000 rw- /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/libruby.3.3.dylib
130800000-130ddc000 r-- /Users/kitaitimakoto/.rubies/ruby-3.3.5/lib/libruby.3.3.dylib
130e00000-130f00000 rw-
130f00000-131000000 rw-
131000000-131800000 rw-
131800000-131900000 rw-
131900000-131a00000 rw-
132000000-132800000 rw-
132800000-133000000 rw-
133000000-133800000 rw-
133800000-134a04000 rw-
134a04000-136468000 rw-
136468000-13726c000 rw-
137800000-138000000 rw-
138000000-140000000 rw-
140000000-148000000 rw-
148000000-150000000 rw-
150000000-150c8c000 rw-
150c8c000-156530000 rw-
156530000-157f94000 rw-
157f94000-15cff8000 rw-
15cff8000-15ea5c000 rw-
15ea5c000-1604c0000 rw-
1604c0000-165f24000 rw-
165f24000-167128000 rw-
167a98000-16b29c000 ---
16b29c000-16ba98000 rw-
16ba98000-16ba9c000 ---
16ba9c000-16bb24000 rw-
16bb24000-16dd7c000 rw-
16dd7c000-175d7c000 rw-
175d7c000-176a08000 rw-
176a08000-17c2ac000 rw-
17c2ac000-17dd10000 rw-
17dd10000-17eb14000 rw-
17eb14000-17fd18000 rw-
180000000-1fa000000 r--
1fa000000-1fada0000 r--
1fada0000-1fadc0000 rw-
1fadc0000-1fadc4000 r--
1fadc4000-1fc000000 rw-
1fc000000-1fcc04000 r--
1fcc04000-1fcc4c000 r--
1fcc4c000-1fdd1c000 rw-
1fdd1c000-20512c000 r--
20512c000-206000000 r--
206000000-286000000 r--
286000000-287f3c000 rw-
287f3c000-288c90000 rw-
288c90000-28d3a8000 r--
28d3a8000-28e000000 r--
28e000000-300000000 r--
300000000-301a64000 rw-
301a64000-306ac8000 rw-
306ac8000-30852c000 rw-
30852c000-309f90000 rw-
309f90000-30f9f4000 rw-
30f9f4000-311c4c000 rw-
311c4c000-319c4c000 rw-
319c4c000-31a8d8000 rw-
31a8d8000-32017c000 rw-
32017c000-321be0000 rw-
321be0000-3229e4000 rw-
3229e4000-324448000 rw-
324448000-3294ac000 rw-
3294ac000-32af10000 rw-
32af10000-32c974000 rw-
32c974000-3323d8000 rw-
3323d8000-334630000 rw-
334630000-33c630000 rw-
33c630000-33d2bc000 rw-
33d2bc000-33e4c0000 rw-
33e4c0000-343d64000 rw-
343d64000-3457c8000 rw-
3457c8000-3465cc000 rw-
3465cc000-348030000 rw-
348030000-34d094000 rw-
34d094000-34eaf8000 rw-
34eaf8000-35055c000 rw-
35055c000-355fc0000 rw-
355fc0000-358218000 rw-
358218000-360218000 rw-
360218000-360ea4000 rw-
360ea4000-3620a8000 rw-
3620a8000-36794c000 rw-
36794c000-3693b0000 rw-
3693b0000-36a1b4000 rw-
36a1b4000-36bc18000 rw-
36bc18000-370c7c000 rw-
370c7c000-3726e0000 rw-
3726e0000-374144000 rw-
374144000-379ba8000 rw-
37a000000-37a800000 rw-
37a800000-37b000000 rw-
37b000000-37d258000 rw-
37d258000-385258000 rw-
385258000-385ee4000 rw-
385ee4000-3870e8000 rw-
3870e8000-38c98c000 rw-
38c98c000-38e3f0000 rw-
38e3f0000-38f1f4000 rw-
38f1f4000-390c58000 rw-
390c58000-395cbc000 rw-
395cbc000-397720000 rw-
397720000-399184000 rw-
399184000-39ebe8000 rw-
39ebe8000-3a0e40000 rw-
3a0e40000-3a8e40000 rw-
3a8e40000-3a9acc000 rw-
3a9acc000-3aacd0000 rw-
3aacd0000-3b0574000 rw-
3b0574000-3b1fd8000 rw-
3b1fd8000-3b2ddc000 rw-
3b2ddc000-3b4840000 rw-
3b4840000-3b98a4000 rw-
3b98a4000-3bb308000 rw-
3bb308000-3bcd6c000 rw-
3bcd6c000-3c27d0000 rw-
3c27d0000-3c4a28000 rw-
3c4a28000-3cca28000 rw-
3cca28000-3cd6b4000 rw-
3cd6b4000-3ce8b8000 rw-
3ce8b8000-3d415c000 rw-
3d415c000-3d5bc0000 rw-
3d5bc0000-3d69c4000 rw-
3d69c4000-3d8428000 rw-
3d8428000-3dd48c000 rw-
3dd48c000-3deef0000 rw-
3deef0000-3e0954000 rw-
3e0954000-3e63b8000 rw-
fc0000000-1000000000 ---
1000000000-7000000000 ---
600000000000-600020000000 rw-
[IMPORTANT]
Don't forget to include the Crash Report log file under
DiagnosticReports directory in bug reports.

When I insert GC.start after whisper.transcribe, it prevents SEGV:

require "whisper"

8.times do
  params  = Whisper::Params.new
  whisper = Whisper::Context.new(File.join('..', '..', 'models', 'ggml-base.en.bin'))
  jfk = File.join('..', '..', 'samples', 'jfk.wav')
  whisper.transcribe(jfk, params) # SEGV on 8th call
  GC.start # <- This prevents SEGV
end

But, if I have an array keep reference to Whisper::Context objects, it causes SEGV, again, even though I call GC.start. It's reasonable because during the array keeps reference toWhisper::Context instances, GC doesn't release them.

require "whisper"

whispers = []
8.times do
  params  = Whisper::Params.new
  whisper = Whisper::Context.new(File.join('..', '..', 'models', 'ggml-base.en.bin'))
  whispers << whisper
  jfk = File.join('..', '..', 'samples', 'jfk.wav')
  whisper.transcribe(jfk, params) # SEGV on 8th call
  GC.start
end

I found that ggml_init()in whisper_build_graph_conv returns NULL on 8th call and it causes SEGV:
https://github.com/ggerganov/whisper.cpp/blob/0fbaac9c891055796456df7b9122a70c220f9ca1/src/whisper.cpp#L1945

But I don't know why, for now. Does someone have any idea on this?

Thanks.

Environment 1:

  • MacBook Pro
  • macOS Sequoia 15.0.1
  • Apple M2

Environment 2:

  • Docker Debian GNU/Linux 12 image on MacBook Pro above

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions