An Azure service that integrates speech processing into apps and services.
Android Speech SDK 1.51.2 crashes inside libMicrosoft.CognitiveServices.Speech.core.so
We are investigating an intermittent native crash in the Android Azure Speech SDK.
Environment:
- Speech SDK 1.51.2
- Android 15 and 16
- arm64-v8a
- Custom PullAudioInputStreamCallback backed by AudioRecord
- PCM 16 kHz, 16-bit, mono
Two production events from different devices have the same top frames:
#00 libMicrosoft.CognitiveServices.Speech.core.so + 0x48802c
#01 libMicrosoft.CognitiveServices.Speech.core.so + 0x487f94
One event occurred after several rapid continuous-recognition retries while TTS was being interrupted. Another occurred in the background shortly after leaving a speech-enabled screen.
Before closing the recognizer, we call stopContinuousRecognitionAsync() and wait for its Future. If it times out, we retain the recognizer and audio resources instead of closing them. Resources are closed only after stop completes.
Could the Speech SDK team please help with these questions?
- Can Microsoft symbolize offsets 0x48802c and 0x487f94 for Android arm64 SDK 1.51.2?
- Does completion of the stop Future guarantee that SDK worker threads will no longer access the recognizer or custom audio stream?
- Is there a required shutdown order for AudioRecord, PullAudioInputStream, Connection, and SpeechRecognizer?
- Is this a known issue fixed in a newer SDK version or private hotfix?
We can provide sanitized Crashlytics evidence, SDK diagnostic logs, and a tombstone if required.
Disclosure: ChatGPT helped organize the wording. I reviewed and validated the technical details against our production Crashlytics data.