Hello,
Could you please help me regarding this problem.
When I am sending continuous flow if snmp traffic (packets/queries) the
subagent is getting blocked at the the call:
agent_check_and_process(Operation::AGENTX_BLOCK_TILL_SNMP_PACKET_ARRIVE);
Inside which its getting blocked at the write system call writing to a pipe
inside netsnmp_callback_send.
The stack trace at the time of the block is as below:
/lib/libpthread.so.0(__write+0x38)[0xfaa17e4]
/pkg/net-snmp/lib/libnetsnmp.so.15(netsnmp_callback_send+0x3e0)[0xfd98318]
/pkg/net-snmp/lib/libnetsnmp.so.15(snmp_sess_async_send+0x4a0)[0xfd61f58]
/pkg/net-snmp/lib/libnetsnmp.so.15(snmp_async_send+0x3c)[0xfd624d4]
/pkg/net-snmp/lib/libnetsnmpagent.so.15(handle_agentx_packet+0x504)[0xfe5f9e0]
/pkg/net-snmp/lib/libnetsnmp.so.15[0xfd64d40]
/pkg/net-snmp/lib/libnetsnmp.so.15(_sess_read+0x220)[0xfd6644c]
/pkg/net-snmp/lib/libnetsnmp.so.15(snmp_sess_read+0x2c)[0xfd67140]
/pkg/net-snmp/lib/libnetsnmp.so.15(snmp_read+0x48)[0xfd671c4]
/pkg/net-snmp/lib/libnetsnmpagent.so.15(agent_check_and_process+0xc4)[0xfe4fc18]
In the function netsnmp_callback_recv we are reading from the same pipe.
Also here only a single blank character is being read and written to pipe
(netsnmp_callback_recv/send) and i think it is being used for synchronisation
perpose than for sending/receiving data.
Also from debug log I have noticed that we have far more calls to write to the
pipe that the reads from the pipe. So after a period of time the pipe is
getting full as we are reading less than the write operation, and causing the
last write to block?
How to handle this situation?
Please advise.
Thanks and regards
S Sarath
------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
Net-snmp-coders mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders