ports/161842: net-mgmt/net-snmp memory leak

Eugene M. Zheganin eugene at zhegan.in
Thu Oct 20 18:30:12 UTC 2011


>Number:         161842
>Category:       ports
>Synopsis:       net-mgmt/net-snmp memory leak
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Oct 20 18:30:12 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Eugene M. Zheganin
>Release:        FreeBSD 8.2-RELEASE
>Organization:
Norma LLC.
>Environment:
FreeBSD elf.hq.norma.perm.ru 8.2-RELEASE FreeBSD 8.2-RELEASE #1: Thu May  5 19:14:23 YEKST 2011     emz at ns.hq.norma.perm.ru:/usr/obj/usr/src/sys/ELF  i386
>Description:
SNMP Version:

# snmpd -v

NET-SNMP version: 5.7
Web: http://www.net-snmp.org/
Email: net-snmp-coders at lists.sourceforge.net

FreeBSD:
# uname -a
FreeBSD ural85-gw0-alpha 8.2-PRERELEASE FreeBSD 8.2-PRERELEASE #0: Sun Feb 6 12:34:52 YEKT 2011 emz at ural85-gw0-alpha:/usr/obj/usr/src/sys/CRYSTAL amd64


After upgrading from 5.5 to 5.7 got a memory leak.
It is stable and reproduceable. The output below shows it:

# /usr/local/etc/rc.d/snmpd restart
Stopping snmpd.
Waiting for PIDS: 73341.
Starting snmpd.

# ps alx | grep -v egrep | egrep 'RSS|snmp'
UID PID PPID CPU PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND
0 73748 1 0 44 0 22860 7144 select S ?? 0:00,21 /usr/local/sbin/snmpd -p /var/run/snmpd.pid -Ls d
# snmpwalk localhost dskTable
(6 times, output skipped)
# ps alx | grep -v egrep | egrep 'RSS|snmp'
UID PID PPID CPU PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND
0 73748 1 0 44 0 26956 10756 select S ?? 0:00,50 /usr/local/sbin/snmpd -p /var/run/snmpd.pid -Ls d
# snmpwalk localhost dskTable
(6 times, output skipped)
# ps alx | grep -v egrep | egrep 'RSS|snmp'
UID PID PPID CPU PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND
0 73748 1 0 44 0 29004 14232 select S ?? 0:00,62 /usr/local/sbin/snmpd -p /var/run/snmpd.pid -Ls d
# snmpwalk localhost dskTable
(6 times, output skipped)
# ps alx | grep -v egrep | egrep 'RSS|snmp'
UID PID PPID CPU PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND
0 73748 1 0 44 0 33100 17804 select S ?? 0:00,80 /usr/local/sbin/snmpd -p /var/run/snmpd.pid -Ls d
# snmpwalk localhost dskTable
(6 times, output skipped)
# ps alx | grep -v egrep | egrep 'RSS|snmp'
UID PID PPID CPU PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND
0 73748 1 0 44 0 37196 21352 select S ?? 0:00,95 /usr/local/sbin/snmpd -p /var/run/snmpd.pid -Ls d
# snmpwalk localhost dskTable
(6 times, output skipped)
# ps alx | grep -v egrep | egrep 'RSS|snmp'
UID PID PPID CPU PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND
0 73748 1 0 44 0 41292 24908 select S ?? 0:01,09 /usr/local/sbin/snmpd -p /var/run/snmpd.pid -Ls d
# snmpwalk localhost dskTable
(6 times, output skipped)
# ps alx | grep -v egrep | egrep 'RSS|snmp'
UID PID PPID CPU PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND
0 73748 1 0 44 0 43340 28440 select S ?? 0:01,25 /usr/local/sbin/snmpd -p /var/run/snmpd.pid -Ls d
# snmpwalk localhost dskTable
(6 times, output skipped)
# ps alx | grep -v egrep | egrep 'RSS|snmp'
UID PID PPID CPU PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND
0 73748 1 0 44 0 47436 31936 select S ?? 0:01,39 /usr/local/sbin/snmpd -p /var/run/snmpd.pid -Ls d
(quite some time after doing snmpwalks)
# ps alx | grep -v egrep | egrep 'RSS|snmp'
UID PID PPID CPU PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND
0 73748 1 0 45 0 90444 75092 select S ?? 0:02,06 /usr/local/sbin/snmpd -p /var/run/snmpd.pid -Ls d

This can last forever, until the server memory is exausted.
>How-To-Repeat:
Get FreeBSD, install net-snmp port.
>Fix:
Fallback to 5.5.

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list