[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