[rrd-users] Bug in rrdtool?

Jean-Yves Avenard jyavenard at gmail.com
Fri Jan 1 22:57:02 CET 2010


Hi

2010/1/2 Reinhard Scheck <Reinhard.Scheck at team-scheck.de>:
> If this turns out to be 64bit specific, I'm interested in trying to reproduce
> this on a F12 64bit system.
> Would you please be so kind to post the plain rrdtool graph command that fails?


Here is the original command:

/usr/local/bin/rrdtool graph /tmp/powerOPG2aY -l 0 \
-t 'SOLAR YEARLY (monthly average)' \
-x WEEK:1:MONTH:1:MONTH:1:18748800:'%b'  --slope-mode \
--step 86400 --start 1233446400 --end 1264982399 \
-w 730 -h 240 DEF:ext0=solarprod3.rrd:total:AVERAGE:start=1262304000:end=1264982399
\
   VDEF:vext0tot=ext0,TOTAL \
   CDEF:cext0=ext0,POP,vext0tot
DEF:ext1=solarprod3.rrd:total:AVERAGE:start=1259625600:end=1262303999
\
   VDEF:vext1tot=ext1,TOTAL \
   CDEF:cext1=ext1,POP,vext1tot
DEF:ext2=solarprod3.rrd:total:AVERAGE:start=1257033600:end=1259625599
\
   VDEF:vext2tot=ext2,TOTAL \
   CDEF:cext2=ext2,POP,vext2tot
DEF:ext3=solarprod3.rrd:total:AVERAGE:start=1254358800:end=1257033599
\
   VDEF:vext3tot=ext3,TOTAL \
   CDEF:cext3=ext3,POP,vext3tot
DEF:ext4=solarprod3.rrd:total:AVERAGE:start=1251766800:end=1254358799
\
   VDEF:vext4tot=ext4,TOTAL \
   CDEF:cext4=ext4,POP,vext4tot
DEF:ext5=solarprod3.rrd:total:AVERAGE:start=1249088400:end=1251766799
\
   VDEF:vext5tot=ext5,TOTAL \
   CDEF:cext5=ext5,POP,vext5tot
DEF:ext6=solarprod3.rrd:total:AVERAGE:start=1246410000:end=1249088399
\
   VDEF:vext6tot=ext6,TOTAL \
   CDEF:cext6=ext6,POP,vext6tot
DEF:ext7=solarprod3.rrd:total:AVERAGE:start=1243818000:end=1246409999
\
   VDEF:vext7tot=ext7,TOTAL \
   CDEF:cext7=ext7,POP,vext7tot
DEF:ext8=solarprod3.rrd:total:AVERAGE:start=1241139600:end=1243817999
\
   VDEF:vext8tot=ext8,TOTAL \
   CDEF:cext8=ext8,POP,vext8tot
DEF:ext9=solarprod3.rrd:total:AVERAGE:start=1238544000:end=1241139599
\
   VDEF:vext9tot=ext9,TOTAL \
   CDEF:cext9=ext9,POP,vext9tot
DEF:ext10=solarprod3.rrd:total:AVERAGE:start=1235865600:end=1238543999
\
   VDEF:vext10tot=ext10,TOTAL \
   CDEF:cext10=ext10,POP,vext10tot
DEF:ext11=solarprod3.rrd:total:AVERAGE:start=1233446400:end=1235865599
\
   VDEF:vext11tot=ext11,TOTAL \
   CDEF:cext11=ext11,POP,vext11tot COMMENT:'        ' \
 COMMENT:'Maximum  ' \
   COMMENT:'Average  ' \
   COMMENT:'Minimum      '  \
   COMMENT:'Total\l' AREA:cext0#FFd700a0:'Solar' AREA:cext1#FFd700a0
AREA:cext2#FFd700a0 AREA:cext3#FFd700a0 AREA:cext4#FFd700a0
AREA:cext5#FFd700a0 AREA:cext6#FFd700a0 AREA:cext7#FFd700a0
AREA:cext8#FFd700a0 AREA:cext9#FFd700a0 AREA:cext10#FFd700a0
AREA:cext11#FFd700a0 DEF:ext=solarprod3.rrd:total:AVERAGE
VDEF:vexttot=ext,TOTAL
CDEF:cext=cext0,cext1,+,cext2,+,cext3,+,cext4,+,cext5,+,cext6,+,cext7,+,cext8,+,cext9,+,cext10,+,cext11,+

I just tried on a FreeBSD 7.2 64 ; and it worked

On Ubuntu:
ERROR: malloc im->gdes[gdi].data

This is the simpliest form I found to generate the error:
/usr/local/bin/rrdtool graph /tmp/powerOPG2aY -l 0 \
-t 'SOLAR YEARLY (monthly average)' \
-x WEEK:1:MONTH:1:MONTH:1:18748800:'%b'  --slope-mode \
--step 86400 --start 1233446400 --end 1264982399 \
-w 730 -h 240 DEF:ext0=solarprod3.rrd:total:AVERAGE:start=1262304000:end=1264982399
\
   VDEF:vext0tot=ext0,TOTAL \
   CDEF:cext0=ext0,POP,vext0tot
DEF:ext1=solarprod3.rrd:total:AVERAGE:start=1259625600:end=1262303999
\
   VDEF:vext1tot=ext1,TOTAL \
   CDEF:cext1=ext1,POP,vext1tot
DEF:ext2=solarprod3.rrd:total:AVERAGE:start=1257033600:end=1259625599
\
   VDEF:vext2tot=ext2,TOTAL \
   CDEF:cext2=ext2,POP,vext2tot
DEF:ext3=solarprod3.rrd:total:AVERAGE:start=1254358800:end=1257033599
\
 COMMENT:'        ' \
 COMMENT:'Maximum  ' \
   COMMENT:'Average  ' \
   COMMENT:'Minimum      '  \
   COMMENT:'Total\l' AREA:cext0#FFd700a0:'Solar' AREA:cext1#FFd700a0
AREA:cext2#FFd700a0 \
CDEF:cext=cext0,cext1,+,cext2,+

changing the last line from CDEF:cext=cext0,cext1,+,cext2,+ to
CDEF:cext=cext0,cext1,+ ; then no error.

If I remove the start=xxxx:end=xxxx in each CDEF ; then the error doesn't occur.

I may try stepping into the code if the wife permits... No coding on
week-ends is the rule here !
Jean-Yves



More information about the rrd-users mailing list