auto_nlist failed on cp_time at location 1
Dan Nelson
dnelson at allantgroup.com
Thu Apr 24 15:57:08 UTC 2008
In the last episode (Apr 24), Tim Stoddard said:
> I applied your patch by hand and recompiled/reinstalled net-snmp,
> however I am still seeing the same error just on a different memory
> address now.
>
> Apr 24 10:16:41 shaggy snmpd[73273]: kvm_read(*, 1, 0xbf7fe830, 20) = -1: kvm_read: Bad address
> Apr 24 10:16:41 shaggy snmpd[73273]: auto_nlist failed on cp_time at location 1
> Apr 24 10:16:46 shaggy snmpd[73273]: kvm_read(*, 1, 0xbf7fe830, 20) = -1: kvm_read: Bad address
> Apr 24 10:16:46 shaggy snmpd[73273]: auto_nlist failed on cp_time at location 1
> Apr 24 10:16:51 shaggy snmpd[73273]: kvm_read(*, 1, 0xbf7fe830, 20) = -1: kvm_read: Bad address
> Apr 24 10:16:51 shaggy snmpd[73273]: auto_nlist failed on cp_time at location 1
Hm. It looks like net-snmp has two different pieces of code that both
do the same thing (read CPU and vmstat info). I wonder which OIDs
trigger them on your system? On my system, walking
enterprises.ucdavis.systemStats uses the cpu_nlist.c code. Here's a
patch for the other file (vmstat_freebsd2.c); it's not even compiled on
my 7-stable system, so I can't verify that it's correct. I'm not sure
why my first patch didn't apply; I attached it straight out of my
net-snmp/files/ directory.
--
Dan Nelson
dnelson at allantgroup.com
-------------- next part --------------
--- agent/mibgroup/ucd-snmp/vmstat_freebsd2.c 2008-04-24 10:25:59.834152091 -0500
+++ agent/mibgroup/ucd-snmp/vmstat_freebsd2.c 2008-04-24 10:25:59.834152091 -0500
@@ -189,13 +189,15 @@
* Update structures (only if time has passed)
*/
if (time_new != time_old) {
+ int size;
time_diff = time_new - time_old;
time_old = time_new;
/*
* CPU usage
*/
- auto_nlist(CPTIME_SYMBOL, (char *) cpu_new, sizeof(cpu_new));
+ size = sizeof(cpu_new);
+ sysctlbyname("kern.cp_time", &cpu_new, &size, NULL, 0);
cpu_total = 0;
More information about the freebsd-stable
mailing list