[asterisk-bugs] [JIRA] (ASTERISK-21207) Deadlock on fax extension calling ast_async_goto() with locked channel
Ashley Winters (JIRA)
noreply at issues.asterisk.org
Thu Mar 7 12:05:01 CST 2013
[ https://issues.asterisk.org/jira/browse/ASTERISK-21207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=203985#comment-203985 ]
Ashley Winters commented on ASTERISK-21207:
-------------------------------------------
On T.38 fax upgrade, handle_request_invite() calls process_sdp() which calls ast_async_goto(). The problem is that the channel is locked before handle_request_invite() is called, which makes the entire ast_async_goto branch in process_sdp() unwise -- especially according to the comments elsewhere about ast_exists_extension() being called with locks.
I'm thinking process_sdp() should just queue up an AST_FRAME_DTMF with f->subclass.integer='f' in order to trigger the (now fixed) goto code in sip_read().
> Deadlock on fax extension calling ast_async_goto() with locked channel
> ----------------------------------------------------------------------
>
> Key: ASTERISK-21207
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-21207
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Channels/chan_dahdi, Channels/chan_sip/General
> Affects Versions: 10.7.1, 11.2.1
> Environment: CentOS 6.3 x86_64
> Reporter: Ashley Winters
> Severity: Critical
> Attachments: fax-deadlock.patch, gdb-fax-deadlock.txt
>
>
> On an asterisk system with heavy use of AGI and inbound CNG-detected faxing, occasionally all channel activity will freeze. Running 'core show channels' returns nothing, but the logs continue running with anything except channel activity. Running with 'sip set debug on' shows that chan_sip.c doesn't even claim to be reading packets anymore.
> This deadlock was triggered several times daily across our array of asterisk servers, which process hundreds of faxes and tens of thousands of calls daily.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.asterisk.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the asterisk-bugs
mailing list