whisper_model_load() (src/whisper.cpp) passes a model-declared ftype to ggml_ftype_to_ggml_type() (ggml/src/ggml.c:1410). An invalid ftype (e.g. 5, 6, or ≥27 after %1000) sets wtype = GGML_TYPE_COUNT as an error sentinel, then a GGML_ASSERT immediately fires on that value and calls ggml_abort() — the caller's error handler is dead code.
GGML_ASSERT is not compiled out under -DNDEBUG, so this aborts release builds as well.
Confirmed on: commit 95ea8f9b, x86_64. 48-byte PoC available on request.
Suggested fix: return a load error on an unrecognized ftype instead of asserting.
whisper_model_load()(src/whisper.cpp) passes a model-declaredftypetoggml_ftype_to_ggml_type()(ggml/src/ggml.c:1410). An invalidftype(e.g. 5, 6, or ≥27 after%1000) setswtype = GGML_TYPE_COUNTas an error sentinel, then aGGML_ASSERTimmediately fires on that value and callsggml_abort()— the caller's error handler is dead code.GGML_ASSERTis not compiled out under-DNDEBUG, so this aborts release builds as well.Confirmed on: commit
95ea8f9b, x86_64. 48-byte PoC available on request.Suggested fix: return a load error on an unrecognized
ftypeinstead of asserting.