[SNMP4J] Null Pointer Exception - MOSubTreeProxy snmp4jAgent v2.5.0

Frank Fock fock at agentpp.com
Thu May 19 23:47:03 CEST 2016


Hi Rushik,

The MOSubtreeProxy takes contextEngineID and contextName as parameters.
You can there specify the correct values to avoid the NPE.

Best regards,
Frank



Am 18.05.2016 um 15:19 schrieb ru_44 at hotmail.com:
>
> Hi Frank,I recently upgraded to snmp4j 2.5.0 and snmp4j agent v2.5.0. There’s a bugfix in SNMP4J v2.5.0 which causes a Null Pointer Exception when we use
> the MOSubtreeProxy in SNMP4J-Agent v2.5.0
>
> http://www.snmp4j.org/CHANGES.txt
>
> * Fixed [SFJ-121]:
> DefaultPDUFactory.createPDU does not set contextName and contextEngineID on
> ScopedPDU
>
>    instances.
>
>   
>
>   
>
> The MOSubtreeProxy class needs to set (or initialize) the
> contextEngineID & contextEngineName in the DefaultPDUFactory inside its
> constructor.  Currently when the
> DefaultPDUFactory.applyContextInfoToScopedPDU() is called via DefaultPDUFactory.createPDU(),
> both fields are NULL.
>
>   
>
> 22767 [DefaultUDPTransportMapping_192.168.1.90/161]
> DEBUG org.snmp4j.agent.mo.snmp.VacmMIB  - Access allowed for view
> 'fullReadView2' by subtree 1.3 for OID 1.3.6.1.2.1.1.1.0
>
> java.lang.NullPointerException: Context engine ID
> must not be null
>
>          at
> org.snmp4j.ScopedPDU.setContextEngineID(ScopedPDU.java:69)
>
>          at
> org.snmp4j.util.DefaultPDUFactory.applyContextInfoToScopedPDU(DefaultPDUFactory.java:114)
>
>          at
> org.snmp4j.util.DefaultPDUFactory.createPDU(DefaultPDUFactory.java:99)
>
>          at
> org.snmp4j.agent.mo.snmp4j.MOSubtreeProxy.get(MOSubtreeProxy.java:139)
>
>          at
> org.snmp4j.agent.CommandProcessor$GetHandler.processPdu(CommandProcessor.java:1074)
>
>          at
> org.snmp4j.agent.CommandProcessor$GetHandler.processPdu(CommandProcessor.java:1041)
>
>          at
> org.snmp4j.agent.CommandProcessor.processRequest(CommandProcessor.java:422)
>
>          at
> org.snmp4j.agent.CommandProcessor.processRequest(CommandProcessor.java:384)
>
>          at
> org.snmp4j.agent.CommandProcessor.dispatchCommand(CommandProcessor.java:340)
>
>          at
> org.snmp4j.agent.CommandProcessor$Command.run(CommandProcessor.java:560)
>
>          at
> org.snmp4j.agent.CommandProcessor.processPdu(CommandProcessor.java:163)
>
>          at
> com.mibadapter.snmpagent.Processor.processPdu(Processor.java:73)
>
>          at
> org.snmp4j.MessageDispatcherImpl.fireProcessPdu(MessageDispatcherImpl.java:689)
>
>          at
> org.snmp4j.MessageDispatcherImpl.dispatchMessage(MessageDispatcherImpl.java:308)
>
>          at
> org.snmp4j.MessageDispatcherImpl.processMessage(MessageDispatcherImpl.java:385)
>
>          at
> org.snmp4j.MessageDispatcherImpl.processMessage(MessageDispatcherImpl.java:345)
>
>          at
> org.snmp4j.transport.AbstractTransportMapping.fireProcessMessage(AbstractTransportMapping.java:76)
>
>          at
> org.snmp4j.transport.DefaultUdpTransportMapping$ListenThread.run(DefaultUdpTransportMapping.java:423)
>
>          at
> java.lang.Thread.run(Thread.java:745)
>
> 22773 [DefaultUDPTransportMapping_192.168.1.90/161]
> WARN org.snmp4j.agent.CommandProcessor  - java.lang.NullPointerException:
> Context engine ID must not be null
>
> java.lang.Exception: Error 'General variable binding
> error' generated at: 1.3.6.1.2.1.1.1.0 = Null
>
>          at
> org.snmp4j.agent.request.SnmpRequest$SnmpSubRequest.requestStatusChanged(SnmpRequest.java:621)
>
>          at
> org.snmp4j.agent.request.RequestStatus.fireRequestStatusChanged(RequestStatus.java:89)
>
>          at
> org.snmp4j.agent.request.RequestStatus.setErrorStatus(RequestStatus.java:52)
>
>          at
> org.snmp4j.agent.CommandProcessor$GetHandler.processPdu(CommandProcessor.java:1087)
>
>          at
> org.snmp4j.agent.CommandProcessor$GetHandler.processPdu(CommandProcessor.java:1041)
>
>          at
> org.snmp4j.agent.CommandProcessor.processRequest(CommandProcessor.java:422)
>
>          at
> org.snmp4j.agent.CommandProcessor.processRequest(CommandProcessor.java:384)
>
>          at
> org.snmp4j.agent.CommandProcessor.dispatchCommand(CommandProcessor.java:340)
>
>          at
> org.snmp4j.agent.CommandProcessor$Command.run(CommandProcessor.java:560)
>
>          at
> org.snmp4j.agent.CommandProcessor.processPdu(CommandProcessor.java:163)
>
>          at
> com.mibadapter.snmpagent.Processor.processPdu(Processor.java:73)
>
>          at
> org.snmp4j.MessageDispatcherImpl.fireProcessPdu(MessageDispatcherImpl.java:689)
>
>          at
> org.snmp4j.MessageDispatcherImpl.dispatchMessage(MessageDispatcherImpl.java:308)
>
>          at
> org.snmp4j.MessageDispatcherImpl.processMessage(MessageDispatcherImpl.java:385)
>
>          at
> org.snmp4j.MessageDispatcherImpl.processMessage(MessageDispatcherImpl.java:345)
>
>          at
> org.snmp4j.transport.AbstractTransportMapping.fireProcessMessage(AbstractTransportMapping.java:76)
>
>          at
> org.snmp4j.transport.DefaultUdpTransportMapping$ListenThread.run(DefaultUdpTransportMapping.java:423)
>
>          at
> java.lang.Thread.run(Thread.java:745)
>
>   ThanksRushik
>
>    		 	   		
> _______________________________________________
> SNMP4J mailing list
> SNMP4J at agentpp.org
> https://oosnmp.net/mailman/listinfo/snmp4j

-- 
---
AGENT++
Maximilian-Kolbe-Str. 10
73257 Koengen, Germany
https://agentpp.com
Phone: +49 7024 8688230
Fax:   +49 7024 8688231




More information about the SNMP4J mailing list