[asterisk-bugs] [Asterisk 0016081]: [patch] utils.c:938 ast_carefulwrite: Timed out trying to write causes corruption to astdb

Asterisk Bug Tracker noreply at bugs.digium.com
Fri Nov 20 14:52:50 CST 2009


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=16081 
====================================================================== 
Reported By:                aragon
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   16081
Category:                   Resources/res_agi
Reproducibility:            have not tried
Severity:                   major
Priority:                   normal
Status:                     acknowledged
Target Version:             1.4.28
Asterisk Version:           SVN 
JIRA:                       SWP-286 
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2009-10-15 10:02 CDT
Last Modified:              2009-11-20 14:52 CST
====================================================================== 
Summary:                    [patch] utils.c:938 ast_carefulwrite: Timed out
trying to write causes corruption to astdb
Description: 
Agent addmember to local extensions causes the agent to be logged as
non-existent channels when ast_carefulwrite times out during login.

[Oct 15 10:40:07] NOTICE[29962]: utils.c:938 ast_carefulwrite: Timed out
trying to write
[Oct 15 10:40:07] NOTICE[29962]: utils.c:938 ast_carefulwrite: Timed out
trying to write

Here  is an example of the corruption where the same local extension is
logged twice.  The "outgoing" agent cannot logoff unless I manually remove
from astdb.  The local agent can logoff but since the outgoing cannot calls
entering queue fail to reach agents and the local channel cannot log back
in.

Local/3345 at queuefifteen-outgoing/n (dynamic) (Invalid) has taken no calls
yet
      Local/3345 at queuefifteen-agent/n (dynamic) (Not in use) has taken 2
calls (last was                                                            
    1915 secs ago)

======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0014843 1 in 3 incoming zap PRI calls do no hea...
related to          0015609 [patch] WARNING[23025]: channel.c:952 _...
====================================================================== 

---------------------------------------------------------------------- 
 (0114064) aragon (reporter) - 2009-11-20 14:52
 https://issues.asterisk.org/view.php?id=16081#c114064 
---------------------------------------------------------------------- 
To reproduce on our busy system is now easy.
* CLI do
database show
core show locks

core show locks
fireworx*CLI>
=======================================================================
=== Currently Held Locks ==============================================
=======================================================================
===
=== <file> <line num> <function> <lock name> <lock addr> (times locked)
===
=== Thread ID: -1251673200 (netconsole           started at [ 1036]
asterisk.c listener())
=== ---> Lock https://issues.asterisk.org/view.php?id=0 (db.c): MUTEX 325
database_show &dblock 0x8180300 (1)
=== -------------------------------------------------------------------
===
=== Thread ID: -1252164720 (pbx_thread           started at [ 2646] pbx.c
ast_pbx_start())
=== ---> Waiting for Lock https://issues.asterisk.org/view.php?id=0 (db.c):
MUTEX 178 ast_db_get &dblock
0x8180300 (1)
=== --- ---> Locked Here: db.c line 325 (database_show)
=== -------------------------------------------------------------------
===
=======================================================================

[Nov 20 15:42:50] NOTICE[4422]: utils.c:938 __ast_carefulwrite: Timed out
trying to write at line 73 of ast_cli in file cli.c
[Nov 20 15:42:50] NOTICE[4422]: utils.c:938 __ast_carefulwrite: Timed out
trying to write at line 73 of ast_cli in file cli.c
[Nov 20 15:42:50] NOTICE[4422]: utils.c:938 __ast_carefulwrite: Timed out
trying to write at line 73 of ast_cli in file cli.c

But a lot harder to capture the manager.c NOTICE core show locks output!
Timimg that command would be like typing a needle in a haystack... 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-11-20 14:52 aragon         Note Added: 0114064                          
======================================================================




More information about the asterisk-bugs mailing list