statschannel assertion failure

Timothy Holtzen tah at NebrWesleyan.edu
Tue Feb 24 20:26:45 UTC 2009


Hi guys I'm getting this assertion failure again under Bind 9.5.1-P1 on
RHEL 5.2.

Feb 23 22:00:01 foo named[18476]: statschannel.c:696: INSIST(xmlrc >= 0)
failed
Feb 23 22:00:01 foo named[18476]: exiting (due to assertion failure)

I posted about it once before.  I understand that this is caused by a
failure in xmlTextWriterEndElement() which should normally succeed.  It
was suggested last time that this could be caused by a memory allocation
failure and it was suggested that as a work around I suppress memory
usage using max-cache-size.  I went ahead and limited it to 130Meg and
have been monitoring since.  I've never seen the memory footprint for
bind go  up beyond a few hundred Meg on a system with 2Gig of ram so I'm
thinking that memory allocation may not be the problem.

I am polling the stats channel from a couple of different systems so I
decided to try a simple experiment.  I setup the same version of bind on
a test system and then hit the stats channel on the test systems from
another system repeatedly in a loop using a simple wget command.  Every
thing seemed fine.  Then I did the same thing again only this time I
started two instances for the wget loop.  This triggered the assertion
almost immediately.  After some more playing around it appears that if
two or more processes make near instantaneous requests from the stats
channel it triggers the assertion.  I suspect that the assertion failure
I'm seeing on the production server is caused by the other two systems
polling simultaneously.  Could there be some kind of race condition
going on that is triggering the assertion?

For now I've offset the polling interval of the other systems to try and
work around this and avoid simultaneous requests.  Has anyone got any
other ideas?  I guess at very least anyone who uses the stats channel
should be sure to limit access to only trusted systems.  Otherwise
untrusted users could shut down bind at will using a couple of simple
wget commands.

-- 
Timothy A. Holtzen
Campus Network Administrator
Nebraska Wesleyan University




More information about the bind-users mailing list