Bug 807830

Summary: smokeping produces errors about perl SNMP subroutines being redefined
Product: [Fedora] Fedora Reporter: Allen Hewes <allen>
Component: smokepingAssignee: Terje Røsten <terje.rosten>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: unspecified    
Version: 16CC: tcallawa, terje.rosten
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-10-14 21:17:07 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Allen Hewes 2012-03-28 20:37:03 UTC
Description of problem:
when starting smokeping via the command line with:

$ sudo smokeping --nodaemon

I see this:

Subroutine SNMP_Session::pack_sockaddr_in6 redefined at /usr/share/perl5/Exporter.pm line 67.
 at /usr/share/perl5/vendor_perl/SNMP_Session.pm line 149
Subroutine SNMP_Session::unpack_sockaddr_in6 redefined at /usr/share/perl5/Exporter.pm line 67.
 at /usr/share/perl5/vendor_perl/SNMP_Session.pm line 149
Subroutine SNMP_Session::sockaddr_in6 redefined at /usr/share/perl5/Exporter.pm line 67.
 at /usr/share/perl5/vendor_perl/SNMP_Session.pm line 149
Subroutine SNMPv1_Session::pack_sockaddr_in6 redefined at /usr/share/perl5/Exporter.pm line 67.
 at /usr/share/perl5/vendor_perl/SNMP_Session.pm line 604
Subroutine SNMPv1_Session::unpack_sockaddr_in6 redefined at /usr/share/perl5/Exporter.pm line 67.
 at /usr/share/perl5/vendor_perl/SNMP_Session.pm line 604
Subroutine SNMPv1_Session::sockaddr_in6 redefined at /usr/share/perl5/Exporter.pm line 67.
 at /usr/share/perl5/vendor_perl/SNMP_Session.pm line 604
Smokeping version 2.004002 successfully launched.
Not entering multiprocess mode for just a single probe.
FPing: probing 3 targets with step 300 s and offset 215 s.


Version-Release number of selected component (if applicable):

smokeping-2.4.2-16.fc16.noarch

$ sudo rpm -qf /usr/share/perl5/Exporter.pm
perl-5.14.2-197.fc16.x86_64

$ sudo rpm -qf /usr/share/perl5/vendor_perl/SNMP_Session.pm
perl-SNMP_Session-1.12-8.fc16.noarch


How reproducible:
100% of the time


Steps to Reproduce:
1. start smokeping via the command line
--or--
2. start smokeping via systemd
  
Actual results:
$ sudo smokeping --nodaemon
Subroutine SNMP_Session::pack_sockaddr_in6 redefined at /usr/share/perl5/Exporter.pm line 67.
 at /usr/share/perl5/vendor_perl/SNMP_Session.pm line 149
Subroutine SNMP_Session::unpack_sockaddr_in6 redefined at /usr/share/perl5/Exporter.pm line 67.
 at /usr/share/perl5/vendor_perl/SNMP_Session.pm line 149
Subroutine SNMP_Session::sockaddr_in6 redefined at /usr/share/perl5/Exporter.pm line 67.
 at /usr/share/perl5/vendor_perl/SNMP_Session.pm line 149
Subroutine SNMPv1_Session::pack_sockaddr_in6 redefined at /usr/share/perl5/Exporter.pm line 67.
 at /usr/share/perl5/vendor_perl/SNMP_Session.pm line 604
Subroutine SNMPv1_Session::unpack_sockaddr_in6 redefined at /usr/share/perl5/Exporter.pm line 67.
 at /usr/share/perl5/vendor_perl/SNMP_Session.pm line 604
Subroutine SNMPv1_Session::sockaddr_in6 redefined at /usr/share/perl5/Exporter.pm line 67.
 at /usr/share/perl5/vendor_perl/SNMP_Session.pm line 604
Smokeping version 2.004002 successfully launched.
Not entering multiprocess mode for just a single probe.
FPing: probing 3 targets with step 300 s and offset 215 s.


Expected results:
$ sudo smokeping --nodaemon
Smokeping version 2.004002 successfully launched.
Not entering multiprocess mode for just a single probe.
FPing: probing 3 targets with step 300 s and offset 215 s.


Additional info:

Comment 1 Terje Røsten 2012-05-07 17:55:54 UTC
Thanks for your report, on a fully updated Fedora 16 system I am not able to reproduce this error. Do you still get into trouble?

Comment 2 Allen Hewes 2012-07-23 18:48:46 UTC
Sure does;

$ sudo smokeping --nodaemon
Subroutine SNMP_Session::pack_sockaddr_in6 redefined at /usr/share/perl5/Exporter.pm line 67.
 at /usr/share/perl5/vendor_perl/SNMP_Session.pm line 149
