perl and getnext

"Meregalli Massimo" <[email protected]>
Newsgroups gmane.network.net-snmp.user
Message-ID <[email protected]>
Hi,
	I'm having a strange problem with an application I developed in
perl to do network inventory.
	The application worked fine with perl 5.8.8 and net-snmp version
5.2.1. I'm using a fedora core 5.

	When I ported the application on a fedora core 6 with perl 5.8.8
and net-snmp version 5.3.1 the perl process crashes.

	I tryed to update net-snmp to version 5.4 but the problem
remain.

	The problem seems to be related to the getnext call because
after some debugging I found that the following code 
	(extracted from the application) expose the syntom (but does not
crashes).

The error produced...
------------------------------
Did not find 'sysUpTime' in module SNMPv2-MIB
(/usr/share/snmp/mibs/DISMAN-EVENT-MIB.txt)
Unlinked OID in DISMAN-EVENT-MIB: sysUpTimeInstance ::= { sysUpTime 0 }
Undefined identifier: sysUpTime near line 568 of
/usr/share/snmp/mibs/DISMAN-EVENT-MIB.txt
Cannot find module (1): At line 1 in (none)
Cannot find module (1): At line 1 in (none) 
netsnmp_assert pss->s_snmp_errno != (-11) failed snmp_api.c:3124
snmp_build()
----------------------------

... and the code that produce the error.
----------------------------
use SNMP ;

my      $lSnmp ;

openSNMP () ;
getPortsInfo () ;

sub openSNMP {

        $lSnmp = new SNMP::Session (
                DestHost        => <ip address of a cisco switch>,
                Community       => <community>,
                Version         => 1,
                Retries         => 3,
                Timeout         => 2000000
                                                ) ;

        if (!defined ($lSnmp)) {
                return 0 ;
        } else {
                return 1 ;
        }
}

sub getPortsInfo {

        my      $lVars ;
        my      $lIdx ;

        $lSnmp->{UseSprintValue} = 1 ;

        $lVars = new SNMP::VarList (['IF-MIB::ifName'],
                                    ['IF-MIB::ifSpeed'],
                                    ['IF-MIB::ifConnectorPresent'],
                                    ['RFC1213-MIB::ifAdminStatus'],
                                    ['RFC1213-MIB::ifOperStatus']
 
) ;

        $lSnmp->getnext ($lVars) ;

        while (!$lSnmp->{ErrorStr} and $$lVars[0]->tag =~ /ifName/) {

		... do some stuff

        } continue {
                $lSnmp->getnext ($lVars) ;
        }

        $lSnmp->{UseSprintValue} = 0 ;
}

----------


The application on the fedora core 6 crashed with the following
messages...

