[asterisk-bugs] [JIRA] (ASTERISK-21234) Deadlock when using two Local channels & fax gateway (local_queryoption)

Joshua Colp (JIRA) noreply at issues.asterisk.org
Tue Dec 19 04:54:08 CST 2017


     [ https://issues.asterisk.org/jira/browse/ASTERISK-21234?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Joshua Colp updated ASTERISK-21234:
-----------------------------------

    Assignee:     (was: Faidon Liambotis)

> Deadlock when using two Local channels & fax gateway (local_queryoption)
> ------------------------------------------------------------------------
>
>                 Key: ASTERISK-21234
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-21234
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Channels/chan_local
>    Affects Versions: 11.2.1
>            Reporter: Faidon Liambotis
>         Attachments: 2, 3
>
>
> There's a corner case when using two Local channels in series and having the T.38 fax gateway enabled. It seems there's a race and eventual deadlock on two channel locks (AB/BA). This quickly brings the rest of the system down (SIP monitoring thread gets stuck as is every other operation which enumerates channels and trying to get locks on them).
> The issue is fully reproducible using a load generator in 5-10' using this purposefully trivialized dialplan:
> {code}
> [incoming]
> exten => _X.,1,Set(FAXOPT(gateway)=yes)
> exten => _X.,2,Dial(Local/${EXTEN}@local2)
> [local2]
> exten => _X.,1,Set(FAXOPT(gateway)=yes)
> exten => _X.,2,Dial(Local/${EXTEN}@local1)
> [local1]
> exten => _X.,1,Set(FAXOPT(gateway)=yes)
> exten => _X.,2,Dial(SIP/sip2/${EXTEN})
> {code}
> Attached is the backtrace for the two deadlocked threads when running with the above dialplan.
> Both threads lock their respective channels in {{ast_indicate_data}}, then race in {{local_queryoption}} and deadlock each other. The whole process of locking/unlocking in {{local_queryoption}} looks fishy and is most likely the culrpit of this deadlock.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list