Skip to content

Compiling w/o WHISPER_USE_SCRATCH causes memory leak #1274

Closed
@agoryuno

Description

@agoryuno

Removing the WHISPER_USE_SCRATCH define from 'whisper.cpp' results in a segfault with message from ggml_new_object():

ggml_new_object: not enough space in the context's memory pool (needed 33220336, available 31457280)

(for the tiny model). Here's a log of memory requirement and buffer size made from inside the ggml_new_object() function:

  main: processing 'samples/jfk.wav' (176000 samples, 11.0 sec), 4 threads, 1 processors, lang = en, task = transcribe, timestamps = 1 ...
  
  current memory required = 1376592, buf size = 3145728 
  current memory required = 2753184, buf size = 3145728 
  current memory required = 960336, buf size = 31457280 
  current memory required = 5568672, buf size = 31457280 
  current memory required = 10177008, buf size = 31457280 
  current memory required = 14785344, buf size = 31457280 
  current memory required = 19393680, buf size = 31457280 
  current memory required = 21698016, buf size = 31457280 
  current memory required = 24002352, buf size = 31457280 
  current memory required = 26306688, buf size = 31457280 
  current memory required = 28611024, buf size = 31457280 
  current memory required = 28611360, buf size = 31457280 
  current memory required = 28611696, buf size = 31457280 
  current memory required = 30916032, buf size = 31457280 
  current memory required = 33220368, buf size = 31457280 
  ggml_new_object: not enough space in the context's memory pool (needed 33220336, available 31457280)
  Segmentation fault (core dumped)

What's the purpose of having that mode as an option if code doesn't work at all without it enabled?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions