[asterisk-bugs] [Asterisk 0012627]: The device state change thread gets locked (or waits) for 20 seconds

noreply at bugs.digium.com noreply at bugs.digium.com
Tue May 13 16:54:31 CDT 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=12627 
====================================================================== 
Reported By:                PTorres
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   12627
Category:                   Core/General
Reproducibility:            unable to reproduce
Severity:                   block
Priority:                   normal
Status:                     new
Asterisk Version:           1.4.18 
SVN Branch (only for SVN checkouts, not tarball releases):  1.4  
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             05-12-2008 11:44 CDT
Last Modified:              05-13-2008 16:54 CDT
====================================================================== 
Summary:                    The device state change thread gets locked (or
waits) for 20 seconds
Description: 

Device state becomes inconsistent, avaiable agents are seen as busy etc ,
right from the first few calls after service start.
 
checking logs we see many more insertions to the 'change state' list than
the few ones that actually change every time it is unlocked


====================================================================== 

---------------------------------------------------------------------- 
 PTorres - 05-13-08 16:54  
---------------------------------------------------------------------- 
I think we have found something... and it is probably not a bug but related
to a previous change which added support to hyphens in device/peer names (
__ast_device_state_changed_literal in devicestate.c )

(currently in 1.4.18)
a state change is queued for 'peer-8bcad123' (and recursively a state
change is queued for 'peer')
but since 'peer-8bcad123' is a channel and not a device it wont be find
and finally chan_sip will do a dns query (this is where it waits 20 seconds
because the server had dns configured but not reachable)

what happened before was (we used 1.4.12) 
state change is queued for 'peer-8bcad123' ( but the '-' and chars after
were later ignored )

For the time being we are going to revert this change because our
application will not create peers with hyphens, until we can find a better
solution :)

I guess we can close this. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
05-13-08 16:54  PTorres        Note Added: 0086826                          
======================================================================




More information about the asterisk-bugs mailing list