[asterisk-bugs] [JIRA] (ASTERISK-24850) Lockup with no calls being processed, probably caused by IAX

Matt Jordan (JIRA) noreply at issues.asterisk.org
Mon Mar 9 11:05:34 CDT 2015


    [ https://issues.asterisk.org/jira/browse/ASTERISK-24850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=225295#comment-225295 ] 

Matt Jordan commented on ASTERISK-24850:
----------------------------------------

The locking inversion occurs due to the following:

* Thread ID: 0xb6a87b40 holds the channel container lock ({{0x89fa2c0}}) while waiting for a channel lock ({{0xb4ec5f70}})
* Thread ID: 0xb50beb40 holds the channel lock ({{0xb4ec5f70}}) while waiting for the {{chan_lcr}} global lock ({{0xb6503ae0}})
* Thread ID: 0xb5082b40 holds the {{chan_lcr}} global lock ({{0xb6503ae0}}) while waiting for the channel container lock ({{0x89fa2c0}})

There is an explicit relationship between the channel container (and its lock) and channels contained in it (and their locks). Inserting a lock between that locking order causes the lock inversion and the deadlock on this issue.

Since this is an issue in {{chan_lcr}} and not in Asterisk, I'm going to close this out as Not a Bug. This information should be useful for the maintainer of {{chan_lcr}}, and should help others fix that channel driver.

> Lockup with no calls being processed, probably caused by IAX
> ------------------------------------------------------------
>
>                 Key: ASTERISK-24850
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-24850
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: General
>    Affects Versions: 11.16.0
>         Environment: Two Asterisks connected via IAX
>            Reporter: Birger "WIMPy" Harzenetter
>         Attachments: Asterisk-debug.txt
>
>
> The issue starts with warnings like the follogin one
> [Mar  6 09:32:04] WARNING[9013] channel.c: Exceptionally long voice queue length queuing to IAX2/hbc-hah-73
> about 1-2 times per second.
> After some random time in the range from half a minute to 4 minutes it changes to
> [Mar  6 09:36:23] WARNING[9009] chan_iax2.c: Max retries exceeded to host 144.76.51.196 on IAX2/hbc-hah-73 (type = 6, subclass = 2, ts=377730, seqno=114)
> every 10 seconds until I kill (-9) Asterisk.
> In that state Asterisk still answers IAX packets so that it still qualifies OK on the calling instance.
> However it completely stops processing any calls.
> On the calling box all following Dial()s to the locked up one end with DIALSTATUS=CANCEL and HANGUPCAUSE=0 so even they seem to be accepted, just not processed.
> This particular issue started 21 days after upgrading from 11.15.0, but occurred 3 times withing two weeks so far. So I'm unsure if it's related to the upgrade.



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



More information about the asterisk-bugs mailing list