[asterisk-bugs] [Asterisk 0015609]: [patch] WARNING[23025]: channel.c:952 __ast_queue_frame: Exceptionally long voice queue length queuing to Local

Asterisk Bug Tracker noreply at bugs.digium.com
Thu Oct 8 14:49:15 CDT 2009


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=15609 
====================================================================== 
Reported By:                aragon
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   15609
Category:                   Core/Channels
Reproducibility:            have not tried
Severity:                   block
Priority:                   normal
Status:                     confirmed
Target Version:             1.4.28
Asterisk Version:           SVN 
JIRA:                       SWP-205 
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases):  1.4  
SVN Revision (number only!): 206273 
Request Review:              
====================================================================== 
Date Submitted:             2009-07-29 09:26 CDT
Last Modified:              2009-10-08 14:49 CDT
====================================================================== 
Summary:                    [patch] WARNING[23025]: channel.c:952
__ast_queue_frame: Exceptionally long voice queue length queuing to Local
Description: 
Since upgrading to 1.4 SVN 206273 I see LOTS these errors when paging or
when calls are processed by app_queue.  When I see the messages during a
page I don't hear any paging (my Polycom phones continue to ring but no
paging audio).

I have no idea where the message is coming from how to reproduce, or
collect debug information for this specific issue.  I need help to find
root cause.
I think it could be caused by locking in autoservice since I see this lock
every time I see the warning message

=== Currently Held Locks ==============================================
=======================================================================
===
=== <file> <line num> <function> <lock name> <lock addr> (times locked)
===
=== Thread ID: 3057154960 (autoservice_run      started at [  238]
autoservice.c ast_autoservice_start())
=== ---> Waiting for Lock https://issues.asterisk.org/view.php?id=0
(autoservice.c): MUTEX 89 autoservice_run
&(&aslist)->lock 0x81798c8 (1)
=== --- ---> Locked Here: autoservice.c line 89 (autoservice_run)
=== -------------------------------------------------------------------


======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
duplicate of        0015976 abort in filestream_destructor / ast_fi...
related to          0015109 [patch] Abort by memory allocator, poss...
has duplicate       0015900 Console flood &amp; CPU load 100% when ...
related to          0015817 crash in local_attended_transfer, likel...
related to          0015845 Crash during attended transfer occurs
related to          0015616 random crashes
====================================================================== 

---------------------------------------------------------------------- 
 (0112065) svnbot (reporter) - 2009-10-08 14:49
 https://issues.asterisk.org/view.php?id=15609#c112065 
---------------------------------------------------------------------- 
Repository: asterisk
Revision: 222878

U   branches/1.4/include/asterisk/file.h
U   branches/1.4/include/asterisk/frame.h
U   branches/1.4/main/file.c
U   branches/1.4/main/frame.c

------------------------------------------------------------------------
r222878 | russell | 2009-10-08 14:49:10 -0500 (Thu, 08 Oct 2009) | 44
lines

Make filestream frame handling safer by isolating frames before returning
them.

This patch is related to a number of issues on the bug tracker that show
crashes related to freeing frames that came from a filestream.  A number
of
fixes have been made over time while trying to figure out these problems,
but
there re still people seeing the crash.  (Note that some of these bug
reports
include information about other problems.  I am specifically addressing
the filestream frame crash here.)

I'm still not clear on what the exact problem is.  However, what is _very_
clear is that we have seen quite a few problems over time related to
unexpected
behavior when we try to use embedded frames as an optimization.  In some
cases,
this optimization doesn't really provide much due to improvements made in
other
areas.

In this case, the patch modifies filestream handling such that the
embedded frame
will not be returned.  ast_frisolate() is used to ensure that we end up
with a
completely mallocd frame.  In reality, though, we will not actually have
to malloc
every time.  For filestreams, the frame will almost always be allocated
and freed
in the same thread.  That means that the thread local frame cache will be
used.
So, going this route doesn't hurt.

With this patch in place, some people have reported success in not seeing
the
crash anymore.

(SWP-150)
(AST-208)
(ABE-1834)

(issue https://issues.asterisk.org/view.php?id=15609)
Reported by: aragon
Patches:
      filestream_frisolate-1.4.diff2.txt uploaded by russell (license 2)
Tested by: aragon, russell

(closes issue https://issues.asterisk.org/view.php?id=15817)
Reported by: zerohalo
Tested by: zerohalo

(closes issue https://issues.asterisk.org/view.php?id=15845)
Reported by: marhbere

Review: https://reviewboard.asterisk.org/r/386/

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=222878 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-10-08 14:49 svnbot         Note Added: 0112065                          
======================================================================




More information about the asterisk-bugs mailing list