[hobbit] hobbitd crashing (both 4.0.2 and latest snapshot) on Solaris 8

Henrik Stoerner henrik at hswn.dk
Thu Apr 12 07:37:25 CEST 2007


On Tue, Apr 10, 2007 at 06:28:43PM -0700, Menton, Stephen wrote:
> Additionally, both in my previous install of hobbit and the current
> snapshot I'm seeing the following messages written to
> /var/log/hobbit/hobbitlaunch.log:
> 2007-04-10 18:13:16 Setting up network listener on 0.0.0.0:1985
> 2007-04-10 18:13:16 Setting up local listener
> 2007-04-10 18:13:17 Task bbdisplay terminated by signal 15
> 2007-04-10 18:13:17 Setting up signal handlers
> 2007-04-10 18:13:17 Setting up hobbitd channels
> 2007-04-10 18:13:17 Setting up logfiles
> 2007-04-10 18:16:21 Task hobbitd terminated by signal 6

Stephen and I worked on this yesterday, and the problem turned out 
to be a general one, which his particular set of tests just happened 
to trigger easily. Specifically, he was sending a fairly large status
message from a script in one single line, i.e.
  $BB $BBDISP "status myhost.customtest green .... <several KB data>"
and this would cause hobbitd to crash the next time it should 
update the webpages.

You wouldn't have to have very long status messages to trigger this;
having a lot of smaller ones is enough. So this could be the reason
for some of the unexplained hobbitd crashes reported over time.

The attached patch solves this. I'll be updating the "allinone" patch
later today with this.


Regards,
Henrik

-------------- next part --------------
--- ../hobbit-4.2.0/hobbitd/hobbitd.c	2006-08-09 22:10:05.000000000 +0200
+++ hobbitd/hobbitd.c	2007-04-12 07:28:23.000000000 +0200
@@ -2167,6 +2175,7 @@
 		switch (f_type) {
 		  case F_ACKMSG: if (lwalk->ackmsg) needed += 2*strlen(lwalk->ackmsg); break;
 		  case F_DISMSG: if (lwalk->dismsg) needed += 2*strlen(lwalk->dismsg); break;
+		  case F_LINE1:
 		  case F_MSG: needed += 2*strlen(lwalk->message); break;
 
 		  case F_ACKLIST:


More information about the Xymon mailing list