[mrtg] Segmentation fault in MRTG/RRD using cron

Oscar Klein Koerkamp OKleinK at nlr.nl
Thu Sep 13 09:40:41 MEST 2001

I'm using MRTG version 2.9.17 and rrdtool 1.0.33 on SunOS 5.7 running
perl 5.005_03 
If I start MRTG manualy on the commandline it all works fine.
But when I put exactly the same command in the crontab I get a
'Segmentation fault (coredump)' every time the command is executed.
Although MRTG seams to have a problem, all the targets in the
configfile are processed and the rrdfiles are written with sane data.

Debugging the core file didn't make me happy, never done before.
It seems a memory request is done on an address that can't be read.

Tracing the execution using 'truss' gives me the following:

PID     Time    
15625:	67.8165	getcontext(0xFFBEF650)
15625:	67.8292	    Incurred fault #5, FLTACCESS  %pc = 0xFF09C250
15625:	      siginfo: SIGBUS BUS_ADRALN addr=0xDE020001
15625:	67.8296	    Received signal #10, SIGBUS [default]
15625:	      siginfo: SIGBUS BUS_ADRALN addr=0xDE020001
15625:		*** process killed ***
15623:	69.1524	waitid(P_ALL, 0, 0xFFBEF6E8, WEXITED|WTRAPPED|WSTOPPED)
= 0
15623:	69.1549	sigaction(SIGCLD, 0xFFBEF6A8, 0xFFBEF728)	= 0
15623:	69.1555	read(62, 0xFF23977C, 1024)			= 0
15623:	69.1558	ioctl(0, TCGETS, 0x0004ED34)		Err#6 ENXIO
15623:	69.1563	write(2, " / h o m e / s h ".., 62)	= 62
15623:	69.1567	_exit(138)

This happens at the end of the tracefile. During error-free execution
from the commandline this also would be the end of the tracefile.
The program is almost finished. So the above is all that goes wrong.

Copying the enviroment vars used on the commandline into the file 
started by cron doesn't help.
I don't believe it has something to do with rights, since cron 
would have the same result as on the commandline.
A small basic cfg-file also doesn't change anything.

If I turn off 'LogFormat:rrdtool' the segmentation fault doesn't
What does that mean?
Can I turn on any kind of debugging within RRDtool or rateup?
If I turning on logging (tried all kinds) within MRTG it all seems 
to behave normaly.
I think that MRTG itself is running error-free, but a external program
(RRD/rateup?) fails to release memory. 
I am not a programmer, nor Unix-wizzkid, so this is as far as I can 
get with my knowledge.

Anyone any ideas?

Thanks in advance,
Oscar Klein Koerkamp

Unsubscribe mailto:mrtg-request at list.ee.ethz.ch?subject=unsubscribe
Archive     http://www.ee.ethz.ch/~slist/mrtg
FAQ         http://faq.mrtg.org    Homepage     http://www.mrtg.org
WebAdmin    http://www.ee.ethz.ch/~slist/lsg2.cgi

More information about the mrtg mailing list