Did not find 'sysUpTime' in module SNMPv2-MIB
(/usr/share/snmp/mibs/DISMAN-EVENT-MIB.txt)
Unlinked OID in DISMAN-EVENT-MIB: sysUpTimeInstance ::= { sysUpTime 0 }
Undefined identifier: sysUpTime near line 568 of
/usr/share/snmp/mibs/DISMAN-EVENT-MIB.txt
Cannot find module (1): At line 1 in (none)
Cannot find module (1): At line 1 in (none) 
netsnmp_assert pss->s_snmp_errno != (-11) failed snmp_api.c:3124
snmp_build()
Unlinked OID in FDDI-SMT73-MIB: fddi ::= { transmission 15 }
Undefined identifier: transmission near line 18 of
/usr/share/snmp/mibs/Cisco/FDDI-SMT73-MIB.mib
Did not find 'fddimibPORTSMTIndex' in module FDDI-SMT73-MIB
(/usr/share/snmp/mibs/Cisco/CISCO-STACK-MIB.my)
Did not find 'fddimibPORTIndex' in module FDDI-SMT73-MIB
(/usr/share/snmp/mibs/Cisco/CISCO-STACK-MIB.my)
Cannot find module (1): At line 1 in (none)
*** glibc detected *** netmap2.pl  dmz: Loading hosts/addresses: free():
invalid next size (normal): 0x09b09f10 *** 
======= Backtrace: ========= 
/lib/libc.so.6[0x4c19109d] /lib/libc.so.6(cfree+0x90)[0x4c1946f0]
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so(Perl_safesy
sfree+0x21)[0x4c31cbe1]
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/SNMP/SNMP.
so(XS_SNMP__getnext+0x2d8)[0x8d3128]
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so(Perl_pp_ent
ersub+0x40d)[0x4c33251d]
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so(Perl_runops
_standard+0x1f)[0x4c32b97f]
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so(perl_run+0x
2ee)[0x4c2d11ce]
netmap2.pl  dmz: Loading hosts/addresses(main+0x13e)[0x80491ee]
/lib/libc.so.6(__libc_start_main+0xdc)[0x4c140f2c]
netmap2.pl  dmz: Loading hosts/addresses[0x8049021] 
======= Memory map: ========
00110000-00122000 r-xp 00000000 fd:01 920207     /usr/lib/libz.so.1.2.3
00122000-00123000 rwxp 00011000 fd:01 920207     /usr/lib/libz.so.1.2.3
00123000-0012c000 r-xp 00000000 fd:01 1015833
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/List/Util/Util.so
0012c000-0012d000 rwxp 00008000 fd:01 1015833
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/List/Util/Util.so
0012d000-00136000 r-xp 00000000 fd:00 229417
/lib/libnss_files-2.5.so
00136000-00137000 r-xp 00008000 fd:00 229417
/lib/libnss_files-2.5.so
00137000-00138000 rwxp 00009000 fd:00 229417
/lib/libnss_files-2.5.so
00138000-00157000 r-xp 00000000 fd:01 920038     /usr/lib/libpq.so.4.1
00157000-00158000 rwxp 0001f000 fd:01 920038     /usr/lib/libpq.so.4.1
00190000-001ac000 r-xp 00000000 fd:01 1018946
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/DBI/DBI.so
001ac000-001ad000 rwxp 0001c000 fd:01 1018946
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/DBI/DBI.so
001b5000-001b9000 r-xp 00000000 fd:01 1015827
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/IO/IO.so
001b9000-001ba000 rwxp 00003000 fd:01 1015827
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/IO/IO.so
001dd000-001e2000 r-xp 00000000 fd:01 1016002
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/Socket/Socket.so
001e2000-001e3000 rwxp 00004000 fd:01 1016002
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/Socket/Socket.so
00295000-00299000 r-xp 00000000 fd:01 1016032
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/Sys/Syslog/Syslog.so
00299000-0029a000 rwxp 00003000 fd:01 1016032
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/Sys/Syslog/Syslog.so
003d0000-003ec000 r-xp 00000000 fd:01 1015840
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/POSIX/POSIX.so
003ec000-003ed000 rwxp 0001b000 fd:01 1015840
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/POSIX/POSIX.so
00495000-0049c000 r-xp 00000000 fd:01 1179892
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/NetSNMP/de
fault_store/default_store.so
0049c000-0049d000 rwxp 00006000 fd:01 1179892
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/NetSNMP/de
fault_store/default_store.so
004d8000-004d9000 r-xp 004d8000 00:00 0          [vdso]
004d9000-007b6000 r-xp 00000000 fd:00 231329
/lib/libnss_ldap-2.4.90.so
007b6000-007ce000 rwxp 002dc000 fd:00 231329
/lib/libnss_ldap-2.4.90.so
007ce000-007dc000 rwxp 007ce000 00:00 0
008bc000-008df000 r-xp 00000000 fd:01 1179893
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/SNMP/SNMP.
so
008df000-008e0000 rwxp 00022000 fd:01 1179893
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/SNMP/SNMP.
so
0092a000-00931000 r-xp 00000000 fd:01 922400
/usr/lib/libwrap.so.0.7.6
00931000-00932000 rwxp 00007000 fd:01 922400
/usr/lib/libwrap.so.0.7.6
00934000-009cb000 r-xp 00000000 fd:01 922399
/usr/lib/libnetsnmp.so.10.0.1
009cb000-009cd000 rwxp 00097000 fd:01 922399
/usr/lib/libnetsnmp.so.10.0.1
009cd000-009ec000 rwxp 009cd000 00:00 0
00b0c000-00b10000 r-xp 00000000 fd:00 229415     /lib/libnss_dns-2.5.so
00b10000-00b11000 r-xp 00003000 fd:00 229415     /lib/libnss_dns-2.5.so
00b11000-00b12000 rwxp 00004000 fd:00 229415     /lib/libnss_dns-2.5.so
00bc9000-00bd0000 r-xp 00000000 fd:01 1016816
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/Socket6/So
cket6.so
00bd0000-00bd1000 rwxp 00006000 fd:01 1016816
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/Socket6/So
cket6.so
00d8b000-00d90000 r-xp 00000000 fd:01 1016035
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/Time/HiRes/HiRes.so
00d90000-00d91000 rwxp 00004000 fd:01 1016035
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/Time/HiRes/HiRes.so
00dc9000-00dd1000 r-xp 00000000 fd:01 951620
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/Data/Dumper/Dumper.so
00dd1000-00dd2000 rwxp 00007000 fd:01 951620
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/Data/Dumper/Dumper.so
00df9000-00dfb000 r-xp 00000000 fd:01 1016873
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/Net/DNS/DN
S.so
00dfb000-00dfc000 rwxp 00001000 fd:01 1016873
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/Net/DNS/DN
S.so
00e12000-00e17000 r-xp 00000000 fd:01 1179883
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/NetSNMP/OI
D/OID.so
00e17000-00e18000 rwxp 00005000 fd:01 1179883
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/NetSNMP/OI
D/OID.so
00e18000-00e19000 rwxp 00e18000 00:00 0
00e56000-00e59000 r-xp 00000000 fd:01 1015812
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/Fcntl/Fcntl.so
00e59000-00e5a000 rwxp 00002000 fd:01 1015812
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/Fcntl/Fcntl.so
00eb1000-00ed3000 r-xp 00000000 fd:01 1179926
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/DBD/Pg/Pg.
so
00ed3000-00ed4000 rwxp 00022000 fd:01 1179926
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/DBD/Pg/Pg.
so
08048000-0804b000 r-xp 00000000 fd:01 1671310    /usr/bin/perl
0804b000-0804c000 rwxp 00002000 fd:01 1671310    /usr/bin/perl
090f3000-09b45000 rwxp 090f3000 00:00 0
4c10e000-4c127000 r-xp 00000000 fd:00 229379     /lib/ld-2.5.so
4c127000-4c128000 r-xp 00018000 fd:00 229379     /lib/ld-2.5.so
4c128000-4c129000 rwxp 00019000 fd:00 229379     /lib/ld-2.5.so
4c12b000-4c262000 r-xp 00000000 fd:00 229416     /lib/libc-2.5.so
4c262000-4c264000 r-xp 00137000 fd:00 229416     /lib/libc-2.5.so
4c264000-4c265000 rwxp 00139000 fd:00 229416     /lib/libc-2.5.so
4c265000-4c268000 rwxp 4c265000 00:00 0
4c26a000-4c28f000 r-xp 00000000 fd:00 229589     /lib/libm-2.5.so
4c28f000-4c290000 r-xp 00024000 fd:00 229589     /lib/libm-2.5.so
4c290000-4c291000 rwxp 00025000 fd:00 229589     /lib/libm-2.5.so
4c293000-4c295000 r-xp 00000000 fd:00 229434     /lib/libdl-2.5.so
4c295000-4c296000 r-xp 00001000 fd:00 229434     /lib/libdl-2.5.so
4c296000-4c297000 rwxp 00002000 fd:00 229434     /lib/libdl-2.5.so
4c2aa000-4c3d4000 r-xp 00000000 fd:01 951722
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so
4c3d4000-4c3d9000 rwxp 0012a000 fd:01 951722
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so
4c3d9000-4c3db000 rwxp 4c3d9000 00:00 0
4c4a0000-4c4b3000 r-xp 00000000 fd:00 229574     /lib/libpthread-2.5.so
4c4b3000-4c4b4000 r-xp 00012000 fd:00 229574     /lib/libpthread-2.5.so
4c4b4000-4c4b5000 rwxp 00013000 fd:00 229574     /lib/libpthread-2.5.so
4c4b5000-4c4b7000 rwxp 4c4b5000 00:00 0
4cbb1000-4cbc0000 r-xp 00000000 fd:00 229618     /lib/libresolv-2.5.so
4cbc0000-4cbc1000 r-xp 0000e000 fd:00 229618     /lib/libresolv-2.5.so
4cbc1000-4cbc2000 rwxp 0000f000 fd:00 229618     /lib/libresolv-2.5.so
4cbc2000-4cbc4000 rwxp 4cbc2000 00:00 0
4cbc6000-4cce2000 r-xp 00000000 fd:00 229635
/lib/libcrypto.so.0.9.8b
4cce2000-4ccf4000 rwxp 0011c000 fd:00 229635
/lib/libcrypto.so.0.9.8b
4ccf4000-4ccf8000 rwxp 4ccf4000 00:00 0
4ccfa000-4cd0d000 r-xp 00000000 fd:00 229617     /lib/libnsl-2.5.so
4cd0d000-4cd0e000 r-xp 00012000 fd:00 229617     /lib/libnsl-2.5.so
4cd0e000-4cd0f000 rwxp 00013000 fd:00 229617     /lib/libnsl-2.5.so
4cd0f000-4cd11000 rwxp 4cd0f000 00:00 0
4cd1e000-4cd20000 r-xp 00000000 fd:00 229629     /lib/libcom_err.so.2.1
4cd20000-4cd21000 rwxp 00001000 fd:00 229629     /lib/libcom_err.so.2.1
4cd23000-4cd4d000 r-xp 00000000 fd:01 920915
/usr/lib/libgssapi_krb5.so.2.2
4cd4d000-4cd4e000 rwxp 00029000 fd:01 920915
/usr/lib/libgssapi_krb5.so.2.2
4cd50000-4cd75000 r-xp 00000000 fd:01 920911
/usr/lib/libk5crypto.so.3.0
4cd75000-4cd76000 rwxp 00025000 fd:01 920911
/usr/lib/libk5crypto.so.3.0
4cd78000-4cd7f000 r-xp 00000000 fd:01 920909
/usr/lib/libkrb5support.so.0.1
4cd7f000-4cd80000 rwxp 00006000 fd:01 920909
/usr/lib/libkrb5support.so.0.1
4cd82000-4ce08000 r-xp 00000000 fd:01 920913     /usr/lib/libkrb5.so.3.2
4ce08000-4ce0a000 rwxp 00086000 fd:01 920913     /usr/lib/libkrb5.so.3.2
4ce0c000-4ce4d000 r-xp 00000000 fd:00 230223     /lib/libssl.so.0.9.8b
4ce4d000-4ce51000 rwxp 00040000 fd:00 230223     /lib/libssl.so.0.9.8b
4d01b000-4d026000 r-xp 00000000 fd:00 230231
/lib/libgcc_s-4.1.1-20070105.so.1
4d026000-4d027000 rwxp 0000a000 fd:00 230231
/lib/libgcc_s-4.1.1-20070105.so.1
4d32f000-4d331000 r-xp 00000000 fd:00 230226     /lib/libutil-2.5.so
4d331000-4d332000 r-xp 00001000 fd:00 230226     /lib/libutil-2.5.so
4d332000-4d333000 rwxp 00002000 fd:00 230226     /lib/libutil-2.5.so
4d573000-4d578000 r-xp 00000000 fd:00 229580     /lib/libcrypt-2.5.so
4d578000-4d579000 r-xp 00004000 fd:00 229580     /lib/libcrypt-2.5.so
4d579000-4d57a000 rwxp 00005000 fd:00 229580     /lib/libcrypt-2.5.so
4d57a000-4d5a1000 rwxp 4d57a000 00:00 0
b7c00000-b7c21000 rw-p b7c00000 00:00 0
b7c21000-b7d00000 ---p b7c21000 00:00 0
b7d25000-b7d46000 rw-p b7d25000 00:00 0
b7d46000-b7f46000 r--p 00000000 fd:01 921160
/usr/lib/locale/locale-archive
b7f46000-b7f49000 rw-p b7f46000 00:00 0
b7f59000-b7f5a000 rw-p b7f59000 00:00 0
bfe46000-bfe5b000 rw-p bfe46000 00:00 0          [stack]
Aborted


Am I doing something wrong ?

Thanks

maxmere

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

_______________________________________________
Net-snmp-users mailing list
[email protected]
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.