Issue Description
Applications running specific minor releases of the Agora Native SDK on iOS (arm64 architecture) may experience unexpected application crashes during active real-time communication sessions. Crash telemetry indicates that the failure occurs on the aosl_main thread, specifically during packet transmission handling and Quality of Service (QoS) calculation subroutines.
Platform and SDK Context
Platform: iOS (arm64 CPU Architecture)
SDK Version: Agora Native SDK v4.3.2.17 (VOICE Build)
-
Affected Thread:
aosl_main -
Associated Stack Trace:
-
agora::rtc::VosStat::CalcQosQuality -
agora::aut::OutgoingPacketStream::PacketTransmissionInfo
-
Root Cause Analysis
The crashes originate from an internal race condition and resource boundary flaw within the Automatic Unified Transmission (AUT) module (aut). Under specific device-level resource constraints (such as restricted memory buffers or high network packet jitter), the aut module's packet transmission info processing triggers memory access errors during QoS quality calculations. This behavior is restricted to specific device hardware environments under memory pressure rather than a universal SDK regression.
Solution and Resolution Steps
-
Apply Remote Feature Flag / Dispatch Exclusions
If an immediate client-side application release is not possible, utilize the internal cloud configuration dispatch tool to push an exclusion payload. Disable or bypass the
autmodule feature flag for the specific problematic iOS device identifiers or app builds. -
Verify Device Configuration Delivery
Monitor client diagnostic telemetry to ensure the updated configuration payload has been received by the targeted clients and verify that crash reports for the affected hardware drop to zero.
-
Upgrade SDK Baseline
For a permanent solution, guide the customer to upgrade their application to a newer SDK build (v4.4.0 or later) where the
autmodule memory safety mechanisms and QoS calculation routines have been refactored.