From: SourceForge.net <no...@so...> - 2005-10-27 13:11:13
|
Bugs item #1339477, was opened at 2005-10-27 09:11 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112694&aid=1339477&group_id=12694 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: agent Group: agentx Status: Open Resolution: None Priority: 5 Submitted By: jmcdonnell (jm-slipstream) Assigned to: Nobody/Anonymous (nobody) Summary: _sess_read re-entered for same session Initial Comment: When an informsink is configured, the _sess_read function can be re-entered during processing of notifications from an AgentX sub-agent. The function is not written to be re-entrant for the same session though. In some situations, this can cause the original call to the function to close the connection or to simply crash. A stack trace follows showing the path to the second call, notice that the sessp value is the same for both calls to _sess_read: #0 _sess_read (sessp=0x81e6380, fdset=0xbfbff340) at snmp_api.c:5384 #1 0x80c633a in snmp_sess_read (sessp=0x81e6380, fdset=0xbfbff340) at snmp_api.c:5785 #2 0x80c4ad2 in snmp_read (fdset=0xbfbff340) at snmp_api.c:5343 #3 0x80a6286 in snmp_synch_response_cb (ss=0x817b900, pdu=0x821d500, response=0xbfbff41c, pcb=0x80a56d0 <snmp_synch_input>) at snmp_client.c:1006 #4 0x80a6321 in snmp_synch_response (ss=0x817b900, pdu=0x821d500, response=0xbfbff41c) at snmp_client.c:1044 #5 0x8084a6c in send_trap_to_sess (sess=0x817b900, template_pdu=0x821d300) at agent_trap.c:834 #6 0x8063471 in send_notifications (major=1, minor=7, serverarg=0x821d300, clientarg=0x0) at notification/snmpNotifyTable.c:246 #7 0x80dabf9 in snmp_call_callbacks (major=1, minor=7, caller_arg=0x821d300) at callback.c:225 #8 0x8084951 in netsnmp_send_traps (trap=-1, specific=-1, enterprise=0x8120a70, enterprise_length=10, vars=0x821c800, context=0x0, flags=0) at agent_trap.c:783 #9 0x8084991 in send_enterprise_trap_vars (trap=-1, specific=-1, enterprise=0x8120a70, enterprise_length=10, vars=0x821c800) at agent_trap.c:797 #10 0x8084afa in send_trap_vars (trap=-1, specific=-1, vars=0x821c800) at agent_trap.c:854 #11 0x80977a3 in agentx_notify (session=0x817bd00, pdu=0x817be00) at mibgroup/agentx/master_admin.c:456 #12 0x8097a82 in handle_master_agentx_packet (operation=1, session=0x817bd00, reqid=153, pdu=0x817be00, magic=0x0) at mibgroup/agentx/master_admin.c:548 #13 0x80c498f in _sess_process_packet (sessp=0x81e6380, sp=0x817bd00, isp=0x81f3480, transport=0x81f3400, opaque=0x81e8900, olength=106, packetptr=0x82221ac "\001\f", length=524) at snmp_api.c:5291 #14 0x80c5ca3 in _sess_read (sessp=0x81e6380, fdset=0xbfbff820) at snmp_api.c:5663 #15 0x80c633a in snmp_sess_read (sessp=0x81e6380, fdset=0xbfbff820) at snmp_api.c:5785 #16 0x80c4ad2 in snmp_read (fdset=0xbfbff820) at snmp_api.c:5343 #17 0x804c2be in receive () at snmpd.c:1123 #18 0x804bd7c in main (argc=3, argv=0xbfbff9cc) at snmpd.c:974 It looks like the code is trying to do an immediate read from the sub-agent. I don't think it's possible to do this given that the original call to the function may contain an unprocessed partial message. Also, trying to do an immediate read could cause a deadlock if the sub-agent isn't currently capable of responding. I think this may be the cause of bug 1154117. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112694&aid=1339477&group_id=12694 |