[asterisk-bugs] [JIRA] (ASTERISK-27706) PJSIP: Deadlock shutting down subscription TCP connection and sending subscription message.
Friendly Automation (JIRA)
noreply at issues.asterisk.org
Wed Apr 18 17:23:52 CDT 2018
[ https://issues.asterisk.org/jira/browse/ASTERISK-27706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=243083#comment-243083 ]
Friendly Automation commented on ASTERISK-27706:
------------------------------------------------
Change 8703 merged by Jenkins2:
res_pjsip: Fix deadlock on reliable transport shutdown.
[https://gerrit.asterisk.org/8703|https://gerrit.asterisk.org/8703]
> PJSIP: Deadlock shutting down subscription TCP connection and sending subscription message.
> -------------------------------------------------------------------------------------------
>
> Key: ASTERISK-27706
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-27706
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Core/AstDB
> Affects Versions: 13.19.2, GIT
> Environment: Fedora 23
> Reporter: Ross Beer
> Assignee: Richard Mudgett
> Labels: pjsip
> Attachments: core.174244-thread1.txt, core.6829-thread1.txt, Thread_103.txt
>
>
> A deadlock can happen when the PJSIP monitor thread is shutting down a connection oriented transport (TCP/TLS) used by a subscription at the same time as another thread tries to send something for that subscription. The deadlock is between the pjsip monitor thread attempting to get the dialog lock and another thread sending something for that dialog when it tries to get the transport manager lock.
> To verify this deadlock:
> * Get a full backtrace of all threads when in deadlock.
> * Search for the pjsip monitor thread. It will be the one executing monitor_thread_exec().
> * The monitor thread will be attempting to get the dlg (dialog) lock.
> * Search for another thread doing something with the same dlg pointer. It will be trying to send something.
> * That thread will be attempting to get the tpmgr/mgr (transport manager) lock.
> * The tpmgr/mgr pointer will be the same as the one being used by the pjsip monitor thread since it is trying to shut that transport down.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list