Opened 12 years ago

Last modified 11 years ago

#1535 closed defect

Pending outgoing TCP transmission may cause crash if the library is shutdown — at Initial Version

Reported by: bennylp Owned by: bennylp
Priority: normal Milestone: release-2.0.1
Component: pjsip Version: trunk
Keywords: Cc:
Backport to 1.x milestone: Backported: yes

Description

When the library is shutdown, pending outgoing TCP transmission will be cancelled and callback will be called. Unfortunately, some library components such as transaction layer have already been destroyed and hence it will cause access to already freed memory location.

Sample stack trace:

Thread 4 Crashed:

0   App                       0x00195294 mod_util_on_tsx_state (sip_util_statefull.c:77)
1   App                       0x001922ee tsx_set_state (sip_transaction.c:1145)
2   App                       0x001933a8 send_msg_callback (sip_transaction.c:1828)
3   App                       0x0018597a stateless_send_transport_cb (sip_util.c:1112)
4   App                       0x001880f4 transport_send_callback (sip_transport.c:625)
5   App                       0x0018c59e on_data_sent (sip_transport_tcp.c:1050)
6   App                       0x0018bc1c tcp_destroy (sip_transport_tcp.c:731)
7   App                       0x0018bb42 tcp_destroy_transport (sip_transport_tcp.c:689)
8   App                       0x00188934 destroy_transport (sip_transport.c:954)
9   App                       0x00188fe8 pjsip_tpmgr_destroy (sip_transport.c:1275)
10  App                       0x00183190 pjsip_endpt_destroy (sip_endpoint.c:587)
11  App                       0x001bec0c pjsua_destroy2 (pjsua_core.c:1503)
12  App                       0x001bef4a pjsua_destroy (pjsua_core.c:1582)
13  App                       0x000d893e -[CallManagerSingleton app_destroy] (CallManagerSingleton.m:961)
14  App                       0x000bbc34 -[SAppDelegate start_app] (SAppDelegate.m:1151)
15  Foundation                0x34ff0a7a -[NSThread main] + 66
16  Foundation                0x3508458a __NSThread__main__ + 1042
17  libsystem_c.dylib         0x3292472e _pthread_start + 314
18  libsystem_c.dylib         0x329245e8 thread_start + 0

Thanks Michael Fortson for the report.

Change History (0)

Note: See TracTickets for help on using tickets.