[SNMP4J] random problem sending command over TCP

Frank Fock fock at agentpp.com
Thu Nov 5 09:29:19 CET 2009


Hi Brice,

It seems that SNMP4J does not return from a
TransportStateListener.connectionStateChanged(..)
call. As SNMP4J itself does not listen to such
events, the dead lock might occur in your code
implementing the above method. Is that the case?

Regards,
Frank

Brice Fines wrote:
> Hi Frank,
> 
> I have a random problem using SNMP4J version 1.10 SNAPSHOT 12/10/2009.
> I know that SNMP4J 1.10.2 was released since then, but I cannot try it in 
> this environment right now. I hope to try it soon, to check if it solves 
> this problem.
> 
> My application hangs forever while sending a command by TCP (the client is 
> not listening to commands in that case). 
> My feeling is that problem occurs when the application has been idle (i.e. 
> receiving TRAP but not sending commands) during a long time (e.g. 8 
> hours). The first try to send a command hangs. The next ones to the same 
> client work ok (i.e. the client does not answer, but the send command 
> finishes gracefully).
> 
> Please find enclosed the logs
> I am not sure it is a SNMP4J problem, it could be another IBM problem like 
> when we manually tried to close the TCP connection.
> 
> I will let you know if I can reproduce it with 1.10.2 final.
> 
> Thanks
> Regards
> 
> ************ Start Display Current Environment ************
> WebSphere Platform 6.1 [ND 6.1.0.17 cf170821.07] [EJB3 6.1.0.17 
> cf170821.02]  running with process name 
> mmmaix11aCell\mmmaix11a\xxxxx_cluster_srv1 and process id 274738
> Host Operating System is AIX, version 5.3
> Java version = J2RE 1.5.0 IBM J9 2.3 AIX ppc-32 j9vmap3223-20080315 (JIT 
> enabled)
> J9VM - 20080314_17962_bHdSMr
> JIT  - 20080130_0718ifx2_r8
> GC   - 200802_08, Java Compiler = j9jit23, Java VM name = IBM J9 VM
> was.install.root = /usr/WebSphere61/AppServer
> user.install.root = /usr/WebSphere61/AppServer/profiles/AppSrv
> Java Home = /usr/WebSphere61/AppServer/java/jre
> ws.ext.dirs = 
> /usr/WebSphere61/AppServer/java/lib:/usr/WebSphere61/AppServer/profiles/AppSrv/classes:/usr/WebSphere61/AppServer/classes:/usr/WebSphere61/AppServer/lib:/usr/WebSphere61/AppServer/installedChannels:/usr/WebSphere61/AppServer/lib/ext:/usr/WebSphere61/AppServer/web/help:/usr/WebSphere61/AppServer/deploytool/itp/plugins/com.ibm.etools.ejbdeploy/runtime
> Classpath = 
> /usr/WebSphere61/AppServer/profiles/AppSrv/properties:/usr/WebSphere61/AppServer/properties:/usr/WebSphere61/AppServer/lib/startup.jar:/usr/WebSphere61/AppServer/lib/bootstrap.jar:/usr/WebSphere61/AppServer/lib/j2ee.jar:/usr/WebSphere61/AppServer/lib/lmproxy.jar:/usr/WebSphere61/AppServer/lib/urlprotocols.jar:/usr/WebSphere61/AppServer/deploytool/itp/batchboot.jar:/usr/WebSphere61/AppServer/deploytool/itp/batch2.jar:/usr/WebSphere61/AppServer/java/lib/tools.jar:/expl/xxxxx/configuracion
> Java Library path = 
> /usr/WebSphere61/AppServer/java/jre/bin:/usr/WebSphere61/AppServer/java/jre/bin:/usr/WebSphere61/AppServer/java/jre/bin/classic:/usr/WebSphere61/AppServer/java/jre/bin:/usr/WebSphere61/AppServer/bin:/expl/HSM/libPlaca/libCCA4758:/usr/mqm/java/lib:/usr/WebSphere61/AppServer/java/jre/bin/j9vm:/usr/WebSphere61/AppServer/java/jre/bin/j9vm:/usr/mqm/java/lib:/usr/lib:/usr/WebSphere61/AppServer/lib/WMQ/java/lib
> ************* End Display Current Environment *************
> [11/4/09 9:25:23:788 CET] 00000067 ServletWrappe I   SRVE0242I: [xxxxx] 
> [/xxxxx] [/index.jsp]: Initialization successful.
> [11/4/09 9:25:23:912 CET] 00000067 LoggerListene W 
> org.springframework.security.event.authentication.LoggerListener 
> onApplicationEvent Authentication event AuthenticationSuccessEvent: 
> xxxxxxx; details: 
> org.springframework.security.ui.WebAuthenticationDetails at fffde5d4: 
> RemoteIpAddress: 10.2.2.144; SessionId: He_iDPJLjiyYBb5LT4garTt
> [11/4/09 9:25:25:941 CET] 00000071 ServletWrappe I   SRVE0242I: [xxxxx] 
> [/xxxxx] [/WEB-INF/tiles/body/commandCenter.jsp]: Initialization 
> successful.
> [11/4/09 9:25:34:423 CET] 00000070 SystemOut     O org.snmp4j.security.USM 
> <generateResponseMessage> RFC3414 ยง3.1.4.b Outgoing message is not 
> encrypted
> [11/4/09 9:25:34:426 CET] 00000070 SystemOut     O 
> org.snmp4j.mp.MPv3$Cache <addEntry> Adding cache entry: 
> StateReference[msgID=722819076,pduHandle=PduHandle[1975023096],securityEngineID=,securityModel=org.snmp4j.security.USM at 76fc76fc,securityName=urwxxxxxxx,securityLevel=1,contextEngineID=,contextName=]
> [11/4/09 9:25:34:429 CET] 00000070 SystemOut     O 
> org.snmp4j.Snmp$PendingRequest <pduHandleAssigned> Running pending sync 
> request with handle PduHandle[1975023096] and retry count left 0
> [11/4/09 9:25:34:440 CET] 00000070 SystemOut     O 
> org.snmp4j.transport.DefaultTcpTransportMapping$ServerThread <sendMessage> 
> Looking up connection for destination '222.21.122.222/161' returned: null
> [11/4/09 9:25:34:442 CET] 00000070 SystemOut     O 
> org.snmp4j.transport.DefaultTcpTransportMapping$ServerThread <sendMessage> 
> {}
> [11/4/09 9:25:34:444 CET] 00000070 SystemOut     O 
> org.snmp4j.transport.DefaultTcpTransportMapping$ServerThread <sendMessage> 
> Socket for address '222.21.122.222/161' is closed, opening it...
> [11/4/09 9:25:34:452 CET] 00000070 SystemOut     O 
> org.snmp4j.transport.DefaultTcpTransportMapping$ServerThread <sendMessage> 
> Trying to connect to 222.21.122.222/161
> [11/4/09 9:25:34:481 CET] 00000072 SystemOut     O 
> org.snmp4j.transport.DefaultTcpTransportMapping$ServerThread 
> <processPending> Registering for connect: 
> SocketEntry[peerAddress=222.21.122.222/161,socket=Socket[unconnected],lastUse=Wed 
> Nov 04 09:25:34 CET 2009]
> [11/4/09 9:25:39:449 CET] 00000074 SystemOut     O 
> org.snmp4j.Snmp$PendingRequest <run> Request timed out: 1975023096
> [11/4/09 9:26:49:535 CET] 00000072 SystemOut     O 
> org.snmp4j.transport.DefaultTcpTransportMapping$ServerThread <run> Key is 
> connectable
> [11/4/09 9:26:49:537 CET] 00000072 SystemOut     O 
> org.snmp4j.transport.DefaultTcpTransportMapping$ServerThread 
> <connectChannel> java.net.ConnectException: A remote host did not respond 
> within the timeout period.
> [11/4/09 9:26:49:539 CET] 00000072 SystemOut     O 
> org.snmp4j.transport.DefaultTcpTransportMapping$ServerThread 
> <processPending> Registering for connect: 
> SocketEntry[peerAddress=222.21.122.222/161,socket=Socket[unconnected],lastUse=Wed 
> Nov 04 09:25:34 CET 2009]
> [11/4/09 9:26:49:540 CET] 00000072 SystemOut     O 
> org.snmp4j.transport.DefaultTcpTransportMapping$ServerThread 
> <processPending> java.nio.channels.ClosedChannelException
> [11/4/09 9:26:49:542 CET] 00000072 SystemOut     O 
> org.snmp4j.transport.TcpTransportMapping <fireConnectionStateChanged> 
> Firing transport state event: 
> org.snmp4j.transport.TransportStateEvent[source=org.snmp4j.transport.DefaultTcpTransportMapping at 4c564c56,peerAddress=222.21.122.222/161,newState=4,cancelled=false,causingException=java.nio.channels.ClosedChannelException]
> [11/4/09 9:37:12:886 CET] 0000000c ThreadMonitor W   WSVR0605W: Thread 
> "WebContainer : 4" (00000070) has been active for 698780 milliseconds and 
> may be hung.  There is/are 1 thread(s) in total in the server that may be 
> hung.
> [11/4/09 9:58:32:760 CET] 00000067 LoggerListene W 
> org.springframework.security.event.authentication.LoggerListener 
> onApplicationEvent Authentication event AuthenticationSuccessEvent: 
> xxxxxxx; details: 
> org.springframework.security.ui.WebAuthenticationDetails at fffc7f0c: 
> RemoteIpAddress: 10.2.2.144; SessionId: 2xXUg3GXjUY1BkZHYdd17KN
> 
> _______________________________________________
> 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