[asterisk-bugs] [JIRA] (ASTERISK-27385) channel.c: Exceptionally long queue length queuing
Abhay Gupta (JIRA)
noreply at issues.asterisk.org
Fri Dec 8 03:10:07 CST 2017
[ https://issues.asterisk.org/jira/browse/ASTERISK-27385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=240489#comment-240489 ]
Abhay Gupta commented on ASTERISK-27385:
----------------------------------------
I will try to get the debug logs . whenever the problem appears the amount of logs are very high and so will take some time to get them in the meanwhile can you please answer my query on a portion of code that i have not understood in channel.c .
We have a function
int __ast_answer(struct ast_channel *chan, unsigned int delay)
in that function case AST_STATE_RING: we have a do while , a infinite for loop(for (;;)) and in that for loop we have this code
while ((cur = AST_LIST_REMOVE_HEAD(&frames, frame_list))) {
if (res == 0) {
ast_queue_frame_head(chan, cur);
}
ast_frfree(cur);
}
which will call ast_queue_frame and the lines Exceptionally long queue can come if we have frames in queue . So once it gets in there it remain in this while loop so how will this loop break ?
> channel.c: Exceptionally long queue length queuing
> --------------------------------------------------
>
> Key: ASTERISK-27385
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-27385
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Core/Bridging
> Affects Versions: 13.18.2
> Environment: Ubuntu 16.04 with asterisk 13.17.2 using Staisis
> Reporter: Abhay Gupta
> Assignee: Abhay Gupta
> Attachments: abhay.txt, asterisk logs.txt, asterisk_top.png, core-asterisk-running-2017-11-08T12-30-19+0530-brief.txt, core-asterisk-running-2017-11-08T12-30-19+0530-full.txt, core-asterisk-running-2017-11-08T12-30-19+0530-locks.txt, core-asterisk-running-2017-11-08T12-30-19+0530-thread1.txt, full, gdb.txt, pjsip_settings.txt, server_info.txt, stasis.conf, stucked_call.txt, task_noproblem.txt, taskprocessors
>
>
> Asterisk becomes unstable with message like
> [Oct 31 10:37:37] WARNING[5608][C-00001b6b] channel.c: Exceptionally long queue length queuing to Local/2048 at sxxxxxxg-000016ba;1
> There are two staisis customer-dial and agent-dial . The steps seems to be as follows
> 1. A Sip channel is added in customer-dial
> 2. A manager originate command adds a channel between customer-dial and agent-dial while the existing channel is hanging up in customer-dial
> 3. Both channels of customer-dial are bridged while some clearing is happening on the channel which is getting hangup / deleted .
> This problem appears
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list