On Fri, Dec 30, 2011 at 12:41 AM, Renjith R. V.
<renjith...@nestgroup.net> wrote:
> I couldn't see the issue that I have reported in the latest version NetSNMP 
> [v 5.7.1].

That's too bad.  I have been doing all of my experiments with 5.7.1,
so I'm pretty sure the bugs are still present, maybe just harder to
invoke.

I decided to try to get to the core of this, and wrote a subagent with
a single scalar integer, whose set action is:

        case MODE_SET_ACTION:
            if (*requests->requestvb->val.integer == 0) {
                /* unclean exit */
                exit( 0 );
            } else {
                /* blocking sleep */
                sleep( *requests->requestvb->val.integer );
            }

to make it easy to test the two failure cases in agentx/master.c
("handle protocol disconnect" and "subagent request timeout").  (I'm
not completely sure that the sleep will work, as the ping protocol may
turn that into a disconnect; I may have to do something like
examples/delayed_instance.c so that the subagent keeps responding to
pings but doesn't respond to the pending request, but I figured I'd
try the easy thing first).

  Bill

> On first look into snmpd v 5.7.1 debug log,  I could see changes happening in 
> the suspected area.
>
> Change noticed in v5.7.1 debug log compared to v5.6.pre3:
> The delegated session after SET_UNDO is processed and then the session is 
> REMOVED.
> Also "SET request complete" message is seen in the log.
> And so, the subsequent requests are not queued at the master agent side.
>
> I am a beginner in this application and do comment based on the debug 
> messages.
> So not in a position to confirm whether the issue is really fixed in v 5.7.1.
> Also I have seen some of the similar issues that you have reported under  
> "Error handling path in agentx master and subagents" in net-snmp 5.7.1
> So I think probably some guys actually taking part in the core work behind 
> NetSNMP application suit development and maintenance
> can comment authentically like whether the two ideas that you have suggested 
> will fix the issue or like net-snmp 5.7.1 have done a fix on this already.
>
> thank you,
> -renjith
>
> .-----Original Message-----
> .From: Bill Fenner [mailto:fen...@gmail.com]
> .Sent: 29 December 2011 07:15 PM
> .To: Renjith R. V.
> .Cc: net-snmp-coders@lists.sourceforge.net
> .Subject: Re: agentx master agent not responding after an agentx subagent
> .SET timeout
> .
> .Renjith,
> .
> .Could it be easy as adding something like
> .
> .if (asp == netsmp_processing_set) {
> .    DEBUGMSGTL(("snmp_agent", "SET request abandoned, asp = %8p\n",
> .                asp));
> .    netsnmp_processing_set = NULL;
> .}
> .
> .to free_agent_snmp_session()?
> .
> .It only rarely happens for me in my test environment, and it sounds
> .like you have a straightforward replication case, so maybe you could
> .test this idea?
> .
> .Another idea is to change the calling sequence altogether: replace
> .netsnmp_free_agent_snmp_session_by_session() with
> .netsnmp_wrap_up_request( netsnmp_agent_snmp_session_by_session(
> .sess
> .), SNMP_ERR_GENERR ) - that would get the user a response to their
> .request too.
> .
> .Thanks,
> .  Bill
> .
> .On Tue, Dec 27, 2011 at 11:54 PM, Renjith R. V.
> .<renjith...@nestgroup.net> wrote:
> .> Yes. the sub agent is getting disconnected from the master during this
> .> failure scenario. And the sub agent hit with SIGPIPE in between.
> .>
> .> Please refer the debug log attached below.
> .>
> .>
> .>
> .> agent_set: did set mode = 2, status = 0
> .>
> .> agentx/subagent: checking status of session 0x90b5588
> .>
> .> agentx_build: packet built okay
> .>
> .> agentx/subagent: handling agentx request (req=0x5,trans=0x2,sess=0x5)
> .>
> .> agentx/subagent:   -> undoset
> .>
> .> agentx/subagent: handling agentx subagent set response
> .> (mode=162,req=0x4,trans=0x2,sess=0x5)
> .>
> .> agentx_build: packet built okay
> .>
> .> [My Agent] sig_hndlr() ============> SIGPIPE hit
> .>
> .> agentx/subagent:   FINISHED
> .>
> .> agentx/subagent: transport disconnect indication
> .>
> .> agentx/subagent: unregistering callbacks for session 0x90b5588
> .>
> .> agent_set: doing set mode = 5 (SET_UNDO)
> .>
> .>
> .>
> .> Looking at the master agent debug log, I have one more observation like it
> .> seems after returning from SET_UNDO operation, snmp-agent delegate the
> .> session, unload the subagent registered mibs and remove the agentx
> .session.
> .> But the previously delegated session is not processing further. And the
> .> print "snmp_agent: SET request complete" [as got in SET_COMMIT scenario]
> .is
> .> not seen. So I think as you stated in your bug, netsnmp_processing_set is
> .> not cleared in this path causing further request queued.
> .>
> .>
> .>
> .> [Note: NET-SNMP version:  5.6.pre3]
> .>
> .>
> .>
> .> -renjith
> .>
> .>
> .>
> .> From: Bill Fenner [mailto:fen...@gmail.com]
> .> Sent: 27 December 2011 07:18 PM
> .> To: Renjith R. V.
> .> Cc: <net-snmp-coders@lists.sourceforge.net>
> .> Subject: Re: agentx master agent not responding after an agentx subagent
> .SET
> .> timeout
> .>
> .>
> .>
> .> Hi Renjith,
> .>
> .>
> .>
> .> I came across this behavior in a different context and filed a
> .>
> .bug: http://sourceforge.net/tracker/?func=detail&aid=3456337&group_id=12
> .694&atid=112694
> .> ("Certain agentx failures can result in apparent agent hang"). I was 
> unaware
> .> of the "set times out" way to get into this state - please add your 
> findings
> .> to this bug.
> .>
> .>
> .>
> .> Did you ever see the subagent getting disconnected from the master agent?
> .> Does that explain the two different behaviors that you saw?
> .>
> .>
> .>
> .>   Bill
> .>
> .>
> .>
> .>
> .> On Dec 27, 2011, at 4:48 AM, "Renjith R. V." <renjith...@nestgroup.net>
> .> wrote:
> .>
> .> I am using snmpd as the agentx master and a sub agent is running as the
> .> agentx client.
> .> I have a scenario in which one parameter SET operation[handler running
> .> in sub agent] will take more time to complete.
> .> It is observed from snmpd debug log that the operation, SET_ACTION
> .> timeout at master side at this time.
> .>
> .> The issue starts from here. The subsequent GET calls to master agent
> .> doesn't get any reply.
> .> Even the SNMP contact from the MIB browser itself is not getting.
> .> SNMP dump shows that the agent is getting the message but it doesn't
> .> send any response.
> .> Further debug log analysis showed the subsequent requests are queued at
> .> master agent side.
> .> "snmp_agent: request queued while processing set, asp = 0x840cf40"
> .> And this issue continues for all further GET operations that I have
> .> tried.
> .>
> .> Do I need to handle anything more to address this delayed SET_ACTION
> .> return from subagent handler?
> .> Or Do I need to configure some parameters to avoid this situation?
> .> Can anybody support to sort out this issue?
> .>
> .> One more observation:
> .> During the issue reported case, master agent send SET_UNDO command
> .after
> .> SET_ACTION timeout.
> .> Sometimes (rarely) I could see that master agent send SET_FREE command
> .> after SET_ACTION timeout.
> .> The later case, subsequent GET calls (eg:- sysUpTime) are properly
> .> processed by master agent and I am getting proper response.
> .> ***** Confidentiality Statement/Disclaimer *****
> .>
> .> This message and any attachments is intended for the sole use of the
> .> intended recipient. It may contain confidential information. Any
> .> unauthorized use, dissemination or modification is strictly prohibited. If
> .> you are not the intended recipient, please notify the sender immediately
> .> then delete it from all your systems, and do not copy, use or print.
> .> Internet communications are not secure and it is the responsibility of the
> .> recipient to make sure that it is virus/malicious code exempt.
> .> The company/sender cannot be responsible for any unauthorized
> .alterations or
> .> modifications made to the contents. If you require any form of confirmation
> .> of the contents, please contact the company/sender. The company/sender
> .is
> .> not liable for any errors or omissions in the content of this message.
> .>
> .> 
> ------------------------------------------------------------------------------
> .> Write once. Port to many.
> .> Get the SDK and tools to simplify cross-platform app development. Create
> .> new or port existing apps to sell to consumers worldwide. Explore the
> .> Intel AppUpSM program developer opportunity.
> .appdeveloper.intel.com/join
> .> http://p.sf.net/sfu/intel-appdev
> .> _______________________________________________
> .> Net-snmp-coders mailing list
> .> Net-snmp-coders@lists.sourceforge.net
> .> https://lists.sourceforge.net/lists/listinfo/net-snmp-coders
> .>
> .>
> .> ***** Confidentiality Statement/Disclaimer *****
> .>
> .> This message and any attachments is intended for the sole use of the
> .> intended recipient. It may contain confidential information. Any
> .> unauthorized use, dissemination or modification is strictly prohibited. If
> .> you are not the intended recipient, please notify the sender immediately
> .> then delete it from all your systems, and do not copy, use or print.
> .> Internet communications are not secure and it is the responsibility of the
> .> recipient to make sure that it is virus/malicious code exempt.
> .> The company/sender cannot be responsible for any unauthorized
> .alterations or
> .> modifications made to the contents. If you require any form of confirmation
> .> of the contents, please contact the company/sender. The company/sender
> .is
> .> not liable for any errors or omissions in the content of this message.
> ***** Confidentiality Statement/Disclaimer *****
>
> This message and any attachments is intended for the sole use of the intended 
> recipient. It may contain confidential information. Any unauthorized use, 
> dissemination or modification is strictly prohibited. If you are not the 
> intended recipient, please notify the sender immediately then delete it from 
> all your systems, and do not copy, use or print. Internet communications are 
> not secure and it is the responsibility of the recipient to make sure that it 
> is virus/malicious code exempt.
> The company/sender cannot be responsible for any unauthorized alterations or 
> modifications made to the contents. If you require any form of confirmation 
> of the contents, please contact the company/sender. The company/sender is not 
> liable for any errors or omissions in the content of this message.

------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual 
desktops for less than the cost of PCs and save 60% on VDI infrastructure 
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
Net-snmp-coders mailing list
Net-snmp-coders@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders

Reply via email to