pjsip / pjproject

PJSIP project
http://www.pjsip.org
GNU General Public License v2.0
2.02k stars 769 forks source link

[iOS] Hangup call get crash #3623

Closed letien91 closed 1 year ago

letien91 commented 1 year ago

Describe the bug

Make an ongoing call then hangup this call, it make a crash when build in production.

Steps to reproduce

Loop these steps:

  1. A(call from pjsua app) make a call to B(normal phone)
  2. B accept call
  3. A hangup call

PJSIP version

2.13

Context

Only crash in production in iOS

Log, call stack, etc

Crashed: autocall-queue
0  AutoTelesale                   0x51ff0 pj_lock_release + 4300890096
1  AutoTelesale                   0xe4fc8 pjsua_media_channel_deinit + 4301492168
2  AutoTelesale                   0xd7e1c pjsua_call_hangup + 4301438492
3  AutoTelesale                   0x8784 -[ATPJSIP hangUp:] + 553 (ATPJSIP.m:553)
4  AutoTelesale                   0xd534 __62-[FlutterVoipPushNotificationPlugin hangUp:shouldHangupPjsua:]_block_invoke + 323 (FlutterVoipPushNotificationPlugin.m:323)
5  libdispatch.dylib              0x631a4 _dispatch_call_block_and_release + 24
6  libdispatch.dylib              0x641a8 _dispatch_client_callout + 16
7  libdispatch.dylib              0x3f14c _dispatch_lane_serial_drain$VARIANT$armv81 + 604
8  libdispatch.dylib              0x3fc04 _dispatch_lane_invoke$VARIANT$armv81 + 388
9  libdispatch.dylib              0x495dc _dispatch_workloop_worker_thread + 616
10 libsystem_pthread.dylib        0x4e84 _pthread_wqthread + 284
11 libsystem_pthread.dylib        0x49f0 start_wqthread + 8
Crashed: autocall-queue
0  ???                            0x29386132 (Missing)
1  AutoTelesale                   0x523ec grp_lock_acquire + 4343391212
2  AutoTelesale                   0x5277c pj_grp_lock_acquire + 4343392124
3  AutoTelesale                   0xc451c pjsip_dlg_inc_lock + 4343858460
4  AutoTelesale                   0x9f944 pjsip_inv_send_msg + 4343707972
5  AutoTelesale                   0xd9260 call_inv_end_session + 4343943776
6  AutoTelesale                   0xd8100 pjsua_call_hangup + 4343939328
7  AutoTelesale                   0x88b4 -[ATPJSIP hangUp:] + 553 (ATPJSIP.m:553)
8  AutoTelesale                   0xd64c __62-[FlutterVoipPushNotificationPlugin hangUp:shouldHangupPjsua:]_block_invoke + 308 (FlutterVoipPushNotificationPlugin.m:308)
9  libdispatch.dylib              0x2320 _dispatch_call_block_and_release + 32
10 libdispatch.dylib              0x3eac _dispatch_client_callout + 20
11 libdispatch.dylib              0xb534 _dispatch_lane_serial_drain + 668
12 libdispatch.dylib              0xc0a4 _dispatch_lane_invoke + 384
13 libdispatch.dylib              0x16cdc _dispatch_workloop_worker_thread + 648
14 libsystem_pthread.dylib        0xddc _pthread_wqthread + 288
15 libsystem_pthread.dylib        0xb7c start_wqthread + 8
Bugs report by Crashlytics
https://terabox.com/s/1HgIk18KaMvKrqpGyL4YhCQ
https://terabox.com/s/15PXGDyztgGXf7tZrToA3xA
letien91 commented 1 year ago

It is my bad. They are not the same thread. Close this bug