[asterisk-bugs] [JIRA] (ASTERISK-29888) res_pjsip_outbound_authenticator_digest: SEGV attempting to clean up auth_sess
George Joseph (JIRA)
noreply at issues.asterisk.org
Mon Jan 31 07:04:06 CST 2022
[ https://issues.asterisk.org/jira/browse/ASTERISK-29888?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
George Joseph updated ASTERISK-29888:
-------------------------------------
Status: Open (was: Triage)
> res_pjsip_outbound_authenticator_digest: SEGV attempting to clean up auth_sess
> ------------------------------------------------------------------------------
>
> Key: ASTERISK-29888
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-29888
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Resources/res_pjsip_outbound_authenticator_digest
> Affects Versions: 16.23.0, 18.9.0, 19.1.0
> Reporter: George Joseph
>
> {code}
> #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo at entry=6, no_tid=no_tid at entry=0) at pthread_kill.c:44
> #1 0x00007fb396fdd8b3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
> #2 0x00007fb396f906a6 in __GI_raise (sig=sig at entry=6) at ../sysdeps/posix/raise.c:26
> #3 0x00007fb396f7a7d3 in __GI_abort () at abort.c:79
> #4 0x00007fb396f7a6fb in __assert_fail_base (fmt=<optimized out>, assertion=<optimized out>, file=<optimized out>, line=<optimized out>, function=<optimized out>) at assert.c:92
> #5 0x00007fb396f89396 in __GI___assert_fail (assertion=assertion at entry=0x7fb397dfb2c7 "sess && sess->endpt", file=file at entry=0x7fb397dfaf58 "../src/pjsip/sip_auth_client.c", line=line at entry=523, function=function at entry=0x7fb397dfb400 <__PRETTY_FUNCTION__.7> "pjsip_auth_clt_deinit") at assert.c:101
> #6 0x00007fb397d5a4d4 in pjsip_auth_clt_deinit (sess=sess at entry=0x7fb3356b26c0) at ../src/pjsip/sip_auth_client.c:523
> #7 0x00007fb39469c5aa in digest_create_request_with_auth (auth_ids_vector=<optimized out>, challenge=0x7fb2f8127648, old_request=0x7fb2fc0064c8, new_request=0x7fb3356b27c8) at res_pjsip_outbound_authenticator_digest.c:567
> #8 0x00007fb394685342 in handle_registration_response (data=0x7fb2f800fdc0) at res_pjsip_outbound_registration.c:1093
> #9 0x0000000000596567 in ast_taskprocessor_execute (tps=tps at entry=0x7fb2f8148530) at taskprocessor.c:1235
> #10 0x000000000059c840 in execute_tasks (data=0x7fb2f8148530) at threadpool.c:1350
> #11 0x0000000000596567 in ast_taskprocessor_execute (tps=0x1d64fc0) at taskprocessor.c:1235
> #12 0x000000000059d330 in threadpool_execute (pool=0x1d63a30) at threadpool.c:367
> #13 worker_active (worker=0x7fb300000bd0) at threadpool.c:1137
> #14 worker_start (arg=arg at entry=0x7fb300000bd0) at threadpool.c:1056
> #15 0x00000000005a467a in dummy_start (data=<optimized out>) at utils.c:1572
> #16 0x00007fb396fdba87 in start_thread (arg=<optimized out>) at pthread_create.c:435
> #17 0x00007fb397060640 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
> {code}
> Very corner case where a reload was done that deleted an endpoint and its companion outbound registration and auth. Only happens in dev-mode.
> * The auth got deleted first.
> * The registration tried to unregister with the remote system, got a 401.
> * Tried to get the auths which didn't exist anymore.
> * Failed and skipped to its cleanup step.
> * Tried to call pjsip_auth_clt_deinit() with a session that wasn't initialized.
> * Which pjsip_auth_clt_deinit() detected and aborted.
> Simple fix to not call pjsip_auth_clt_deinit() if teh session was never initialized.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list