Package: munin-node Version: 2.0.6-1 Severity: normal Tags: patch Dear Maintainer,
after upgrading from squeeze[0] to wheezy I noticed the iostat_ios graphs
are empty.
The error messages in node-log were helpful:
2012/09/23-16:05:10 [12979] Error output from iostat_ios:
2012/09/23-16:05:10 [12979] Byte order is not compatible at
/usr/lib/perl/5.14/Storable.pm line 379, at /etc/munin/plugins/iostat_ios line
216
2012/09/23-16:05:10 [12979] Service 'iostat_ios' exited with status 25/0.
Problem: The storable format went through an obviously incompatible
change between squeeze (Perl 5.10) and wheezy (Perl 5.14), at least on
i386 (not on amd64, though).
How to repeat:
On i386, for both squeeze and wheezy, run
$ perl -e 'use Storable qw(store); store ({}, "$^V.storable")'
then
$ perl -e 'use Storable qw(retrieve); print "$^V\n"; foreach (@ARGV) { print
"$_\n"; eval { retrieve ($_) } or print "FAIL: $@" }' *.storable
Output for squeeze:
v5.10.1
v5.10.1.storable
v5.14.2.storable
FAIL: Byte order is not compatible at ../../lib/Storable.pm (autosplit into
../../lib/auto/Storable/_retrieve.al) line 380, at -e line 1
Output for wheezy:
v5.14.2
v5.10.1.storable
FAIL: Byte order is not compatible at /usr/lib/perl/5.14/Storable.pm line
379, at -e line 1
v5.14.2.storable
How to fix:
At first, handle "retrieve" failures gracefully:
sub get_state {
my ($R);
return(undef) unless ( -r STATEFILE);
- $R = retrieve( STATEFILE );
+ eval { $R = retrieve( STATEFILE ); };
return($R);
}
And second, please do never use "store" unless you really know what
you're doing and you're willing to suffer from a lot of pain, like
here. Use "nstore" instead. If that plugin would have used nstore in
the first place, the entire upgrade would have been smoothless.
Cheers,
Christoph
[0] More precisely, the upgrade was from a 2.0.6 backport but I doubt
this makes a difference.
-- System Information:
Debian Release: wheezy/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 3.4.11 (SMP w/4 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages munin-node depends on:
ii adduser 3.113+nmu3
ii gawk 1:4.0.1+dfsg-2
ii libnet-server-perl 2.006-1
ii lsb-base 4.1+Debian7
ii munin-common 2.0.6-1
ii munin-plugins-core 2.0.6-1
ii perl 5.14.2-13
ii procps 1:3.3.3-2
Versions of packages munin-node recommends:
ii libnet-snmp-perl 6.0.1-2
ii munin-plugins-extra 2.0.6-1
Versions of packages munin-node suggests:
ii ethtool 1:3.4.2-1
ii hdparm 9.39-1+b1
pn libcache-cache-perl <none>
pn libcrypt-ssleay-perl <none>
pn libdbd-mysql-perl <none>
pn libdbd-pg-perl <none>
pn liblwp-useragent-determined-perl <none>
pn libnet-irc-perl <none>
pn libtext-csv-xs-perl <none>
ii libwww-perl 6.04-1
pn libxml-simple-perl <none>
ii lm-sensors 1:3.3.2-2
pn logtail <none>
pn munin <none>
pn munin-plugins-java <none>
pn mysql-client <none>
ii net-tools 1.60-24.2
ii python 2.7.3~rc2-1
pn ruby <none>
ii smartmontools 5.41+svn3365-1
-- no debconf information
signature.asc
Description: Digital signature

