Crash report
File: M1K3-2026-09-16-202458.ips
Date: 2026-09-16 20:24:58 +0100
OS: macOS 27.0 (26A428)
Exception: EXC_BAD_ACCESS / SIGSEGV (KERN_INVALID_ADDRESS at 0x000010aec0c84ad8)
Stack trace (crashed thread)
0 [libobjc.A.dylib] objc_retain
1 [TextToSpeech] <unsymbolicated +2358056>
2 [TextToSpeech] <unsymbolicated +724224>
3 [libdispatch.dylib] _dispatch_call_block_and_release
4 [libdispatch.dylib] _dispatch_client_callout
5-6 [libdispatch.dylib] _dispatch_main_queue_drain
7 [libdispatch.dylib] _dispatch_main_queue_callback_4CF
8-14 [CoreFoundation/HIToolbox/AppKit] main run loop
Analysis
A dangling pointer in Apple's TextToSpeech private framework — objc_retain on the main dispatch queue tried to retain an already-deallocated object. The crash is entirely within Apple's framework code (frames 0–2), dispatched on the main queue.
Likely cause: an AVSpeechSynthesizer delegate callback or completion block referencing a deallocated synthesizer or utterance. M1K3 uses system AVSpeechSynthesizer as a fallback voice (the primary is Kokoro/MLX). This could happen if:
- The synthesizer was deallocated while speech was in progress
- A delegate callback arrived after the owning view/controller was torn down
Mitigation: ensure the AVSpeechSynthesizer instance outlives any in-flight utterance, or stop speech before deallocation. Since the crash is inside Apple's framework, it may also be an Apple bug on macOS 27.0.
Notes
- Single occurrence (1 report)
- The address
0x000010aec0c84ad8 has a high bit set — likely a stale tagged pointer or use-after-free
- No M1K3 frames in the stack — this is a framework-internal crash
Crash report
File:
M1K3-2026-09-16-202458.ipsDate: 2026-09-16 20:24:58 +0100
OS: macOS 27.0 (26A428)
Exception: EXC_BAD_ACCESS / SIGSEGV (KERN_INVALID_ADDRESS at 0x000010aec0c84ad8)
Stack trace (crashed thread)
Analysis
A dangling pointer in Apple's
TextToSpeechprivate framework —objc_retainon the main dispatch queue tried to retain an already-deallocated object. The crash is entirely within Apple's framework code (frames 0–2), dispatched on the main queue.Likely cause: an
AVSpeechSynthesizerdelegate callback or completion block referencing a deallocated synthesizer or utterance. M1K3 uses systemAVSpeechSynthesizeras a fallback voice (the primary is Kokoro/MLX). This could happen if:Mitigation: ensure the
AVSpeechSynthesizerinstance outlives any in-flight utterance, or stop speech before deallocation. Since the crash is inside Apple's framework, it may also be an Apple bug on macOS 27.0.Notes
0x000010aec0c84ad8has a high bit set — likely a stale tagged pointer or use-after-free