[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