[asterisk-bugs] [Asterisk 0012584]: Lock errors on the CLI
noreply at bugs.digium.com
noreply at bugs.digium.com
Tue May 13 16:14:48 CDT 2008
A NOTE has been added to this issue.
======================================================================
http://bugs.digium.com/view.php?id=12584
======================================================================
Reported By: DougUDI
Assigned To: russell
======================================================================
Project: Asterisk
Issue ID: 12584
Category: Channels/chan_local
Reproducibility: random
Severity: major
Priority: normal
Status: closed
Asterisk Version: 1.4.19
SVN Branch (only for SVN checkouts, not tarball releases): N/A
SVN Revision (number only!):
Disclaimer on File?: N/A
Request Review:
Resolution: fixed
Fixed in Version:
======================================================================
Date Submitted: 05-05-2008 10:05 CDT
Last Modified: 05-13-2008 16:14 CDT
======================================================================
Summary: Lock errors on the CLI
Description:
We have seen lock errors on a few different servers running 1.4.19. These
seem to be mostly related to the queues. If anyone can please shed som
light on these errors. In some cases the system seems to stop call delivery
on the queues.
======================================================================
Relationships ID Summary
----------------------------------------------------------------------
has duplicate 0012596 Asterisk lock
related to 0012603 Asterisk locks up and cannot process in...
======================================================================
----------------------------------------------------------------------
svnbot - 05-13-08 16:14
----------------------------------------------------------------------
Repository: asterisk
Revision: 116040
_U branches/1.6.0/
U branches/1.6.0/channels/chan_local.c
------------------------------------------------------------------------
r116040 | russell | 2008-05-13 16:14:41 -0500 (Tue, 13 May 2008) | 40
lines
Merged revisions 116039 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
................
r116039 | russell | 2008-05-13 16:18:55 -0500 (Tue, 13 May 2008) | 32
lines
Merged revisions 116038 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r116038 | russell | 2008-05-13 16:17:23 -0500 (Tue, 13 May 2008) | 24
lines
Fix a deadlock involving channel autoservice and chan_local that was
debugged
and fixed by mmichelson and me.
We observed a system that had a bunch of threads stuck in
ast_autoservice_stop().
The reason these threads were waiting around is because this function
waits to
ensure that the channel list in the autoservice thread gets rebuilt before
the
stop() function returns. However, the autoservice thread was also locked,
so
the autoservice channel list was never getting rebuilt.
The autoservice thread was stuck waiting for the channel lock on a local
channel.
However, the local channel was locked by a thread that was stuck in the
autoservice
stop function.
It turned out that the issue came down to the local_queue_frame() function
in
chan_local. This function assumed that one of the channels passed in as
an
argument was locked when called. However, that was not always the case.
There
were multiple cases in which this channel was not locked when the function
was
called. We fixed up chan_local to indicate to this function whether this
channel
was locked or not. The previous assumption had caused local_queue_frame()
to
improperly return with the channel locked, where it would then never get
unlocked.
(closes issue http://bugs.digium.com/view.php?id=12584)
(related to issue http://bugs.digium.com/view.php?id=12603)
........
................
------------------------------------------------------------------------
http://svn.digium.com/view/asterisk?view=rev&revision=116040
Issue History
Date Modified Username Field Change
======================================================================
05-13-08 16:14 svnbot Checkin
05-13-08 16:14 svnbot Note Added: 0086823
======================================================================
More information about the asterisk-bugs
mailing list