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.
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.