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

Asterisk Bug Tracker noreply at bugs.digium.com
Thu Dec 30 02:32:01 UTC 2010


The following issue has been SUBMITTED. 
====================================================================== 
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:                     new
Asterisk Version:           1.8.1.1 
JIRA:                        
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:              2010-12-29 20:32 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);
  }
}
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-12-29 20:32 kkm            New Issue                                    
2010-12-29 20:32 kkm            Asterisk Version          => 1.8.1.1         
2010-12-29 20:32 kkm            Regression                => No              
2010-12-29 20:32 kkm            SVN Branch (only for SVN checkouts, not tarball
releases) => N/A             
======================================================================




More information about the asterisk-bugs mailing list