[rrd-users] rrdgraph segfaults on some databases

Steve Wray stevew at catalyst.net.nz
Mon Nov 1 01:13:17 MET 2004

Hash: SHA1

Hi there,
I am wondering if this is just a glitch in the rrd databases involved, 
but I am finding that rrdtool graph is segfaulting on some of my longer running 
rrd databases. 

I can generate graphs with a start time of up to 7 weeks ago, 
but any earlier and rrdtool graph segfaults. I started accumulating data about
10 weeks ago.

I'm not sure what the best next step is.

The rrd databases involved are about 4.5M so I am not going to attach one here,
unless requested.

Version of rrdtool involved is RRDtool 1.0.48 and is running on a debian sarge box.

The rrdtool graph commandline is (horrendous, but its generated by a perl script);
(line-breaking \'s inserted)

rrdtool graph /home/stevew/inldb01.daterange.filesystem.graph.png \
- -h 200 -w 800 -s 1092012817 -e 1099266817 \
- -a PNG -l0 -v "% Disk Usage" \
- -t "inldb01 Disk usage" \
- --upper-limit 100 \
COMMENT:"Disk Max Min Average\\n" \
DEF:"_var_log=/var/log/snmp_rrd/inldb01.fs_var_log.rrd:_var_log:AVERAGE" \
LINE2:"_var_log#00ff00:/var/log" \
GPRINT:"_var_log:MAX:%6.2lf" \
GPRINT:"_var_log:MIN:%6.2lf" \
GPRINT:"_var_log:AVERAGE:%6.2lf\\n" \
COMMENT:"Graph for period: Mon Aug  9 12:53:37 2004 to Mon Nov  1 12:53:37 2004"

I've been finding that I cannot go back more than about 7 weeks in any of the rrd databases 
for this particular hosts filesystem rrd's.

rrdtool dump seems to sucessfuly dump these rrd's. Well, it terminates without a segfault.

I'd like to know what I can do to figure out if the rrd database has become corrupted
or if there is a bug in rrdtool or what.

I did run it through strace and heres what I saw at the end, just before the segfault;

open("/var/log/snmp_rrd/inldb01.fs_var_log.rrd", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=4702044, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40018000
read(3, "RRD\0000001\0\0\0\0/%\300\307C+\37[\1\0\0\0\10\0\0\0,\1"..., 4096) = 4096
_llseek(3, -2212, [1884], SEEK_CUR)     = 0
_llseek(3, 417792, [417792], SEEK_SET)  = 0
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 3948) = 3948
- --- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++

Anything else I could provide?

Version: GnuPG v1.2.4 (GNU/Linux)


Unsubscribe mailto:rrd-users-request at list.ee.ethz.ch?subject=unsubscribe
Help        mailto:rrd-users-request at list.ee.ethz.ch?subject=help
Archive     http://www.ee.ethz.ch/~slist/rrd-users
WebAdmin    http://www.ee.ethz.ch/~slist/lsg2.cgi

More information about the rrd-users mailing list