[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