Hi Prema,

Simply call "listen()" on the TransportMapping to start it again.
Best regards,
Frank


Am 10.07.2014 22:00, schrieb Prema Upot:
Hi Frank,

I was going to SNMP4J logs and I noticed that ListenThread of 
DefaultUdpTransportMapping stopped because socket closed for some reason.

014-07-09 09:52:28,303 ERROR  [ ransportMapping_172.21.0.169/0 ] Socket for 
transport mapping 
org.snmp4j.transport.DefaultUdpTransportMapping$ListenThread@17add1b error: 
socket closed
java.net.SocketException: socket closed
        at java.net.PlainDatagramSocketImpl.receive0(Native Method)
        at java.net.PlainDatagramSocketImpl.receive(Unknown Source)
        at java.net.DatagramSocket.receive(Unknown Source)
        at 
org.snmp4j.transport.DefaultUdpTransportMapping$ListenThread.run(DefaultUdpTransportMapping.java:339)
        at java.lang.Thread.run(Unknown Source)
2014-07-09 09:52:28,303 DEBUG  [ ransportMapping_172.21.0.169/0 ] Worker task 
stopped:org.snmp4j.transport.DefaultUdpTransportMapping$ListenThread

 From this point onwards, I see that every request has socket closed error.

We have modelled our main SNMP interface based on the SNMPRequest.java class 
included with SNMP4j and we are creating a new instance of this class every 
time. But there is only one instance of SNMP class that is statically created 
within this SnmpRequest. This was done based on your suggestion ( that was way 
back in 2012 : )  to fix snmp timeout problem (snmp response received from 
network but snmp4j stack reported timeout). Hence in the end we have only one 
instance of DefaultUdpTransportMapping and with the ListenThread closed, we 
will always be in error mode until we restart the server.
Is there anything we can do to recreate the ListenThread? I have no clue why 
the socket closed in the first instance. We have been running this code for a 
few years now and this problem has surfaced only quite recently.

Thanks,
Prema

-----Original Message-----
From: SNMP4J [mailto:snmp4j-boun...@agentpp.org] On Behalf Of Frank Fock
Sent: Wednesday, July 09, 2014 2:22 PM
To: snmp4j@agentpp.org
Subject: Re: [SNMP4J] Socket closed exception

Hi Prema,

Most likely, someone is calling Snmp.close() or the close() method of the 
underlying transport mapping while other code is still using the same Snmp 
session.
Another option would be the operating system or JRE closing the socket itself 
for some reason (unlikely).

Best regards,
Frank

Am 09.07.2014 20:12, schrieb Prema Upot:
Hi,

We use SNMP4j 1.11 version. Recently we have been seeing a lot of socket closed 
exceptions while sending SNMP get/set messages. We have been using this version 
of SNMP4J for a long time in our application (and we have not modified the way 
we use the SNMP4J API at all) and we have never seen this before. This happens 
when we try to send a set of SNMP requests within a short period of time to 
different hosts (like periodic SNMP polling of a group of devices). Any ideas 
why this is happening ? Once this happens the only way to recover from this 
state is to restart my application.

This is a sample exception that I see in my log file.

[09 Jul 2014 13:44:20:653]  [ polling-11                ] SYS_ERR: 
java.net.SocketException: Socket is closed
[09 Jul 2014 13:44:20:653]  [ polling-11                ] SYS_ERR:              
  at java.net.DatagramSocket.send(Unknown Source)
[09 Jul 2014 13:44:20:653]  [ polling-11                ] SYS_ERR:              
  at 
org.snmp4j.transport.DefaultUdpTransportMapping.sendMessage(DefaultUdpTransportMapping.java:115)
[09 Jul 2014 13:44:20:653]  [ polling-11                ] SYS_ERR:              
  at 
org.snmp4j.MessageDispatcherImpl.sendMessage(MessageDispatcherImpl.java:195)
[09 Jul 2014 13:44:20:653]  [ polling-11                ] SYS_ERR:              
  at org.snmp4j.MessageDispatcherImpl.sendPdu(MessageDispatcherImpl.java:462)
[09 Jul 2014 13:44:20:653]  [ polling-11                ] SYS_ERR:              
  at org.snmp4j.Snmp.sendMessage(Snmp.java:1078)
[09 Jul 2014 13:44:20:653]  [ polling-11                ] SYS_ERR:              
  at org.snmp4j.Snmp.send(Snmp.java:891)
[09 Jul 2014 13:44:20:653]  [ polling-11                ] SYS_ERR:              
  at org.snmp4j.Snmp.send(Snmp.java:871)
[09 Jul 2014 13:44:20:653]  [ polling-11                ] SYS_ERR:              
  at org.snmp4j.Snmp.send(Snmp.java:836)
[09 Jul 2014 13:44:20:653]  [ polling-11                ] SYS_ERR:              
  at com.optelian.common.SnmpRequest.send(SnmpRequest.java:396)
[09 Jul 2014 13:44:20:653]  [ polling-11                ] SYS_ERR:              
  at com.optelian.common.SnmpRequest.send(SnmpRequest.java:370)
[09 Jul 2014 13:44:20:653]  [ polling-11                ] SYS_ERR:              
  at 
com.optelian.common.OMSSnmp4JDeviceInterface.readFields(OMSSnmp4JDeviceInterface.java:353)
[09 Jul 2014 13:44:20:653]  [ polling-11                ] SYS_ERR:              
  at com.optelian.common.OMSDeviceManager.readFields(OMSDeviceManager.java:74)
[09 Jul 2014 13:44:20:653]  [ polling-11                ] SYS_ERR:              
  at 
com.optelian.topology.server.util.ShelfInterface.readProperties(ShelfInterface.java:220)
[09 Jul 2014 13:44:20:653]  [ polling-11                ] SYS_ERR:              
  at 
com.optelian.topology.server.util.ShelfInterface.readReleaseString(ShelfInterface.java:170)
[09 Jul 2014 13:44:20:653]  [ polling-11                ] SYS_ERR:              
  at 
com.optelian.topology.server.discovery.ShelfPolling.pollOMSNode(ShelfPolling.java:181)
[09 Jul 2014 13:44:20:653]  [ polling-11                ] SYS_ERR:              
  at 
com.optelian.topology.server.discovery.ShelfPolling.run(ShelfPolling.java:63)
[09 Jul 2014 13:44:20:653]  [ polling-11                ] SYS_ERR:              
  at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
[09 Jul 2014 13:44:20:653]  [ polling-11                ] SYS_ERR:              
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
[09 Jul 2014 13:44:20:653]  [ polling-11                ] SYS_ERR:              
  at java.lang.Thread.run(Unknown Source)

Any help in debugging this problem is much appreciated.

Thanks,
Prema

_______________________________________________
SNMP4J mailing list
SNMP4J@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

_______________________________________________
SNMP4J mailing list
SNMP4J@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

_______________________________________________
SNMP4J mailing list
SNMP4J@agentpp.org
https://oosnmp.net/mailman/listinfo/snmp4j

Reply via email to