[asterisk-bugs] [JIRA] (ASTERISK-19799) Apparent deadlock between ODBC Queue log and ODBC CDR
Joshua Colp (JIRA)
noreply at issues.asterisk.org
Tue Dec 19 05:59:08 CST 2017
[ https://issues.asterisk.org/jira/browse/ASTERISK-19799?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Joshua Colp updated ASTERISK-19799:
-----------------------------------
Assignee: anonymouz666
Status: Waiting for Feedback (was: Open)
Have you experienced this problem under a recent supported version of Asterisk? There's been quite a lot of changes to all of these modules involved, including from a locking perspective.
> Apparent deadlock between ODBC Queue log and ODBC CDR
> -----------------------------------------------------
>
> Key: ASTERISK-19799
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-19799
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Applications/app_queue, CDR/cdr_odbc
> Affects Versions: 1.8.11.0
> Environment: CentOS 5.5 - 64-bit
> Reporter: anonymouz666
> Assignee: anonymouz666
> Attachments: backends-output.txt, backtrace-iax2-deadlock-26-04-2012.txt, cdr_adaptive_odbc.txt, cdr.txt, CLI-output.txt, core-show-channels-26-04-2012.txt, extconfig.txt, iax2-show-channels-26-04-2012.txt, queue.txt, res_odbc.txt, sip-show-channels-26-04-2012.txt
>
>
> The scenario is just simple but with a high demand (about 200 active calls).
> The call arrives in Queue(). App_queue calls a Local channel to check if a member is local registered, if so, then Dial(SIP/agent). If is remote registered, then call through IAX2 to another box (Dial((IAX2/user:topsecret at 10.10.10.70/agent)).
> Occasionally, we have seen this machine deadlocking.
> Looking at the CLI logs, this time the issue happened in this order:
> The local members (SIP) started to print this message:
> [Apr 26 08:34:12] VERBOSE[5062] pbx.c: -- Executing [7306 at MemberConnector:5] ExecIf("Local/7306 at MemberConnector-34c9;2", "1?Dial(SIP/7306)") in new stack
> [Apr 26 08:34:12] NOTICE[5062] chan_sip.c: Call to peer '7306' rejected due to usage limit of 1
> [Apr 26 08:34:12] VERBOSE[5062] app_dial.c: -- Couldn't call SIP/7306
> [Apr 26 08:34:12] VERBOSE[5062] app_dial.c: == Everyone is busy/congested at this time (0:0/0/0)
> We use call-limit=1 in all peers, but as soon as the sip channels got stuck (listed in sip show channels) the app_queue was not able to delivery calls anymore to devices that is still "active".
> We saw a lot of stuck channels using the command "sip show channels".
> And then after running more with the problem above, the IAX2 members (remote) started to print this message:
> ExecIf("Local/7424 at MemberConnector-f367;2", "1?Dial(IAX2/user:topsecret at 10.10.10.70/7424,,tTwW)") in new stack
> [Apr 26 10:53:13] ERROR[2407]: chan_iax2.c:2384 peercnt_add: maxcallnumber limit of 2048 for 10.10.10.70 has been reached!
> [Apr 26 10:53:13] WARNING[2407]: chan_iax2.c:12127 iax2_request: Unable to create call
> [Apr 26 10:53:13] WARNING[2407]: app_dial.c:2218 dial_exec_full: Unable to create channel of type 'IAX2' (cause 34 - Circuit/channel congestion)
> And lots of IAX2 channels stuck in "iax2 show channels" - that's why the limit of 2048 was reached.
> After that, the app_queue completely stopped delivering calls.
> Attached there is a backtrace (can't run in debug_threads mode), core show channels, sip show channels and iax2 show channels.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list