[prev in list] [next in list] [prev in thread] [next in thread] 

List:       net-snmp-bugs
Subject:    [ net-snmp-Bugs-777013 ] SNMP loops over lseek(); read()
From:       "SourceForge.net" <noreply () sourceforge ! net>
Date:       2004-02-25 22:33:10
Message-ID: E1Aw7aY-0003NI-00 () sc8-sf-web3 ! sourceforge ! net
[Download RAW message or body]

Bugs item #777013, was opened at 2003-07-24 11:48
Message generated for change (Comment added) made by slif
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=112694&aid=777013&group_id=12694

Category: agent
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Nobody/Anonymous (nobody)
Summary: SNMP loops over lseek(); read()

Initial Comment:
While snmpwalking or snmpgetting variables the snmp
daemon will suddenly loop thorugh 

lseek(13,0xc9cd5080,0)                           =
-909291392 (0xc9cd5080)
read(0xd,0xbfbfe5a8,0x8)                         = 8 (0x8)

The position of the seek is incremented eight bytes
each time (note the read length). This happens over and
over again. The only code that I found might do this is in

agent/mibgroup/ucd-snmp/proc.c

however adding debugging code (using snmp_log())
doesn&#039;t cause anything to show up in the logs. 

I do not have any proc directives in my snmpd.conf,
therefore I don&#039;t know why sh_count_procs would
suddenly get called. 

When this happens the agent stops replying to requests.
Eventually the normal operating returns. I don&#039;t have a
good idea on the number of lines (I don&#039;t like crashing
production systems by killing disk space that fast) but
it&#039;s in the range of hundreds to thousands of loops
each time it does it. The system does typically run
1400-1500 processes, so..

One run starts 

lseek(5,0xc0436984,0)                            =
-1069323900 (0xc0436984)
read(0x5,0xbfbfe84c,0x4)                         = 4 (0x4)
lseek(5,0xc047cea0,0)                            =
-1069035872 (0xc047cea0)
read(0x5,0xbfbfe848,0x4)                         = 4 (0x4)
lseek(5,0xc0436980,0)                            =
-1069323904 (0xc0436980)
read(0x5,0x80e3080,0x50)                         = 80
(0x50)
lseek(12,0xc0436980,0)                           =
-1069323904 (0xc0436980)
read(0xc,0xbfbfe7a0,0x4)                         = 4 (0x4)
lseek(12,0xc046da20,0)                           =
-1069098464 (0xc046da20)
read(0xc,0xbfbfe7a8,0x14)                        = 20
(0x14)
lseek(12,0xc047ce90,0)                           =
-1069035888 (0xc047ce90)
read(0xc,0xbfbfe744,0x4)                         = 4 (0x4)
lseek(12,0xc98ba2a0,0)                           =
-913595744 (0xc98ba2a0)
read(0xc,0xbfbfe748,0x18)                        = 24
(0x18)
lseek(12,0xc9c81000,0)                           =
-909635584 (0xc9c81000)
read(0xc,0xbfbfe6e8,0x8)                         = 8 (0x8)
lseek(12,0xc9c81008,0)                           =
-909635576 (0xc9c81008)
read(0xc,0xbfbfe688,0x8)                         = 8 (0x8)


and ends

 lseek(12,0xc9d09878,0)                           =
-909076360 (0xc9d09878)
read(0xc,0xbfbfe568,0x8)                         = 8 (0x8)
lseek(12,0xc9d09880,0)                           =
-909076352 (0xc9d09880)
read(0xc,0xbfbfe568,0x8)                         = 8 (0x8)


partial lsof output shows

snmpd   84473 root    0u  VCHR        5,0  0t6122595  
 8396 /dev/ttyp0
snmpd   84473 root    1u  VCHR        5,0  0t6122595  
 8396 /dev/ttyp0
snmpd   84473 root    2u  VCHR        5,0  0t6122595  
 8396 /dev/ttyp0
snmpd   84473 root    3w  VREG  13,131084        154  
31257 /var/log/snmpd.log
snmpd   84473 root    4r  VCHR        2,0        0t0  
 7925 /dev/mem
snmpd   84473 root    5r  VCHR        2,1 0xc045e50c  
 7924 /dev/kmem
snmpd   84473 root    6u  PIPE 0xef393400      16384  
      ->0xef394f80
snmpd   84473 root    7u  PIPE 0xef394f80      16384  
      ->0xef393400
snmpd   84473 root    8u  PIPE 0xf1b444e0      16384  
      ->0xef394080
snmpd   84473 root    9u  PIPE 0xef394080      16384  
      ->0xf1b444e0
snmpd   84473 root   10u  IPv4 0xeaf8ad40        0t0  
  UDP *:snmp
snmpd   84473 root   11r  VCHR        2,0        0t0  
 7925 /dev/mem
snmpd   84473 root   12r  VCHR        2,1 0xc9d09888  
 7924 /dev/kmem
snmpd   84473 root   13r  VREG  13,131084      32768  
54672 /var/run

so 5 and 12 are both /dev/kmem

--
Michael Conlen 
mconlen@neutelligent.com



----------------------------------------------------------------------

>Comment By: Michael J. Slifcak (slif)
Date: 2004-02-25 17:33

Message:
Logged In: YES 
user_id=88697

please identify the scalar or table that snmpget will
trigger this behavior.

----------------------------------------------------------------------

Comment By: Nobody/Anonymous (nobody)
Date: 2003-07-24 11:50

Message:
Logged In: NO 

I should have noted,

FreeBSD 4.8-RELEASE on i386 and ucd-snmp 4.2.1 and net-snmp
5.0.7

--
Michael Conlen
mconlen@neutelligent.com

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=112694&aid=777013&group_id=12694


-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
Net-snmp-bugs mailing list
Net-snmp-bugs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/net-snmp-bugs
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic