[SNMP4J] can't process negative 32-bit int boundary value in response?

Frank Fock fock at agentpp.com
Mon Apr 19 00:21:15 CEST 2010


Andy,

Have you called Snmp.listen()?
Probably, the agent returns incorrect BER encoded
values. Have checked that? NET-SNMP is not fully
checking the correct encoding, but SNMP silently
drops those packets (if no SNMP counter listener
is configured).

Best regards,
Frank

On 16.04.2010 20:17, Choi, Andy wrote:
> Frank,
>
> Thanks for your reply.
>
> I am probably not explaining the problem correctly...
>
> Here is an example of what is happening:
>
> MyApp sends a BulkGet request from pollerhost to targethost with timeout
> of 10 seconds via the Snmp.send(Pdu, Target) method.
>
> A capture using tcpdump shows a response is returned immediately:
>
> 17:18:01.564390 IP pollerhost.36521>  targethost.snmp:  GetBulk(35)  N=0
> M=10 E:8940.2.3.2.1.27.1.82.2
> 17:18:01.627272 IP targethost.snmp>  pollerhost.36521:  GetResponse(255)
> E:8940.2.3.2.1.27.1.83.2=6753395 E:8940.2.3.2.1.27.1.84.2=36952
> E:8940.2.3.2.1.27.1.85.2=283351685 E:8940.2.3.2.1.27.1.86.2=1550403
> E:8940.2.3.2.1.27.1.87.2=-2147483648 E:8940.2.3.2.1.27.1.88.2=1454456832
> E:8940.2.3.2.1.27.1.89.2=13 E:8940.2.3.2.1.27.1.90.2=9941
> E:8940.2.3.2.1.27.1.91.2=566587 E:8940.2.3.2.1.27.1.92.2=8645
>
> But the ResponseEvent.getResponse() method never returns the response
> PDU object and does not throw an Exception, but instead it times out
> after 10 seconds and returns a null.
>
> After some playing around, I found out this error only happens when the
> 87.2 OID is included in the response.  The tcpdump output shows the data
> value for the 87.2 OID in the response is -2147483648 (or sometimes 0).
>
> I can issue the same request using NET-SNMP snmpbulkget, and it
> processes the response fine (shows 87.2=0 in the output).
>
> Please let me know if this is a bug, and if so, how to submit it.
>
> Best Regards,
> Andy
>
> -----Original Message-----
> From: snmp4j-bounces at agentpp.org [mailto:snmp4j-bounces at agentpp.org] On
> Behalf Of Frank Fock
> Sent: Friday, April 16, 2010 12:37 PM
> To: snmp4j at agentpp.org
> Subject: Re: [SNMP4J] can't process negative 32-bit int boundary value
> in response?
>
> Andy,
>
> If the request contains also -2147483648, there
> is no problem. If not, then it works as designed.
> (request and response PDUs are matched their
> request ID).
>
> Best regards,
> Frank
>
> On 16.04.2010 08:43, Choi, Andy wrote:
>> Hello,
>>
>>
>>
>> I have run into a possible bug where a tcpdump shows that a response
> PDU
>> is being returned with an integer varbind whose value is -2147483648,
>> but SNMP4J is apparently unable to finish processing the PDU and
> instead
>> is timing out on the response.  Can somebody confirm that this is a
> bug?
>> I would think that it should at least throw an Exception instead of
>> timing out.
>>
>>
>>
>> Thanks,
>>
>> Andy
>>
>>
>>
>>
>>
>>
>>
>>
>> This message contains information which may be confidential and/or
> privileged. Unless you are the intended recipient (or authorized to
> receive for the intended recipient), you may not read, use, copy or
> disclose to anyone the message or any information contained in the
> message. If you have received the message in error, please advise the
> sender by reply e-mail and delete the message and any attachment(s)
> thereto without retaining any copies.
>> _______________________________________________
>> SNMP4J mailing list
>> SNMP4J at agentpp.org
>> http://lists.agentpp.org/mailman/listinfo/snmp4j
>

-- 
AGENT++
http://www.agentpp.com
http://www.snmp4j.com
http://www.mibexplorer.com
http://www.mibdesigner.com




More information about the SNMP4J mailing list