[asterisk-bugs] [Asterisk 0012603]: Asterisk locks up and cannot process incoming SIP messages on 1.4.20-rc1

noreply at bugs.digium.com noreply at bugs.digium.com
Tue May 13 16:13:46 CDT 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=12603 
====================================================================== 
Reported By:                jyap
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   12603
Category:                   Channels/chan_sip/General
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     feedback
Asterisk Version:           1.4.20 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             05-07-2008 15:53 CDT
Last Modified:              05-13-2008 16:13 CDT
====================================================================== 
Summary:                    Asterisk locks up and cannot process incoming SIP
messages on 1.4.20-rc1
Description: 
This may be related to: http://bugs.digium.com/view.php?id=12584 or
http://bugs.digium.com/view.php?id=12596

Filing this bug separately as I'm not sure.

Attached will be outputs from 'core show locks'.

======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0012584 Lock errors on the CLI
====================================================================== 

---------------------------------------------------------------------- 
 svnbot - 05-13-08 16:13  
---------------------------------------------------------------------- 
Repository: asterisk
Revision: 116038

U   branches/1.4/channels/chan_local.c

------------------------------------------------------------------------
r116038 | russell | 2008-05-13 16:12:25 -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=116038 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
05-13-08 16:13  svnbot         Note Added: 0086817                          
======================================================================




More information about the asterisk-bugs mailing list