[asterisk-bugs] [Asterisk 0018554]: SIP channel tried to release unowned mutex in handle_incoming()

Asterisk Bug Tracker noreply at bugs.digium.com
Thu Jan 13 15:12:05 CST 2011


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=18554 
====================================================================== 
Reported By:                kkm
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   18554
Category:                   Channels/chan_sip/General
Reproducibility:            unable to reproduce
Severity:                   minor
Priority:                   normal
Status:                     acknowledged
Asterisk Version:           1.8.1.1 
JIRA:                       SWP-2827 
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2010-12-29 20:32 CST
Last Modified:              2011-01-13 15:12 CST
====================================================================== 
Summary:                    SIP channel tried to release unowned mutex in
handle_incoming()
Description: 
Still testing 1.8 pre-production, suddenly received this

[2010-12-29 18:00:34.191] ERROR[17610]: lock.c:384
__ast_pthread_mutex_unlock: chan_sip.c line 23562 (handle_incoming): mutex
'owner' freed more times than we've locked!
[2010-12-29 18:00:34.191] ERROR[17610]: lock.c:416
__ast_pthread_mutex_unlock: chan_sip.c line 23562 (handle_incoming): Error
releasing mutex: Operation not permitted

Unfortunately, not much debugging information available. That was one of a
kind error. The following AEL code has been executed with errors appearing
between 2 trace lines:

    &trace(Entering queue - ${QUEUE_STATS}); //<- after this
    &answer-nocdr-maybe();
    Queue(${CUSTAPPRAW},ct,,,${QUETIME},,,on-queue-answer);
. . . 

macro on-queue-answer() {
  &trace(Answering in $[${CDR(duration)}-${CDR(billsec)}]s on ${CHANNEL});
//<- before this
}

The call had been answered in the macro

macro answer-nocdr-maybe() {
  if("${CHANNEL(state)}" == "Ring") {
    Answer(0,nocdr);
    Wait(0.5);
    Ringing();
    Wait(1);
  }
}
======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0018403 [patch] Deadlock on SIP blind transfer ...
====================================================================== 

---------------------------------------------------------------------- 
 (0130470) jpeeler (administrator) - 2011-01-13 15:12
 https://issues.asterisk.org/view.php?id=18554#c130470 
---------------------------------------------------------------------- 
Were there any transfers going on when this occurred? This does appear to
be related. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2011-01-13 15:12 jpeeler        Note Added: 0130470                          
======================================================================




More information about the asterisk-bugs mailing list