[Home]

Summary:ASTERISK-25362: Deadlock due to presence state callback
Reporter:Mark Michelson (mmichelson)Labels:
Date Opened:2015-08-31 15:31:46Date Closed:2015-08-31 16:13:38
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Core/PBX
Versions:11.19.0 13.5.0 Frequency of
Occurrence
One Time
Related
Issues:
Environment:Attachments:
Description:A deadlock was observed where three threads were competing for different locks:

* One thread held the hints lock and was attempting to lock a specific hint.
* One thread was holding the specific hint's lock and was attempting to lock the contexts lock
* One thread was holding the contexts lock and attempting to lock the hints lock.

Clearly the second thread was doing the wrong thing here. The fix for this is to make sure that the hint's lock is not held on presence state changes. Something similar is already done (and commented about) for device state changes.
Comments: