#4811·MNN

Android API inference crash: SIGABRT in MNN::DeferBufferAllocator::apply() / MNN::Session::resize()

Author: petaz1987Created Aug 26, 2026Updated Sep 17, 2026
Labelstype:bugplatform:androidmodule:llm

Hi, I am testing MNN Chat on Android as a local OpenAI-compatible API server and I am seeing a reproducible native crash during repeated sequential inference.

The model can stay loaded and idle for several hours without issues. However, after sending 1–2 requests to /v1/chat/completions, MNN Chat sometimes freezes and the whole process exits.

The requests are not concurrent — I always wait until the previous request has fully completed.

Device / environment

Xiaomi 12X (psyche) Android 13 ROM: V816.0.9.0.TLDEUXM ABI: arm64 Package: com.alibaba.mnnllm.android.release Model: Qwen3.5-4B Backend: CPU API: /v1/chat/completions stream: false

Crash

Fatal signal 6 (SIGABRT) Abort message: 'Pointer tag for 0x3f9760004091c000 was truncated'

mnn_crash.txt mnn_log.txt

libc.so (abort) libc.so (free) libMNN.so (MNN::DeferBufferAllocator::apply()) libMNN.so (MNN::Session::resize()) libMNN.so (MNN::Transformer::Llm::forwardRaw(...)) libMNN.so (MNN::Transformer::Llm::generate(...)) libMNN.so (MNN::Transformer::Llm::response(...)) libmnnllmapp.so (mls::LlmSession::ResponseWithHistory(...))

The API stack continues through:

ResponseHandler.processNonStreamGeneration MNNChatService.processLlmGeneration RequestQueueManager.processRequest

After the crash, adb shell pidof com.alibaba.mnnllm.android.release returns no PID, so the whole application process has terminated.

This looks like a native memory-management issue during repeated LLM generation/session resize rather than an Android low-memory kill.

I can attach the full adb logcat and adb logcat -b crash output if useful.

Expected: sequential API requests should remain stable. Actual: repeated inference can trigger SIGABRT inside libMNN.so and terminate the app.