[asterisk-bugs] [Asterisk 0011080]: SIP channel stops processing calls, but no apparent deadlock

noreply at bugs.digium.com noreply at bugs.digium.com
Wed Dec 12 21:29:30 CST 2007


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=11080 
====================================================================== 
Reported By:                callguy
Assigned To:                russell
====================================================================== 
Project:                    Asterisk
Issue ID:                   11080
Category:                   Channels/chan_sip/General
Reproducibility:            always
Severity:                   block
Priority:                   normal
Status:                     assigned
Asterisk Version:           1.4.13  
SVN Branch (only for SVN checkouts, not tarball releases): N/A  
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             10-24-2007 15:58 CDT
Last Modified:              12-12-2007 21:29 CST
====================================================================== 
Summary:                    SIP channel stops processing calls, but no apparent
deadlock
Description: 
Approximately once per week we are seeing asterisk stop processing SIP
calls. The behavior is the same as a deadlock, but core show locks does not
show any evidence that there is a deadlock. 

The only way to resolve is to restart asterisk. 

output of:
core show locks
info thread
thread apply all bt

from the running process is attached.
======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0011165 Deadlock in channel.c
====================================================================== 

---------------------------------------------------------------------- 
 eliel - 12-12-07 21:29  
---------------------------------------------------------------------- 
licedey: Could you upload another 'core show locks'?

Also regarding your questions:
- state_changes is not a mutex! so you cant just
'ast_mutex_lock(state_changes)'. You could read the Macro definition to
know what is going on inside AST_LIST_LOCK(). [state_changes->lock]

- do_devstate_changes() never unlocks state_changes (before returning)
because it never returns, it is unlocking the structure inside the for and
locking it again to let other threads work with the structure. But stays
inside the for() FORever.

Thanks 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
12-12-07 21:29  eliel          Note Added: 0075326                          
======================================================================




More information about the asterisk-bugs mailing list