Hi Thomas, Thank you for your reply.
On 4/7/07, Thomas Anders <[EMAIL PROTECTED]> wrote: > Max wrote: > > I can even do a bulk GET on the NET-SNMP-EXTEND-MIB to call extension > > scripts, but only if I do a bulk walk of the OID > > > > .1.3.6.1.4.1.8072.1.3.2.4.1.2 > > > > NET-SNMP-EXTEND-MIB::nsExtendOutLine > > > > Any attempts to call sub OIDs below that point result in > > > > Apr 6 21:56:24 vps287 kernel: snmpd[10550]: segfault at 0000000000000000 > > rip 00002aaaaaadc648 rsp 00007fff7268cb90 error 4 > > Is it limited to a *bulk* walk? Does "snmpwalk ... > .1.3.6.1.4.1.8072.1.3.2.4.1.2" work fine? If so, what's the output? snmpwalk of .1.3.6.1.4.1.8072.1.3.2.4.1.2.2 with just one extend mapping: [EMAIL PROTECTED] bin]# bash !:$ bash test-vps287 enterprises.netSnmp.netSnmpObjects.nsExtensions.2.4.1.2.1.65.1 = STRING: "apache:20 mysql:1 named:0 nobody:0 other:6 postgres:0 root:57" Interesting, with 5.5 dev I can do a walk or get for the above OID and all works well: snmpget -v 3 -l authNoPriv -a MD5 -t 30 -Ou -A XXXXXXXXXX -u YYYYYYYY vps287.nnn.nnn .1.3.6.1.4.1.8072.1.3.2.4.1.2.1.65.1 enterprises.netSnmp.netSnmpObjects.nsExtensions.2.4.1.2.1.65.1 = STRING: "apache:20 mysql:1 named:0 nobody:0 other:6 postgres:0 root:56" snmpwalk -v 3 -l authNoPriv -a MD5 -t 30 -Ou -A XXXXXXXXXX -u YYYYYYYY vps287.nnn.nnn .1.3.6.1.4.1.8072.1.3.2.4.1.2.1.65.1 enterprises.netSnmp.netSnmpObjects.nsExtensions.2.4.1.2.1.65.1 = STRING: "apache:20 mysql:1 named:0 nobody:0 other:6 postgres:0 root:56" snmpwalk of .1.3.6.1.4.1.8072.1.3.2.4.1.2.2 produces similar results: On NNM: snmpwalk -v 3 -l authNoPriv -a MD5 -t 30 -Ou -A XXXXXXXXXX -u YYYYYYYY vps287.nnn.nnn .1.3.6.1.4.1.8072.1.3.2.4.1.2.1 On managed node: Apr 7 08:45:29 vps287 kernel: snmpd[23307]: segfault at 0000000000000000 rip 00002aaaaaadc6b8 rsp 00007fff59646bb0 error 4 > Can you narrow it down to a single script that's triggering the segfault? Any attempt to call any script produces this behaviour. I have a set of 14 small shell/perl scripts that I have been using over the last 2-3 years with Net-SNMP and SNMP v3. I tried commenting out all but one and restarting the agent calling each, one at time per run; same result for each case. The scripts are mostly very simple, for example, the one that produces the above output: #!/usr/bin/perl use strict; require "/usr/local/share/ww-snmp/esf-lib.pl"; if ($ARGV[0] eq "--snmp-conf") { output_oid_conf('/usr/local/share/ww-snmp/bin/s40-procs-by-user.pl', '1.3.6.1.4.1.2021.8.40'); exit(0); } open(my $ps, '/bin/ps -e -x -a -h -o %u 2>/dev/null |') || die "Can't read from ps: $!"; my %users = qw( root 0 mysql 0 postgres 0 nobody 0 apache 0 named 0 ); while (<$ps>) { chomp($_); my $user = $_; if (exists $users{$user}) { $users{$user}++; } else { $users{'other'}++; } } close($ps); print join(' ', map { "$_:$users{$_}"; } (sort keys %users)); exit 0; Ok, checked out the latest Net-SNMP code: svn co https://net-snmp.svn.sourceforge.net/svnroot/net-snmp/trunk/net-snmp here is my configure line: ./configure --with-mibs="NET-SNMP-EXTEND-MIB:UCD-SNMP-MIB" \ --with-mib-modules="ucd-snmp/extensible agent/extend" \ --with-defaults \ --enable-ucd-snmp-compatibility \ --with-persistent-directory=/var/net-snmp \ --with-logfile=/var/log/snmp.log \ --enable-shared \ --disable-embedded-perl \ --enable-mfd-rewrites > Can you try running the agent (5.4 or current SVN, preferrably) under a > debugger > and get us a backtrace, please? See > > http://www.net-snmp.org/wiki/index.php/Debugger Backtrace below. Thank you again for the help, Max (gdb) run -f -Lo -c /usr/local/etc/snmp/snmpd.conf Starting program: /usr/local/sbin/snmpd -f -Lo -c /usr/local/etc/snmp/snmpd.conf [Thread debugging using libthread_db enabled] [New Thread 46912507070080 (LWP 22226)] duplicate table data attempted to be entered. row exists NET-SNMP version 5.5.dev Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 46912507070080 (LWP 22226)] 0x00002aaaaaadc6b8 in handle_nsExtendOutput2Table ( handler=<value optimized out>, reginfo=<value optimized out>, reqinfo=0x7d2d00, requests=<value optimized out>) at agent/extend.c:1289 1289 if ( extension->numlines > line_idx ) (gdb) bt #0 0x00002aaaaaadc6b8 in handle_nsExtendOutput2Table ( handler=<value optimized out>, reginfo=<value optimized out>, reqinfo=0x7d2d00, requests=<value optimized out>) at agent/extend.c:1289 #1 0x00002aaaaae003ee in netsnmp_call_handler (next_handler=0x612200, reginfo=0x612240, reqinfo=0x7d2d00, requests=0x7cbf80) at agent_handler.c:435 #2 0x00002aaaab03a8ec in table_helper_handler (handler=0x612300, reginfo=0x612240, reqinfo=0x7d2d00, requests=0x7cbf80) at table.c:633 #3 0x00002aaaaae003ee in netsnmp_call_handler (next_handler=0x612300, reginfo=0x612240, reqinfo=0x7d2d00, requests=0x7cbf80) at agent_handler.c:435 #4 0x00002aaaaadf3a1e in handle_var_requests (asp=0x7ca3e0) at snmp_agent.c:2504 #5 0x00002aaaaadf5371 in handle_pdu (asp=0x7ca3e0) at snmp_agent.c:3293 #6 0x00002aaaaadf6018 in netsnmp_handle_request (asp=0x7ca3e0, status=<value optimized out>) at snmp_agent.c:3089 #7 0x00002aaaaadf6be7 in handle_snmp_packet (op=<value optimized out>, session=<value optimized out>, reqid=<value optimized out>, pdu=<value optimized out>, magic=<value optimized out>) at snmp_agent.c:1854 #8 0x00002aaaab27e5bf in _sess_process_packet (sessp=0x71bcb0, sp=0x7cd2f0, isp=0x71bce0, transport=<value optimized out>, opaque=<value optimized out>, olength=<value optimized out>, packetptr=0x800de0 "0\201\213\002\001\0030\021\002\004\033h!\204\002\003", length=142) at snmp_api.c:5370 #9 0x00002aaaab28022d in _sess_read (sessp=0x71bcb0, fdset=<value optimized out>, fds=<value optimized out>, nfds=<value optimized out>) at snmp_api.c:5840 #10 0x00002aaaab280dad in snmp_sess_read (sessp=0x8123d0, fdset=0x7cfb20) at snmp_api.c:5857 #11 0x00002aaaab280df3 in snmp_read (fdset=0x7fffa53ddb20) at snmp_api.c:5422 #12 0x0000000000404306 in main (argc=<value optimized out>, argv=<value optimized out>) at snmpd.c:1174 ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Net-snmp-coders mailing list Net-snmp-coders@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/net-snmp-coders