Hello,
I need guidance on diagnosing an intermittent audio failure on an iPhone 12 running iOS 26.6.2.
My app, Timer Workout Fitness, plays short bundled MP3 voice recordings for countdowns, repetition numbers and workout announcements. It uses React Native / Expo SDK 57 and expo-audio. The native playback implementation uses AVQueuePlayer, AVPlayerItem and AVURLAsset.
Users can listen to Spotify while the app plays spoken cues, with ducking of the background music.
Observed behavior:
Playback can work correctly for an entire workout.
Audio sometimes fails after background/foreground transitions, pausing Spotify, or completing one workout and starting another.
The exact sequence is not consistently reproducible.
The app may remain navigable while recorded audio becomes unavailable.
Force-quitting does not always restore reliable playback. Restarting the iPhone has restored it in our tests.
Speech-based voices have generally behaved more reliably before the failure.
Evidence from a device Console capture:
At 15:03:35 on October 12, the kernel reported termination of audiomxd with reason "per-process-limit" and a recorded footprint of 66866 KB. ReportSystemMemory confirmed the jetsam termination.
Shortly before this, the Console contained AudioConverter construction messages associated with our app through mediaplaybackd. Our app subsequently reported media-services loss/reset and errors including:
"Server was dead"
OSStatus 1836282486
We have not established whether our playback implementation causes an accumulation of native resources, a temporary peak, or another issue. We do not assume that this is an iOS defect.
The implementation originally retained up to 56 players for individual recordings and loaded them concurrently. We recently changed it to load only the recordings required by a workout: 15 players for 10 repetitions and 35 for 30 repetitions. Failures have still occurred in development testing, but we have not measured the corresponding native memory footprint.
We also have a custom native patch affecting activation/deactivation and handling of media-services loss/reset. Current Expo Go tests do not include that patch; our TestFlight builds do. We can provide the patch for review.
What is the recommended way to:
Attribute audiomxd memory usage to our app’s playback resources?
Verify that AVQueuePlayer items and associated decoding resources are released?
Capture useful diagnostics for this service termination?
Choose an appropriate playback architecture for frequent short local voice clips alongside background music?
We have device Console logs and application diagnostic traces. We do not yet have a minimal native Xcode reproduction project and would appreciate guidance on what it should include.
0
0
24