tag 323725 patch thanks The double free is a bug in rrdtool (#323771), but even if it's fixed, rrdtool still barfs:
ERROR: Can only restore version >= 2 (Not 0001). Dump your old rrd using a current rrdtool dump. The attached patch was produced by restoring zero.rrd on a sarge machine and running `TZ=US/Eastern rrdtool dump zero.rrd > zero.xml' on sid. Thanks, Matej
--- netmrg-0.18.2.orig/var/lib/rrd/zero.xml +++ netmrg-0.18.2/var/lib/rrd/zero.xml @@ -1,6 +1,6 @@ <!-- Round Robin Database Dump --> <rrd> - <version> 0001 </version> + <version> 0003 </version> <step> 300 </step> <!-- Seconds --> <lastupdate> 1047342541 </lastupdate> <!-- 2003-03-10 19:29:01 EST --> @@ -21,10 +21,17 @@ <rra> <cf> AVERAGE </cf> <pdp_per_row> 1 </pdp_per_row> <!-- 300 seconds --> - <xff> 5.0000000000e-01 </xff> + <params> + <xff> 5.0000000000e-01 </xff> + </params> <cdp_prep> - <ds><value> NaN </value> <unknown_datapoints> 0 </unknown_datapoints></ds> + <ds> + <primary_value> 0.0000000000e+00 </primary_value> + <secondary_value> 0.0000000000e+00 </secondary_value> + <value> NaN </value> + <unknown_datapoints> 0 </unknown_datapoints> + </ds> </cdp_prep> <database> <!-- 2003-03-08 17:30:00 EST / 1047162600 --> <row><v> 0.0000000000e+00 </v></row> @@ -632,10 +639,17 @@ <rra> <cf> AVERAGE </cf> <pdp_per_row> 6 </pdp_per_row> <!-- 1800 seconds --> - <xff> 5.0000000000e-01 </xff> + <params> + <xff> 5.0000000000e-01 </xff> + </params> <cdp_prep> - <ds><value> 0.0000000000e+00 </value> <unknown_datapoints> 0 </unknown_datapoints></ds> + <ds> + <primary_value> 0.0000000000e+00 </primary_value> + <secondary_value> 0.0000000000e+00 </secondary_value> + <value> 0.0000000000e+00 </value> + <unknown_datapoints> 0 </unknown_datapoints> + </ds> </cdp_prep> <database> <!-- 2003-02-24 05:30:00 EST / 1046082600 --> <row><v> NaN </v></row> @@ -1343,10 +1357,17 @@ <rra> <cf> AVERAGE </cf> <pdp_per_row> 24 </pdp_per_row> <!-- 7200 seconds --> - <xff> 5.0000000000e-01 </xff> + <params> + <xff> 5.0000000000e-01 </xff> + </params> <cdp_prep> - <ds><value> 0.0000000000e+00 </value> <unknown_datapoints> 0 </unknown_datapoints></ds> + <ds> + <primary_value> 0.0000000000e+00 </primary_value> + <secondary_value> 0.0000000000e+00 </secondary_value> + <value> 0.0000000000e+00 </value> + <unknown_datapoints> 0 </unknown_datapoints> + </ds> </cdp_prep> <database> <!-- 2003-01-05 07:00:00 EST / 1041768000 --> <row><v> NaN </v></row> @@ -2129,10 +2150,17 @@ <rra> <cf> AVERAGE </cf> <pdp_per_row> 288 </pdp_per_row> <!-- 86400 seconds --> - <xff> 5.0000000000e-01 </xff> + <params> + <xff> 5.0000000000e-01 </xff> + </params> <cdp_prep> - <ds><value> 0.0000000000e+00 </value> <unknown_datapoints> 0 </unknown_datapoints></ds> + <ds> + <primary_value> 0.0000000000e+00 </primary_value> + <secondary_value> 0.0000000000e+00 </secondary_value> + <value> 0.0000000000e+00 </value> + <unknown_datapoints> 0 </unknown_datapoints> + </ds> </cdp_prep> <database> <!-- 2001-01-03 19:00:00 EST / 978566400 --> <row><v> NaN </v></row> @@ -2937,10 +2965,17 @@ <rra> <cf> LAST </cf> <pdp_per_row> 1 </pdp_per_row> <!-- 300 seconds --> - <xff> 5.0000000000e-01 </xff> + <params> + <xff> 5.0000000000e-01 </xff> + </params> <cdp_prep> - <ds><value> NaN </value> <unknown_datapoints> 0 </unknown_datapoints></ds> + <ds> + <primary_value> 0.0000000000e+00 </primary_value> + <secondary_value> 0.0000000000e+00 </secondary_value> + <value> NaN </value> + <unknown_datapoints> 0 </unknown_datapoints> + </ds> </cdp_prep> <database> <!-- 2003-03-08 17:30:00 EST / 1047162600 --> <row><v> 0.0000000000e+00 </v></row> @@ -3548,10 +3583,17 @@ <rra> <cf> LAST </cf> <pdp_per_row> 6 </pdp_per_row> <!-- 1800 seconds --> - <xff> 5.0000000000e-01 </xff> + <params> + <xff> 5.0000000000e-01 </xff> + </params> <cdp_prep> - <ds><value> 0.0000000000e+00 </value> <unknown_datapoints> 0 </unknown_datapoints></ds> + <ds> + <primary_value> 0.0000000000e+00 </primary_value> + <secondary_value> 0.0000000000e+00 </secondary_value> + <value> 0.0000000000e+00 </value> + <unknown_datapoints> 0 </unknown_datapoints> + </ds> </cdp_prep> <database> <!-- 2003-02-24 05:30:00 EST / 1046082600 --> <row><v> NaN </v></row> @@ -4259,10 +4301,17 @@ <rra> <cf> LAST </cf> <pdp_per_row> 24 </pdp_per_row> <!-- 7200 seconds --> - <xff> 5.0000000000e-01 </xff> + <params> + <xff> 5.0000000000e-01 </xff> + </params> <cdp_prep> - <ds><value> 0.0000000000e+00 </value> <unknown_datapoints> 0 </unknown_datapoints></ds> + <ds> + <primary_value> 0.0000000000e+00 </primary_value> + <secondary_value> 0.0000000000e+00 </secondary_value> + <value> 0.0000000000e+00 </value> + <unknown_datapoints> 0 </unknown_datapoints> + </ds> </cdp_prep> <database> <!-- 2003-01-05 07:00:00 EST / 1041768000 --> <row><v> NaN </v></row> @@ -5045,10 +5094,17 @@ <rra> <cf> LAST </cf> <pdp_per_row> 288 </pdp_per_row> <!-- 86400 seconds --> - <xff> 5.0000000000e-01 </xff> + <params> + <xff> 5.0000000000e-01 </xff> + </params> <cdp_prep> - <ds><value> 0.0000000000e+00 </value> <unknown_datapoints> 0 </unknown_datapoints></ds> + <ds> + <primary_value> 0.0000000000e+00 </primary_value> + <secondary_value> 0.0000000000e+00 </secondary_value> + <value> 0.0000000000e+00 </value> + <unknown_datapoints> 0 </unknown_datapoints> + </ds> </cdp_prep> <database> <!-- 2001-01-03 19:00:00 EST / 978566400 --> <row><v> NaN </v></row> @@ -5853,10 +5909,17 @@ <rra> <cf> MAX </cf> <pdp_per_row> 1 </pdp_per_row> <!-- 300 seconds --> - <xff> 5.0000000000e-01 </xff> + <params> + <xff> 5.0000000000e-01 </xff> + </params> <cdp_prep> - <ds><value> NaN </value> <unknown_datapoints> 0 </unknown_datapoints></ds> + <ds> + <primary_value> 0.0000000000e+00 </primary_value> + <secondary_value> 0.0000000000e+00 </secondary_value> + <value> NaN </value> + <unknown_datapoints> 0 </unknown_datapoints> + </ds> </cdp_prep> <database> <!-- 2003-03-08 17:30:00 EST / 1047162600 --> <row><v> 0.0000000000e+00 </v></row> @@ -6464,10 +6527,17 @@ <rra> <cf> MAX </cf> <pdp_per_row> 6 </pdp_per_row> <!-- 1800 seconds --> - <xff> 5.0000000000e-01 </xff> + <params> + <xff> 5.0000000000e-01 </xff> + </params> <cdp_prep> - <ds><value> 0.0000000000e+00 </value> <unknown_datapoints> 0 </unknown_datapoints></ds> + <ds> + <primary_value> 0.0000000000e+00 </primary_value> + <secondary_value> 0.0000000000e+00 </secondary_value> + <value> 0.0000000000e+00 </value> + <unknown_datapoints> 0 </unknown_datapoints> + </ds> </cdp_prep> <database> <!-- 2003-02-24 05:30:00 EST / 1046082600 --> <row><v> NaN </v></row> @@ -7175,10 +7245,17 @@ <rra> <cf> MAX </cf> <pdp_per_row> 24 </pdp_per_row> <!-- 7200 seconds --> - <xff> 5.0000000000e-01 </xff> + <params> + <xff> 5.0000000000e-01 </xff> + </params> <cdp_prep> - <ds><value> 0.0000000000e+00 </value> <unknown_datapoints> 0 </unknown_datapoints></ds> + <ds> + <primary_value> 0.0000000000e+00 </primary_value> + <secondary_value> 0.0000000000e+00 </secondary_value> + <value> 0.0000000000e+00 </value> + <unknown_datapoints> 0 </unknown_datapoints> + </ds> </cdp_prep> <database> <!-- 2003-01-05 07:00:00 EST / 1041768000 --> <row><v> NaN </v></row> @@ -7961,10 +8038,17 @@ <rra> <cf> MAX </cf> <pdp_per_row> 288 </pdp_per_row> <!-- 86400 seconds --> - <xff> 5.0000000000e-01 </xff> + <params> + <xff> 5.0000000000e-01 </xff> + </params> <cdp_prep> - <ds><value> 0.0000000000e+00 </value> <unknown_datapoints> 0 </unknown_datapoints></ds> + <ds> + <primary_value> 0.0000000000e+00 </primary_value> + <secondary_value> 0.0000000000e+00 </secondary_value> + <value> 0.0000000000e+00 </value> + <unknown_datapoints> 0 </unknown_datapoints> + </ds> </cdp_prep> <database> <!-- 2001-01-03 19:00:00 EST / 978566400 --> <row><v> NaN </v></row>