Hello All,

I have snmpd running as a master. I have another process that runs a single
thread for SNMP work. This thread has the same code as the example code for
"Writing a Subagent" tutorial.

However, I run into a deadlock issue. The master sends AgentX pdu to
subagent. The subagent hangs. The master times out and deregisters the
subagent.

I'll appreciate any help or pointers. I have attached detailed logs. I have
also tried using other modules and have the same problem.


Thanks in advance.



MASTER LOGS:

2007-10-23 23:33:26 trace: netsnmp_call_handler(): agent_handler.c, 438:
2007-10-23 23:33:26 handler:returned: handler AgentX subagent 5, session
0x622040, subsession 0x633470 re2007-10-23 23:33:26 trace:
netsnmp_handle_request(): snmp_agent.c, 3126:
2007-10-23 23:33:26 results: request results (status = 0):
2007-10-23 23:33:26 trace: netsnmp_handle_request(): snmp_agent.c, 3129:
2007-10-23 23:33:26 results:    RFC1155-SMI::enterprises.8072.2.4.1.1.2.0 =
No Such Instance currently ex2007-10-23 23:33:26 trace:
netsnmp_check_for_delegated_and_add(): snmp_agent.c, 1373:
2007-10-23 23:33:26 snmp_agent: delegate session == 0x6001b0
2007-10-23 23:33:26 trace: handle_snmp_packet(): snmp_agent.c, 1858:
2007-10-23 23:33:26 snmp_agent: end of handle_snmp_packet, asp = 0x6001b0
2007-10-23 23:33:26 trace: _sess_read(): snmp_api.c, 5445:
2007-10-23 23:33:26 sess_read: not reading 6 (fdset 0x7fff57e86510 set 0)
2007-10-23 23:33:26 trace: _sess_read(): snmp_api.c, 5445:
2007-10-23 23:33:26 sess_read: not reading 4 (fdset 0x7fff57e86510 set 0)
2007-10-23 23:33:26 trace: snmp_sess_select_info(): snmp_api.c, 5868:
2007-10-23 23:33:26 sess_select: for all sessions: 8 (to in
1193182406.754001 sec) 7 6 4
2007-10-23 23:33:26 sess_select: next alarm 1.72386 sec
2007-10-23 23:33:26 verbose:sess_select: timer due *real* soon. 2908 usec
2007-10-23 23:33:26 verbose:sess_select: setting timer to 0.2908 sec, clear
block (was 0)
2007-10-23 23:33:26 trace: receive(): snmpd.c, 1144:
2007-10-23 23:33:26 snmpd/select: select( numfds=9, ..., tvp=0x7fff57e86610)
2007-10-23 23:33:26 trace: receive(): snmpd.c, 1146:
2007-10-23 23:33:26 timer: tvp 0.2908
2007-10-23 23:33:26 trace: receive(): snmpd.c, 1148:
2007-10-23 23:33:26 snmpd/select: returned, count = 0
2007-10-23 23:33:26 trace: snmp_sess_select_info(): snmp_api.c, 5868:
2007-10-23 23:33:26 sess_select: for all sessions: 8 (to in
1193182406.754001 sec) 7 6 4
2007-10-23 23:33:26 sess_select: next alarm 1.69847 sec
2007-10-23 23:33:26 verbose:sess_select: timer due *real* soon. 370 usec
2007-10-23 23:33:26 verbose:sess_select: setting timer to 0.370 sec, clear
block (was 0)
2007-10-23 23:33:26 trace: receive(): snmpd.c, 1144:
2007-10-23 23:33:26 snmpd/select: select( numfds=9, ..., tvp=0x7fff57e86610)
2007-10-23 23:33:26 trace: receive(): snmpd.c, 1146:
2007-10-23 23:33:26 timer: tvp 0.370
2007-10-23 23:33:26 trace: receive(): snmpd.c, 1148:
2007-10-23 23:33:26 snmpd/select: returned, count = 0
2007-10-23 23:33:26 trace: agentx_got_response(): mibgroup/agentx/master.c,
238:
2007-10-23 23:33:26 agentx/master: timeout on session 0x622040
2007-10-23 23:33:26 trace: close_agentx_session():
mibgroup/agentx/master_admin.c, 134:
2007-10-23 23:33:26 agentx/master: close 0x622040, -1
2007-10-23 23:33:26 trace: netsnmp_remove_delegated_requests_for_session():
snmp_agent.c, 1447:
2007-10-23 23:33:26 snmp_agent: removed 2 delegated request(s) for session
0x633470


