[rrd-developers] Re: Bug with CDEF processing
Tobias Oetiker
oetiker at ee.ethz.ch
Fri Feb 1 23:44:22 MET 2002
Today Mike McHenry wrote:
>
>
> Ok, I think I have somewhat answered my own question. The bug appears to
> be located in this diff of code between CVS-2001-10-24 and
> CVS-2001-10-25, line 777 of the rrd_graph.c code.
>
> diff -uNr rrdtool.good/src/rrd_graph.c rrdtool.bad/src/rrd_graph.c
> --- rrdtool.good/src/rrd_graph.c Fri Dec 21 20:49:23 2001
> +++ rrdtool.bad/src/rrd_graph.c Mon Dec 24 00:51:49 2001
> @@ -777,8 +791,7 @@
> * further save step size and data source
> * count of this rra
> */
> - im->gdes[gdi].rpnp[rpi].data =
> - im->gdes[ptr].data + im->gdes[ptr].ds;
> + im->gdes[gdi].rpnp[rpi].data = im->gdes[ptr].data;
> im->gdes[gdi].rpnp[rpi].step = im->gdes[ptr].step;
> im->gdes[gdi].rpnp[rpi].ds_cnt = im->gdes[ptr].ds_cnt;
>
> Anyone comments? Without this patch the CDEF problems that I commented
> on below go away...
Hi Mike,
The Patch was done by alex, so maybe he can comment. The original
code (mine) had the intention of storing a pointer to the start of
the data of each datasource within an RRA. (rrd_fetch allways
fetches the whole RRA from the RRD. If the RRA contains several
Datasources, it is arranged in several columns like this:
abcd
abcd
abcd
abcd
the code above was saving a pointer to the start of each column
(hence the +...ds) ...
cheers
tobi
>
> Mike McHenry
> Senior Network Engineer
> Origix Corp.
>
>
> -----Original Message-----
> From: Mike McHenry
> Sent: Friday, February 01, 2002 1:32 PM
> To: rrd-developers at list.ee.ethz.ch
> Subject: [rrd-developers] Bug with CDEF processing
>
>
> I have been beating my head over this one but there appears to be a bug
> in the way CDEF statements are processed in the current code base. I
> have looked back and this bug seems to have been introduced on
> 12/25/2001.
>
> Basically appears to happen is that multiple CDEF definitions seem to be
> blending the variables together. For example, take a simple database
> with two sets of variables in it and run the following command....
>
> rrdtool graph /tmp/test.gif -s 1012261801 -e 1012278000 \
> DEF:input=database.rrd:input:AVERAGE \
> DEF:output=database.rrd:output:AVERAGE \
> CDEF:inputBits=input \
> CDEF:outputBits=output \
> GPRINT:input:AVERAGE:"Input average %1.2lf" \
> GPRINT:output:AVERAGE:"Output average %1.2lf"
>
> What seems to happen is that the two CDEF statements somehow seem to
> become intertwined and end up being printed as the same value in the
> final GPRINT statements (even though the datasets are definitely not the
> same values). This appears to be a bug in the CDEF code and I am
> wondering if anyone has any input or can point me in the right
> direction.
>
> I have narrowed down the bug to something that was introduced on
> 12/25/2001. The 12/24/2001 CVS code does not exhibit this problem. It
> looks like the patch between the two versions was pretty significant so
> I am at a little bit of a loss as to where to start looking for the
> problems. Any suggestions would be appreciated, thanks!
>
> Mike McHenry
> Senior Network Engineer
> Origix Corp.
>
>
>
> --
> Unsubscribe
> mailto:rrd-developers-request at list.ee.ethz.ch?subject=unsubscribe
> Help mailto:rrd-developers-request at list.ee.ethz.ch?subject=help
> Archive http://www.ee.ethz.ch/~slist/rrd-developers
> WebAdmin http://www.ee.ethz.ch/~slist/lsg2.cgi
>
>
> --
> Unsubscribe mailto:rrd-developers-request at list.ee.ethz.ch?subject=unsubscribe
> Help mailto:rrd-developers-request at list.ee.ethz.ch?subject=help
> Archive http://www.ee.ethz.ch/~slist/rrd-developers
> WebAdmin http://www.ee.ethz.ch/~slist/lsg2.cgi
>
>
--
______ __ _
/_ __/_ / / (_) Oetiker, ETZ J97, ETH, 8092 Zurich, Switzerland
/ // _ \/ _ \/ / phoneto:+41(0)1-632-5286 faxto:+41(0)1-632-1517
/_/ \.__/_.__/_/ oetiker at ee.ethz.ch http://google.com/search?q=tobi
--
Unsubscribe mailto:rrd-developers-request at list.ee.ethz.ch?subject=unsubscribe
Help mailto:rrd-developers-request at list.ee.ethz.ch?subject=help
Archive http://www.ee.ethz.ch/~slist/rrd-developers
WebAdmin http://www.ee.ethz.ch/~slist/lsg2.cgi
More information about the rrd-developers
mailing list