Subroutine SNMP_Session::unpack_sockaddr_in6 redefined at /usr/share/perl5/Exporter.pm line 67.
 at /usr/share/perl5/vendor_perl/SNMP_Session.pm line 149
Subroutine SNMP_Session::sockaddr_in6 redefined at /usr/share/perl5/Exporter.pm line 67.
 at /usr/share/perl5/vendor_perl/SNMP_Session.pm line 149
Subroutine SNMPv1_Session::pack_sockaddr_in6 redefined at /usr/share/perl5/Exporter.pm line 67.
 at /usr/share/perl5/vendor_perl/SNMP_Session.pm line 604
Subroutine SNMPv1_Session::unpack_sockaddr_in6 redefined at /usr/share/perl5/Exporter.pm line 67.
 at /usr/share/perl5/vendor_perl/SNMP_Session.pm line 604
Subroutine SNMPv1_Session::sockaddr_in6 redefined at /usr/share/perl5/Exporter.pm line 67.
 at /usr/share/perl5/vendor_perl/SNMP_Session.pm line 604
Smokeping version 2.004002 successfully launched.
Not entering multiprocess mode for just a single probe.
FPing: probing 3 targets with step 300 s and offset 75 s.

Comment 3 Allen Hewes 2012-07-23 18:49:06 UTC
allen@8ball ~
$ sudo rpm -qf /usr/share/perl5/Exporter.pm
perl-5.14.2-198.fc16.x86_64

allen@8ball ~
$ sudo rpm -qf /usr/share/perl5/vendor_perl/SNMP_Session.pm
perl-SNMP_Session-1.12-8.fc16.noarch

allen@8ball ~
$ sudo rpm -qi smokeping
Name        : smokeping
Version     : 2.4.2
Release     : 16.fc16
Architecture: noarch
Install Date: Thu 09 Feb 2012 02:31:01 PM EST
Group       : Applications/Internet
Size        : 2359345
License     : GPLv2+
Signature   : RSA/SHA256, Sun 22 Jan 2012 01:44:59 PM EST, Key ID 067f00b6a82ba4b7
Source RPM  : smokeping-2.4.2-16.fc16.src.rpm
Build Date  : Sun 22 Jan 2012 10:15:52 AM EST
Build Host  : x86-13.phx2.fedoraproject.org
Relocations : (not relocatable)
Packager    : Fedora Project
Vendor      : Fedora Project
URL         : http://oss.oetiker.ch/smokeping/
Summary     : Latency Logging and Graphing System
Description :
SmokePing is a latency logging and graphing system. It consists of a
daemon process which organizes the latency measurements and a CGI
which presents the graphs.

Comment 4 Allen Hewes 2012-07-23 18:49:51 UTC
allen@8ball ~
$ sudo cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=8ball.decisiv.net
LINKDELAY=15
VLAN=no
IPX=no
IPV6INIT=no
IPV6FORWARDING=no

Comment 5 Allen Hewes 2012-07-23 18:52:04 UTC
(packages are sane)
allen@8ball ~
$ sudo rpm -V smokeping perl perl-SNMP_Session

