I did a brief search on the archives but didn't see this issue addressed.

I wrote a simple cgi in bash that helps manage the smokeping tool.  The cgi 
starts/stops/restarts smokeping.

I noticed when I started smokeping via cgi, it would run for a while but then 
crash after a few minutes.

After a bit of trial and error (thinking there was a problem with my startup 
method) I discovered that smokeping was throwing an error:

$ cat logfile.1766
Thu Mar 31 12:22:17 2011 - Smokeping version 2.004002 successfully launched.
Thu Mar 31 12:22:17 2011 - Not entering multiprocess mode for just a single 
probe.
Thu Mar 31 12:22:17 2011 - FPing: probing 13 targets with step 300 s and offset 
176 s.
Thu Mar 31 12:23:15 2011 - Use of uninitialized value in division (/) at 
/opt/smokeping/lib/Smokeping/probes/FPing.pm line 149, <GEN2> line 1.

Thu Mar 31 12:23:15 2011 - Illegal division by zero at 
/opt/smokeping/lib/Smokeping/probes/FPing.pm line 149, <GEN2> line 1.

Line number 149 is this statement:

  @times = map {sprintf "%.10e", $_ / $self->{pingfactor}} sort {$a <=> $b} 
grep /^\d/, @times;

Examining the FPing.pm library I see that $self->{pingfactor} is not defined if 
the script is run as a CGI in "sub new($$$)" routine.  This routine appears to 
figure out what the 'pingfactor' is for the fping binary if this is not run as 
a CGI.

I modified the code so that it goes ahead and runs/executes the body of "sub 
new($$$)" even if the script is run as a CGI.  So far it has not seemed to 
cause any problems with the output/results of the utility.

Thanks



_______________________________________________
smokeping-users mailing list
[email protected]
https://lists.oetiker.ch/cgi-bin/listinfo/smokeping-users

Reply via email to