[asterisk-bugs] [JIRA] (ASTERISK-26861) Deadlock in setting CDR variables
Alex Hermann (JIRA)
noreply at issues.asterisk.org
Mon Mar 13 10:51:09 CDT 2017
[ https://issues.asterisk.org/jira/browse/ASTERISK-26861?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alex Hermann updated ASTERISK-26861:
------------------------------------
Description:
When setting many CDR variables throughout the dialplan, at some point almost all channels/threads will wait on a lock that never gets released. SIP processing stops at that point.
I don't know if it is relevant, but I set various CDR variables before the Dial command, in the contexts for Dial's 'G' and 'U' options and in the h exten for the master.
The problem only manifests itself during a bit of call load on the server (as does every deadlock). I can pretty reliable reproduce it within 15k calls at max 50 cps).
{code}
CLI> core show taskprocessors
...
subm:cdr_engine-00000003 11547039 22051 1439 4500 5000
...
{code}
I'll attach thread list and backtraces.
was:
When setting many CDR variables throughout the dialplan, at some point almost all channels/threads will wait on a lock that never gets released. SIP processing stops at that point.
I don't know if it is relevant, but I set various CDR variables before the Dial command, in the contexts for Dial's 'G' and 'U' options and in the h exten for both the master and the outbound channels (by Dial's 'e' option).
The problem only manifests itself during a bit of call load on the server (as does every deadlock). I can pretty reliable reproduce it within 15k calls at max 50 cps).
{code}
CLI> core show taskprocessors
...
subm:cdr_engine-00000003 11547039 22051 1439 4500 5000
...
{code}
I'll attach thread list and backtraces.
> Deadlock in setting CDR variables
> ---------------------------------
>
> Key: ASTERISK-26861
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-26861
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Functions/func_cdr
> Affects Versions: 13.14.0
> Environment: Debian sid
> Reporter: Alex Hermann
> Labels: stasis
> Attachments: 26861-cli-threads.txt, 26861-gdb-bt-30-28043.txt, 26861-gdb-bt-307-29270.txt, 26861-gdb-threads.txt
>
>
> When setting many CDR variables throughout the dialplan, at some point almost all channels/threads will wait on a lock that never gets released. SIP processing stops at that point.
> I don't know if it is relevant, but I set various CDR variables before the Dial command, in the contexts for Dial's 'G' and 'U' options and in the h exten for the master.
> The problem only manifests itself during a bit of call load on the server (as does every deadlock). I can pretty reliable reproduce it within 15k calls at max 50 cps).
> {code}
> CLI> core show taskprocessors
> ...
> subm:cdr_engine-00000003 11547039 22051 1439 4500 5000
> ...
> {code}
> I'll attach thread list and backtraces.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list