(let's see if I can remove the package which is causing the IPV6 redef error)
allen@8ball ~
$ sudo yum erase perl-SNMP_Session
Loaded plugins: auto-update-debuginfo, downloadonly, fastestmirror, langpacks, presto, protectbase, refresh-packagekit, security
Resolving Dependencies
--> Running transaction check
---> Package perl-SNMP_Session.noarch 0:1.12-8.fc16 will be erased
--> Processing Dependency: perl(BER) for package: mrtg-2.17.2-6.fc16.x86_64
--> Processing Dependency: perl(BER) for package: smokeping-2.4.2-16.fc16.noarch
--> Processing Dependency: perl(SNMP_Session) for package: mrtg-2.17.2-6.fc16.x86_64
--> Processing Dependency: perl(SNMP_Session) for package: smokeping-2.4.2-16.fc16.noarch
--> Processing Dependency: perl(SNMP_util) for package: smokeping-2.4.2-16.fc16.noarch
--> Running transaction check
---> Package mrtg.x86_64 0:2.17.2-6.fc16 will be erased
---> Package smokeping.noarch 0:2.4.2-16.fc16 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================================
 Package                              Arch                      Version                           Repository                   Size
====================================================================================================================================
Removing:
 perl-SNMP_Session                    noarch                    1.12-8.fc16                       @fedora                     247 k
Removing for dependencies:
 mrtg                                 x86_64                    2.17.2-6.fc16                     @updates                    2.4 M
 smokeping                            noarch                    2.4.2-16.fc16                     @updates                    2.3 M

Transaction Summary
====================================================================================================================================
Remove  1 Package (+2 Dependent packages)

Installed size: 4.9 M
Is this ok [y/N]:

Comment 6 Terje Røsten 2012-09-03 18:16:23 UTC
Still not able to reproduce this error. 

Is it related to IPv6?

Might be this issue:
 https://code.google.com/p/snmp-session/issues/detail?id=5

Are you able to test the patch provided there?

Comment 7 Tom "spot" Callaway 2012-09-04 14:45:33 UTC
I can't reproduce this either. Tried on F16-x86_64 and F18-x86_64, neither show this failure:

perl-5.14.2-198.fc16.x86_64
perl-Socket6-0.23-7.fc16.x86_64
perl-SNMP_Session-1.12-8.fc16.noarch
smokeping-2.4.2-16.fc16.noarch

[spot@f16 ~]$ sudo smokeping --nodaemon
Smokeping version 2.004002 successfully launched.
Not entering multiprocess mode for just a single probe.
FPing: probing 3 targets with step 300 s and offset 64 s.

I suspect that you have local files from CPAN which are being used instead of the ones from the RPM... anything in /usr/local/lib64/perl* or /usr/local/share/perl* ?

Comment 8 Allen Hewes 2012-09-04 16:40:15 UTC
Terje,

After applying the patch you cite, I get this;

allen@8ball ~
$ sudo smokeping --nodaemon
Subroutine SNMP_Session::pack_sockaddr_in6 redefined at /usr/share/perl5/Exporter.pm line 67.
 at /usr/share/perl5/vendor_perl/SNMP_Session.pm line 150
Subroutine SNMPv1_Session::pack_sockaddr_in6 redefined at /usr/share/perl5/Exporter.pm line 67.
 at /usr/share/perl5/vendor_perl/SNMP_Session.pm line 606
Smokeping version 2.004002 successfully launched.
Not entering multiprocess mode for just a single probe.
FPing: probing 3 targets with step 300 s and offset 112 s.
^Cgot INT signal, terminating.


I have 3 Fedora 16 x86_64 machines I use regularly, it's happening on all of them. I can provide a complete package list (at 4566 right now) if needed.



Tom,

The only non-RPM based perl doodad I am using is alien:

allen@8ball ~
$ sudo tree /usr/local/lib64/perl5/
/usr/local/lib64/perl5/
└── auto
    └── Alien

2 directories, 0 files

allen@8ball ~
$ sudo tree /usr/local/share/perl5/
/usr/local/share/perl5/
└── Alien
    ├── Package
    │   ├── Deb.pm
    │   ├── Lsb.pm
    │   ├── Pkg.pm
    │   ├── Rpm.pm
    │   ├── Slp.pm
    │   └── Tgz.pm
    └── Package.pm

2 directories, 7 files

Comment 9 Allen Hewes 2012-09-04 16:46:55 UTC
Tom,

Maybe these conditions aren't getting met on your system?


 147     if (eval {local $SIG{__DIE__};require Socket6;} &&
 148        eval {local $SIG{__DIE__};require IO::Socket::INET6; IO::Socket::INET6->VERSION("1.26");}) {
 149         import Socket6;
 150         $ipv6_addr_len = length(pack_sockaddr_in6(161, inet_pton(AF_INET6(), "::1")));
 151         $SNMP_Session::ipv6available = 1;
 152     }


Not sure why they'd get met on mine; I thought that I have completely disabled IPv6.

But it looks like some basic plumbling is still happening;

lo        Link encap:Local Loopback  
          inet6 addr: ::1/128 Scope:Host

p33p1     Link encap:Ethernet  HWaddr C8:60:00:02:16:63  
          inet6 addr: fe80::ca60:ff:fe02:1663/64 Scope:Link

Comment 10 Allen Hewes 2012-10-14 21:16:47 UTC
I recently update from Fedora 16 to Fedora 17 via yum and now it works fine.

$ uname -a
Linux StudioXPS8100.localdomain 3.6.1-1.fc17.x86_64 #1 SMP Wed Oct 10 12:13:05 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux


$ sudo smokeping --nodaemon
Smokeping version 2.006008 successfully launched.
Not entering multiprocess mode for just a single probe.
FPing: probing 3 targets with step 300 s and offset 211 s.
^Cgot INT signal, terminating.
got INT signal, terminating.

$ rpm -qa| grep 'smokeping\-\|perl\-5\|perl\-Socket6\-\|perl\-SNMP_Session' | sort
perl-5.14.2-215.fc17.x86_64
perl-SNMP_Session-1.13-2.fc17.noarch
perl-Socket6-0.23-8.fc17.x86_64
smokeping-2.6.8-1.fc17.noarch