Custom Query (2195 matches)
Results (40 - 42 of 2195)
Ticket | Resolution | Summary | Owner | Reporter |
---|---|---|---|---|
#2226 | fixed | Subscription gets terminated when NOTIFY in call transfer is challenged | nanang | nanang |
Description |
When subscription is established by call transfer (or REFER), the authentication challenge is handled by invite module, so when evsub module tries to process the challenge (again), it will fail and subscription will be terminated. Similar issue was reported in #2164, however the patch does not work if the subscription is established by call transfer. Thanks to Mikhail Morozov for the report. |
|||
#2225 | fixed | Timer heap refactoring | ming | ming |
Description |
Some timer crash reports that are difficult to reproduce and analyse from log & callstack. Here are typical reported callstacks: #0 0x00007f7ae3dc0249 in copy_node (ht=0x184cbf0, slot=2305, moved_node=0x7f797732f0c0) at ../src/pj/timer.c:137 #1 0x00007f7ae3dc0677 in reheap_up (ht=0x184cbf0, moved_node=0x7f780e0f2990, slot=2305, parent=1152) at ../src/pj/timer.c:208 #2 0x00007f7ae3dc0882 in remove_node (ht=0x184cbf0, slot=2305) at ../src/pj/timer.c:254 parent = 1152 moved_node = 0x7f780e0f2990 removed_node = 0x7f797f4a9e08 #3 0x00007f7ae3dc0b64 in cancel (ht=0x184cbf0, entry=0x7f797f4a9e08, flags=1) at ../src/pj/timer.c:353 timer_node_slot = 2305 #4 0x00007f7ae3dc1061 in cancel_timer (ht=0x184cbf0, entry=0x7f797f4a9e08, flags=0, id_val=0) at ../src/pj/timer.c:591 count = 32634 #5 0x00007f7ae3dc10ea in pj_timer_heap_cancel (ht=0x184cbf0, entry=0x7f797f4a9e08) at ../src/pj/timer.c:611 #6 0x00007f7ae3d0f0c8 in pjsip_endpt_cancel_timer (endpt=0x184c908, entry=0x7f797f4a9e08) at ../src/pjsip/sip_endpoint.c:848 #0 0x00007f543c47dc2a in copy_node (ht=0xbdc8f0, slot=0, moved_node=0x7f51653ca820) at ../src/pj/timer.c:137 #1 0x00007f543c47e146 in remove_node (ht=0xbdc8f0, slot=0) at ../src/pj/timer.c:245 parent = 139999765322679 moved_node = 0x7f51653ca820 removed_node = 0x7f50e53f7e30 #2 0x00007f543c47eb97 in pj_timer_heap_poll (ht=0xbdc8f0, next_delay=0x7f5123517cd0) at ../src/pj/timer.c:643 node = 0x7f50fe3fad70 grp_lock = 0x7f52d8e53ba8 now = {sec = 12628573, msec = 998} count = 1 As we can see, the callstack does not really tell the owner of the entry or if the entry is still valid or already freed, because the entry is allocated by application. Moreover, timer structure is public, including its internal states such as _timer_id, _timer_value, _grp_lock, so application may access those internal states directly, which is potentially harmful. So the goal of this ticket are to:
|
|||
#2224 | fixed | De-Initialize ALSA sound device with snd_pcm_drop() instead of snd_pcm_drain() to avoid stuck issue | riza | riza |
Description |
When using the conference bridge to play a wave file while having ALSA and not the null dev as default capture device, but not reading anything from ALSA, it's observable that the library started to stop responding after the remote caller disconnected. This was due to the capture-thread waiting forever on snd_pcm_drain() and not returning, and thereby a worker-thread calling alsa_stream_stop() waiting forever on pj_thread_join(stream->ca_thread). Thanks to Dominik Schmidt for the patch. |