SUBAGENT LOGS:

2007-10-23 23:33:16 dumph_recv: AgentX Header
2007-10-23 23:33:16 trace: agentx_parse_header():
mibgroup/agentx/protocol.c, 1464:
2007-10-23 23:33:16 dumph_recv:   Version
2007-10-23 23:33:16 dumpx_recv:    01
2007-10-23 23:33:16 dumpv_recv:      Version:   1
2007-10-23 23:33:16 trace: agentx_parse_header():
mibgroup/agentx/protocol.c, 1471:
2007-10-23 23:33:16 dumph_recv:   Command
2007-10-23 23:33:16 dumpx_recv:    05
2007-10-23 23:33:16 dumpv_recv:      Command:   5 (Get)
2007-10-23 23:33:16 trace: agentx_parse_header():
mibgroup/agentx/protocol.c, 1479:
2007-10-23 23:33:16 dumph_recv:   Flags
2007-10-23 23:33:16 dumpx_recv:    00
2007-10-23 23:33:16 dumpv_recv:      Flags:     0x0
2007-10-23 23:33:16 trace: agentx_parse_header():
mibgroup/agentx/protocol.c, 1486:
2007-10-23 23:33:16 dumph_recv:   Reserved Byte
2007-10-23 23:33:16 dumpx_recv:    00
2007-10-23 23:33:16 dumpv_recv:      Reserved:  0x0
2007-10-23 23:33:16 trace: agentx_parse_header():
mibgroup/agentx/protocol.c, 1492:
2007-10-23 23:33:16 dumph_recv:   Session ID
2007-10-23 23:33:16 dumpx_recv:    05 00 00 00
2007-10-23 23:33:16 dumpv_recv:      Integer:   5 (0x05)
2007-10-23 23:33:16 trace: agentx_parse_header():
mibgroup/agentx/protocol.c, 1500:
2007-10-23 23:33:16 dumph_recv:   Transaction ID
2007-10-23 23:33:16 dumpx_recv:    03 00 00 00
2007-10-23 23:33:16 dumpv_recv:      Integer:   3 (0x03)
2007-10-23 23:33:16 trace: agentx_parse_header():
mibgroup/agentx/protocol.c, 1508:
2007-10-23 23:33:16 dumph_recv:   Packet ID
2007-10-23 23:33:16 dumpx_recv:    04 00 00 00
2007-10-23 23:33:16 dumpv_recv:      Integer:   4 (0x04)
2007-10-23 23:33:16 trace: agentx_parse_header():
mibgroup/agentx/protocol.c, 1515:
2007-10-23 23:33:16 dumph_recv:   Payload Length
2007-10-23 23:33:16 dumpx_recv:    28 00 00 00
2007-10-23 23:33:16 dumpv_recv:      Integer:   40 (0x28)
2007-10-23 23:33:16 trace: agentx_parse(): mibgroup/agentx/protocol.c, 1607:
2007-10-23 23:33:16 dumph_recv:   PDU
2007-10-23 23:33:16 trace: agentx_parse(): mibgroup/agentx/protocol.c, 1736:
2007-10-23 23:33:16 dumph_recv:       Search Range
2007-10-23 23:33:16 trace: agentx_parse_oid(): mibgroup/agentx/protocol.c,
1118:
2007-10-23 23:33:16 dumph_recv:         OID Header
2007-10-23 23:33:16 dumpx_recv:          08 04 00 00
2007-10-23 23:33:16 dumpv_recv:            # subids:    8 (0x08)
2007-10-23 23:33:16 trace: agentx_parse_oid(): mibgroup/agentx/protocol.c,
1122:
2007-10-23 23:33:16 dumpv_recv:             prefix:     4 (0x04)
2007-10-23 23:33:16 trace: agentx_parse_oid(): mibgroup/agentx/protocol.c,
1125:
2007-10-23 23:33:16 dumpv_recv:             inclusive:  0 (0x00)
2007-10-23 23:33:16 trace: agentx_parse_oid(): mibgroup/agentx/protocol.c,
1130:
2007-10-23 23:33:16 dumph_recv:         OID Segments
2007-10-23 23:33:16   parse_oid
2007-10-23 23:33:16   sizeof(oid) = 8
2007-10-23 23:33:16 dumpx_recv:          01 00 00 00
2007-10-23 23:33:16 dumpv_recv:            Integer:     1 (0x01)
2007-10-23 23:33:16 dumpx_recv:          88 1F 00 00
2007-10-23 23:33:16 dumpv_recv:            Integer:     8072 (0x1F88)
2007-10-23 23:33:16 dumpx_recv:          02 00 00 00
2007-10-23 23:33:16 dumpv_recv:            Integer:     2 (0x02)
2007-10-23 23:33:16 dumpx_recv:          04 00 00 00
2007-10-23 23:33:16 dumpv_recv:            Integer:     4 (0x04)
2007-10-23 23:33:16 dumpx_recv:          01 00 00 00
2007-10-23 23:33:16 dumpv_recv:            Integer:     1 (0x01)
2007-10-23 23:33:16 dumpx_recv:          01 00 00 00
2007-10-23 23:33:16 dumpv_recv:            Integer:     1 (0x01)
2007-10-23 23:33:16 dumpx_recv:          02 00 00 00
2007-10-23 23:33:16 dumpv_recv:            Integer:     2 (0x02)
2007-10-23 23:33:16 dumpx_recv:          00 00 00 00
2007-10-23 23:33:16 dumpv_recv:            Integer:     0 (0x00)
2007-10-23 23:33:16 trace: agentx_parse_oid(): mibgroup/agentx/protocol.c,
1205:
2007-10-23 23:33:16 dumpv_recv:         OID: RFC1155-SMI::
enterprises.8072.2.4.1.1.2.0
2007-10-23 23:33:16 trace: agentx_parse_oid(): mibgroup/agentx/protocol.c,
1118:
2007-10-23 23:33:16 dumph_recv:         OID Header
2007-10-23 23:33:16 dumpx_recv:          00 00 00 00
2007-10-23 23:33:16 dumpv_recv:            # subids:    0 (0x00)
2007-10-23 23:33:16 trace: agentx_parse_oid(): mibgroup/agentx/protocol.c,
1122:
2007-10-23 23:33:16 dumpv_recv:             prefix:     0 (0x00)
2007-10-23 23:33:16 trace: agentx_parse_oid(): mibgroup/agentx/protocol.c,
1125:
2007-10-23 23:33:16 dumpv_recv:             inclusive:  0 (0x00)
2007-10-23 23:33:16 trace: agentx_parse_oid(): mibgroup/agentx/protocol.c,
1130:
2007-10-23 23:33:16 dumph_recv:         OID Segments
2007-10-23 23:33:16   parse_oid
2007-10-23 23:33:16   sizeof(oid) = 8
2007-10-23 23:33:16 trace: agentx_parse_oid(): mibgroup/agentx/protocol.c,
1152:
2007-10-23 23:33:16 dumpv_recv:           OID: NULL (0.0)
2007-10-23 23:33:16 trace: handle_agentx_packet():
mibgroup/agentx/subagent.c, 308:
2007-10-23 23:33:16 agentx/subagent: handling agentx request
(req=0x4,trans=0x3,sess=0x5)
2007-10-23 23:33:16 trace: handle_agentx_packet():
mibgroup/agentx/subagent.c, 329:
2007-10-23 23:33:16 agentx/subagent:   -> get
------------> gets stuck here - waits for a lock in snmp_sess_session
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Net-snmp-coders mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders

Reply via email to