[asterisk-bugs] [Asterisk 0015609]: WARNING[23025]: channel.c:952 __ast_queue_frame: Exceptionally long voice queue length queuing to Local
Asterisk Bug Tracker
noreply at bugs.digium.com
Wed Aug 5 00:55:04 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: minor
Priority: normal
Status: acknowledged
Asterisk Version: SVN
Regression: No
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-08-05 00:55 CDT
======================================================================
Summary: 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)
=== -------------------------------------------------------------------
======================================================================
----------------------------------------------------------------------
(0108636) cstadlmann (reporter) - 2009-08-05 00:55
https://issues.asterisk.org/view.php?id=15609#c108636
----------------------------------------------------------------------
Sorry guys, I have to withdraw my post. The suggestion provided in Bug
14112 seems to fix the issue for me, at least for queues.
Maybe also compiling with DONT_OPTIMIZE, DEBUG_CHANNEL_LOCKS,
DEBUG_THREADS, DEBUG_FD_LEAKS and MALLOX_DEBUG solved the issue.
This is how I patched chan_local.c:
--- channels/chan_local.c.orig 2009-07-29 12:34:47.000000000 +0200
+++ channels/chan_local.c 2009-08-05 06:47:19.000000000 +0200
@@ -539,10 +539,9 @@
if (!p)
return -1;
+ /* SMR - Use the macro rather */
while (ast_mutex_trylock(&p->lock)) {
- ast_channel_unlock(ast);
- usleep(1);
- ast_channel_lock(ast);
+ DEADLOCK_AVOIDANCE(&ast->lock);
}
isoutbound = IS_OUTBOUND(ast, p);
mmichelson: maybe you should link bug 14112 and this one.
Issue History
Date Modified Username Field Change
======================================================================
2009-08-05 00:55 cstadlmann Note Added: 0108636
======================================================================
More information about the asterisk-bugs
mailing list