[asterisk-bugs] [Asterisk 0017407]: [patch] DEADLOCK_AVOIDANCE can actually generate dealocks

Asterisk Bug Tracker noreply at bugs.digium.com
Fri Jun 18 21:51:48 CDT 2010


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=17407 
====================================================================== 
Reported By:                pdf
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   17407
Category:                   Core/General
Reproducibility:            sometimes
Severity:                   block
Priority:                   normal
Status:                     ready for testing
Target Version:             1.4.34
Asterisk Version:           1.4.31 
JIRA:                       SWP-1584 
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2010-05-27 00:23 CDT
Last Modified:              2010-06-18 21:51 CDT
====================================================================== 
Summary:                    [patch] DEADLOCK_AVOIDANCE can actually generate
dealocks
Description: 
We have reported this issue to Digium support, however were asked to submit
the patch via this tracker.

In brief: the DEADLOCK_AVOIDANCE macro attempts to release an existing
lock, then relock after a usleep(1), to allow other code to proceed around
the lock.  However, it doesn't actually check to see if a lock was released
by the unlock, before taking a new lock.  This means that whenever there is
no lock released, a new lock is taken that will never be released, meaning
that DEADLOCK_AVOIDANCE actually leaks locks, which can obviously lead to a
deadlock.
======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0017414 [patch] ss_thread calls pri_grab withou...
====================================================================== 

---------------------------------------------------------------------- 
 (0123626) ecarruda (reporter) - 2010-06-18 21:51
 https://issues.asterisk.org/view.php?id=17407#c123626 
---------------------------------------------------------------------- 
Hey People,

I'm running this patch on two different servers running 1.4.32, i was
having 1 or two freezes by day on asterisk, something work like IAX2
logging Maximum Retries, but sip phones unregister, all the calls stop to
work, everthing go down but asterisk don't crash or generate core dump.

After the patch i have this uptime: System uptime: 3 days, 14 hours, 51
minutes, 53 seconds 

No more freezes or lock, i will continue testing this patch on more server
and i will write new report in few days, but, i can tell now, IT WORKED,
solved all my lock problems, i'm having this problem more/less 5 months,
many thanks PDF. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-06-18 21:51 ecarruda       Note Added: 0123626                          
======================================================================




More information about the asterisk-bugs mailing list