Over the past week or so, our app has been experiencing crashed AgoraServiceThreads. Crash dump shows crashes on some memory access in agora::base::BaseServiceWorker::BaseServiceWorker.
Since the issue has be very spurious, all we have so far is the crash dump. Please help us look into & address this.
We suspect this might be an compatibility issue of the Agora iOS SDK package that might be affecting all iOS 14 devices running the SDK.
Agora dev environment crash:
crash timestamp:: 2020 11 10 5:57:52 crash iPhone info: iPhone 12 Pro, 14.1.0 (18A8395) crash SDK info: AgoraRtcEngine_iOS (3.1.1) & AgoraRtm_iOS (1.4.0)
crash Channel Info:
Crashed: AgoraRtmThread
0 ********* 0x108e02258 agora::base::BaseServiceWorker::createTimer(std::__1::function<void ()>&&, unsigned long long) + 40
1 ********* 0x108ed6040 agora::transport::TcpTransport::OnTcpConnect(agora::commons::tcp_client_base*, bool) + 180
2 ********* 0x108ee18d0 agora::commons::libevent::tcp_client::check_connection(unsigned int) + 368
3 ********* 0x108ee0e9c agora::commons::libevent::tcp_client::on_timer() + 200
4 ********* 0x108ede06c agora::commons::libevent::event_timer::timer_callback(int, short, void*) + 40
5 ********* 0x109020f98 event_base_loop + 1744
6 ********* 0x108e87c1c void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, agora::base::BaseServiceWorker::BaseServiceWorker(agora::base::BaseContext&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, std::__1::function<void ()>&&, std::__1::function<void ()>&&)::$_2> >(void*) + 124
7 libsystem_pthread.dylib 0x1ce8c1ca8 _pthread_start + 320
8 libsystem_pthread.dylib 0x1ce8ca788 thread_start + 8
crash timestamp: 2020 11 11 1:29:19 crash iPhone info: iPhone 6s, 14.0.1 (18A393) crash SDK info: AgoraRtcEngine_iOS (3.1.1) & AgoraRtm_iOS (1.4.0)
crash Channel Info:
Crashed: AgoraServiceThread
0 ********* 0x10e1b980c agora::aut::PacketNumberQueue::Max() const + 264
1 ********* 0x10e246ad0 agora::aut::AckFrame::AckFrame(agora::time::Time::Delta, agora::aut::PacketNumberQueue, agora::aut::AckFrame::ReceivedPacketTimes, agora::aut::PacketNumber, agora::aut::PacketNumber) + 644
2 ********* 0x10e207de8 agora::aut::AckCollector::ComposeAckFrameInternal(agora::time::Time, agora::aut::AckFrame*, agora::aut::PacketNumber, agora::aut::PacketNumber) + 320
3 ********* 0x10e20704c agora::aut::AckCollector::Flush() + 172
4 ********* 0x10e207338 agora::aut::AckCollector::OnDataPacketRecevied(agora::time::Time const&, agora::aut::DataPacket const&) + 332
5 ********* 0x10e212438 agora::aut::Connection::ProcessDataPacket(agora::aut::DataPacket const&) + 312
6 ********* 0x10e211b20 agora::aut::Connection::OnPacketReceived(agora::aut::NetworkAddress const&, agora::aut::NetworkAddress const&, agora::memory::MemSlice) + 1856
7 ********* 0x10e2179dc agora::aut::EstablishedConnection::ProcessDataPacket(agora::aut::NetworkInterface*, agora::aut::NetworkAddress const&, agora::aut::NetworkAddress const&, agora::memory::MemSlice) + 176
8 ********* 0x10e2172dc agora::aut::ConnectionAcceptorImpl::ProcessDataPacket(agora::aut::NetworkInterface*, agora::aut::NetworkAddress const&, agora::aut::NetworkAddress const&, agora::aut::ConnectionKey const&, agora::memory::MemSlice) + 312
9 ********* 0x10e216e20 agora::aut::ConnectionAcceptorImpl::OnPacketReceived(agora::aut::NetworkInterface*, agora::aut::NetworkAddress const&, agora::aut::NetworkAddress const&, agora::memory::MemSliceSpan) + 792
10 ********* 0x10e24494c agora::aut::SessionBuilderImpl::OnPacketReceived(agora::aut::NetworkInterface*, agora::aut::NetworkAddress const&, agora::aut::NetworkAddress const&, agora::memory::MemSliceSpan) + 196
11 ********* 0x10e204fbc agora::aut::SdkNetwork::OnData(agora::transport::INetworkTransport*, char const*, unsigned long) + 176
12 ********* 0x10e2dd078 non-virtual thunk to agora::transport::UdpTransportWithAllocator::OnData(agora::commons::ip::sockaddr_t const&, char const*, unsigned long) + 44
13 ********* 0x10e2e6694 agora::commons::libevent::udp_server::on_data(int) + 392
14 ********* 0x10e2e1f14 agora::commons::libevent::event_udp::event_udp_callback(int, short, void*) + 48
15 ********* 0x10e424718 event_base_loop + 1744
16 ********* 0x10e28b39c void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, agora::base::BaseServiceWorker::BaseServiceWorker(agora::base::BaseContext&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, std::__1::function<void ()>&&, std::__1::function<void ()>&&)::$_2> >(void*) + 124
17 libsystem_pthread.dylib 0x1f0c26b70 _pthread_start + 288
18 libsystem_pthread.dylib 0x1f0c2b880 thread_start + 8
prod crash crash timestamp: 2020 11 11 9:49:08 crash iPhone info: iPhone 11 Pro, 14.1.0 (18A8395) crash SDK info: AgoraRtcEngine_iOS (3.1.1) & AgoraRtm_iOS (1.4.0)
crash Channel Info:
Crashed: ahpl_main
0 libsystem_kernel.dylib 0x1b02619cc close + 8
1 AgoraRtcKit 0x10233d000 createAgoraRtcEngine + 6344212
2 AgoraRtcKit 0x10233d0d4 createAgoraRtcEngine + 6344424
3 AgoraRtcKit 0x10233d158 createAgoraRtcEngine + 6344556
4 AgoraRtcKit 0x101d15748 (缺少)
5 AgoraRtcKit 0x101d15700 (缺少)
6 AgoraRtcKit 0x101d190d0 (缺少)
7 AgoraRtcKit 0x101d1abd8 (缺少)
8 AgoraRtcKit 0x101eabdec createAgoraRtcEngine + 1555456
9 AgoraRtcKit 0x101eab398 createAgoraRtcEngine + 1552812
10 AgoraRtcKit 0x101eab578 createAgoraRtcEngine + 1553292
11 AgoraRtcKit 0x101e94024 createAgoraRtcEngine + 1457720
12 AgoraRtcKit 0x101e94320 createAgoraRtcEngine + 1458484
13 AgoraRtcKit 0x101e11670 createAgoraRtcEngine + 922756
14 AgoraRtcKit 0x101dfa010 createAgoraRtcEngine + 826916
15 AgoraRtcKit 0x101d335d4 createAgoraRtcEngine + 13288
16 AgoraRtcKit 0x101cf8668 (缺少)
17 AgoraRtcKit 0x101cf85b8 (缺少)
18 AgoraRtcKit 0x102345510 createAgoraRtcEngine + 6378276
19 AgoraRtcKit 0x1023457b4 createAgoraRtcEngine + 6378952
20 AgoraRtcKit 0x10233ec84 createAgoraRtcEngine + 6351512
21 AgoraRtcKit 0x102340540 createAgoraRtcEngine + 6357844
22 AgoraRtcKit 0x10233fb60 createAgoraRtcEngine + 6355316
23 AgoraRtcKit 0x10233efa0 createAgoraRtcEngine + 6352308
24 AgoraRtcKit 0x102345adc createAgoraRtcEngine + 6379760
25 libsystem_pthread.dylib 0x1cbfedca8 _pthread_start + 320
26 libsystem_pthread.dylib 0x1cbff6788 thread_start + 8
crash timestamp: 2020 1 9 11:49:37 crash iPhone info: iPhone 12, 14.1.0 (18A8395) crash SDK info: AgoraRtcEngine_iOS (3.1.1) & AgoraRtm_iOS (1.4.0)
crash Channel Info:
txt
Crashed: ahpl_main
0 libsystem_kernel.dylib 0x1b02619cc close + 8
1 AgoraRtcKit 0x10233d000 createAgoraRtcEngine + 6344212
2 AgoraRtcKit 0x10233d0d4 createAgoraRtcEngine + 6344424
3 AgoraRtcKit 0x10233d158 createAgoraRtcEngine + 6344556
4 AgoraRtcKit 0x101d15748 (缺少)
5 AgoraRtcKit 0x101d15700 (缺少)
6 AgoraRtcKit 0x101d190d0 (缺少)
7 AgoraRtcKit 0x101d1abd8 (缺少)
8 AgoraRtcKit 0x101eabdec createAgoraRtcEngine + 1555456
9 AgoraRtcKit 0x101eab398 createAgoraRtcEngine + 1552812
10 AgoraRtcKit 0x101eab578 createAgoraRtcEngine + 1553292
11 AgoraRtcKit 0x101e94024 createAgoraRtcEngine + 1457720
12 AgoraRtcKit 0x101e94320 createAgoraRtcEngine + 1458484
13 AgoraRtcKit 0x101e11670 createAgoraRtcEngine + 922756
14 AgoraRtcKit 0x101dfa010 createAgoraRtcEngine + 826916
15 AgoraRtcKit 0x101d335d4 createAgoraRtcEngine + 13288
16 AgoraRtcKit 0x101cf8668 (缺少)
17 AgoraRtcKit 0x101cf85b8 (缺少)
18 AgoraRtcKit 0x102345510 createAgoraRtcEngine + 6378276
19 AgoraRtcKit 0x1023457b4 createAgoraRtcEngine + 6378952
20 AgoraRtcKit 0x10233ec84 createAgoraRtcEngine + 6351512
21 AgoraRtcKit 0x102340540 createAgoraRtcEngine + 6357844
22 AgoraRtcKit 0x10233fb60 createAgoraRtcEngine + 6355316
23 AgoraRtcKit 0x10233efa0 createAgoraRtcEngine + 6352308
24 AgoraRtcKit 0x102345adc createAgoraRtcEngine + 6379760
25 libsystem_pthread.dylib 0x1cbfedca8 _pthread_start + 320
26 libsystem_pthread.dylib 0x1cbff6788 thread_start + 8