No subject


Thu Dec 16 07:37:03 UTC 2010


ast_waitfor_nandfds is actually how long to read from the file descriptor. 
It has nothing to do with how long to wait for a lock, and I don't see any
deadlock avoidance in autoservice_run.

My first patch *avoided* this problem by not passing a channel to the
pbx_find_extension inside of ast_parking_ext_valid.  That would prevent
ast_autoservice_start/stop from executing at all.  Russell stated clearly
that this would not be accepted as a final solution as autoservice needs to
be applied on these channels to handle cases of long return times (i.e.
Database lookups).

The second patch attempts to unlock p->owner before the call to
ast_parking_ext_valid, and seems to prevent the deadlock above. However,
after a lot more testing, this doesn't prevent other deadlocks from
happening (like the one you show in 18403-kkm-locks-1.txt)  Even trying to
relock p->owner after the ast_parking_ext_valid call I still get deadlocks.
 That makes me think that I am looking entirely in the wrong area, or there
is something much larger going on here that I haven't found yet. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-12-24 17:47 jthurman       Note Added: 0129955                          
======================================================================




More information about the asterisk-bugs mailing list