[asterisk-bugs] [Asterisk 0010571]: SIP hairpin invokes Local within app_dial to produce a crash.

noreply at bugs.digium.com noreply at bugs.digium.com
Thu Oct 11 01:47:12 CDT 2007


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=10571 
====================================================================== 
Reported By:                dtyoo
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   10571
Category:                   Applications/app_dial
Reproducibility:            unable to reproduce
Severity:                   crash
Priority:                   normal
Status:                     new
Asterisk Version:            1.4.9  
SVN Branch (only for SVN checkouts, not tarball releases): N/A  
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             08-27-2007 08:43 CDT
Last Modified:              10-11-2007 01:47 CDT
====================================================================== 
Summary:                    SIP hairpin invokes Local within app_dial to produce
a crash.
Description: 
We are getting crashes in app_voicemail on a fairly regular basis.  I'm
still working on steps to re-produce, but I thought I would post the
backtraces here in case someone could glean anything from them.  I will
update if I can figure out the steps to re-produce.
====================================================================== 

---------------------------------------------------------------------- 
 Ivan - 10-11-07 01:47  
---------------------------------------------------------------------- 
callguy - 
  I have looked your realization. 
  There are two doubts:
  1. Moving a critical counter in stack variable reduces probability of 
     "race condition", but does not exclude it completely (especially in 
     muli-core systems)
  2. Output abroad of "reentrancy" counter in you code only exclude out of

     range for array, but not correct the "race condition" situation
  I think needs to make the next changes in <lock.h> module:
  1. Include reetrancy attributes in DEBUG_THREADS mode only(!!!)
  2. Add to reetrancy attributes the critical section object (mutex in
Linux)
  3. Make all operatins on reetrancy attributes inside of locked critical
section
--> It is the most simple and reliable way will get rid of a problem (but
not unique). 
  I well understand, that the decision of the given problem for you is 
  very important and I shall try to find the time to patch it in this
weekend. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
10-11-07 01:47  Ivan           Note Added: 0071801                          
======================================================================




More information about the asterisk-bugs mailing list