Hi Brice,

The log output suggests that there is a race condition between the
connection timeout and the sending of a new packet. I will
have look if it can be fixed.

A workaround would be to choose a longer timeout.

Best regards,
Frank

Am 18.01.2012 14:21, schrieb Brice Fines:
> Hi Frank,
>
> Our environment is the following one.
> We are using SNMP4J 1.11.03 (we cannot migrate yet to 2.x but we are up to
> date with 1.x) in web application (running in WAS 6.1 with IBM JVM 1.5).
> We are managing around 800 devices with our application using SNMP4J.
> We are sending commands over TCP to these devices (on average, we send 100
> commands during one day).
>
> Not too often (it can be months or weeks before it happens again), we get
> a ClosedChannelException  (see included log trace, device IP is
> 10.247.254.2).
>
> Since this occurs once in a while, this is not critical (next command to
> same device works ok, and all other commands work ok too) (everything else
> (commands, PDU,...) is running smoothly).
> I think I reported this some time ago; I was waiting to check if it would
> disappear with last update (with the TCP fixes), but it showed up again.
> Do you think it could be a race condition bug in
> DefaultTcpTransportMapping?
> Thanks in advance.
>
> Regards
> Brice
>
>
> [1/18/12 8:11:39:175 CET] 0000003b SystemOut     O
> org.snmp4j.transport.DefaultTcpTransportMapping$ServerThread<sendMessage>
> Looking up connection for destination '10.247.254.2/161' returned:
> SocketEntry[peerAddress=10.247.254.2/161,socket=Socket[addr=/10.247.254.2,port=161,localport=65423],lastUse=Wed
> Jan 18 08:01:16 CET 2012]
> [1/18/12 8:11:39:177 CET] 0000003b SystemOut     O
> org.snmp4j.transport.DefaultTcpTransportMapping$ServerThread<sendMessage>
> {10.247.254.11/161=SocketEntry[peerAddress=10.247.254.11/161,socket=Socket[unconnected],lastUse=Wed
> Jan 18 08:00:30 CET 2012],
> 10.247.254.28/161=SocketEntry[peerAddress=10.247.254.28/161,socket=Socket[unconnected],lastUse=Wed
> Jan 18 07:30:21 CET 2012],
> 10.249.17.9/161=SocketEntry[peerAddress=10.249.17.9/161,socket=Socket[unconnected],lastUse=Wed
> Jan 18 07:30:51 CET 2012],
> 10.247.254.1/161=SocketEntry[peerAddress=10.247.254.1/161,socket=Socket[unconnected],lastUse=Wed
> Jan 18 08:00:20 CET 2012],
> 10.247.254.27/161=SocketEntry[peerAddress=10.247.254.27/161,socket=Socket[unconnected],lastUse=Wed
> Jan 18 08:00:25 CET 2012],
> 10.247.254.2/161=SocketEntry[peerAddress=10.247.254.2/161,socket=Socket[addr=/10.247.254.2,port=161,localport=65423],lastUse=Wed
> Jan 18 08:01:16 CET 2012],
> 10.247.254.20/161=SocketEntry[peerAddress=10.247.254.20/161,socket=Socket[unconnected],lastUse=Wed
> Jan 18 07:30:31 CET 2012],
> 10.249.17.2/161=SocketEntry[peerAddress=10.249.17.2/161,socket=Socket[unconnected],lastUse=Wed
> Jan 18 07:30:46 CET 2012],
> 10.247.254.22/161=SocketEntry[peerAddress=10.247.254.22/161,socket=Socket[unconnected],lastUse=Wed
> Jan 18 07:30:36 CET 2012],
> 10.247.254.17/161=SocketEntry[peerAddress=10.247.254.17/161,socket=Socket[unconnected],lastUse=Wed
> Jan 18 07:30:15 CET 2012],
> 10.247.254.18/161=SocketEntry[peerAddress=10.247.254.18/161,socket=Socket[unconnected],lastUse=Wed
> Jan 18 07:30:26 CET 2012],
> 10.247.254.13/161=SocketEntry[peerAddress=10.247.254.13/161,socket=Socket[unconnected],lastUse=Wed
> Jan 18 08:00:00 CET 2012],
> 10.247.254.15/161=SocketEntry[peerAddress=10.247.254.15/161,socket=Socket[addr=/10.247.254.15,port=161,localport=65440],lastUse=Wed
> Jan 18 08:01:46 CET 2012]}
> [1/18/12 8:11:39:177 CET] 0000003b SystemOut     O
> org.snmp4j.transport.DefaultTcpTransportMapping$ServerThread<sendMessage>
> Waking up selector for new message
> [1/18/12 8:11:39:178 CET] 00000031 SystemOut     O
> org.snmp4j.transport.DefaultTcpTransportMapping$SocketEntry
> <addRegistration>  Adding operation 4 for:
> SocketEntry[peerAddress=10.247.254.2/161,socket=Socket[addr=/10.247.254.2,port=161,localport=65423],lastUse=Wed
> Jan 18 08:01:16 CET 2012]
> [1/18/12 8:11:39:179 CET] 00000033 SystemOut     O
> org.snmp4j.transport.DefaultTcpTransportMapping$SocketTimeout<run>  Socket
> to 10.247.254.10/161 closed due to timeout
> [1/18/12 8:11:39:179 CET] 00000033 SystemOut     O
> org.snmp4j.util.commonj.TimerManagerCommonTimerImpl$CommonJTimerTaskWrapper
> <timerExpired>  Removing wrapped TimerTask:
> org.snmp4j.transport.DefaultTcpTransportMapping$SocketTimeout@48a048a
> [1/18/12 8:11:39:179 CET] 00000033 SystemOut     O
> org.snmp4j.util.commonj.TimerManagerCommonTimerImpl$CommonJTimerTaskWrapper
> <timerExpired>  Run wrapped TimerTask:
> org.snmp4j.transport.DefaultTcpTransportMapping$SocketTimeout@77527752
> [1/18/12 8:11:39:180 CET] 00000033 SystemOut     O
> org.snmp4j.transport.DefaultTcpTransportMapping$SocketTimeout<run>  Socket
> has not been used for 622564 micro seconds, closing it
> [1/18/12 8:11:39:180 CET] 00000033 SystemOut     O
> org.snmp4j.transport.DefaultTcpTransportMapping$SocketTimeout<run>  Socket
> to 10.247.254.2/161 closed due to timeout
> [1/18/12 8:11:39:180 CET] 00000033 SystemOut     O
> org.snmp4j.util.commonj.TimerManagerCommonTimerImpl$CommonJTimerTaskWrapper
> <timerExpired>  Removing wrapped TimerTask:
> org.snmp4j.transport.DefaultTcpTransportMapping$SocketTimeout@77527752
> [1/18/12 8:11:39:181 CET] 00000033 SystemOut     O
> org.snmp4j.util.commonj.TimerManagerCommonTimerImpl$CommonJTimerTaskWrapper
> <timerExpired>  Run wrapped TimerTask:
> org.snmp4j.transport.DefaultTcpTransportMapping$SocketTimeout@39103910
> [1/18/12 8:11:39:181 CET] 00000033 SystemOut     O
> org.snmp4j.transport.DefaultTcpTransportMapping$SocketTimeout<run>  Socket
> has not been used for 592518 micro seconds, closing it
> [1/18/12 8:11:39:181 CET] 00000033 SystemOut     O
> org.snmp4j.transport.DefaultTcpTransportMapping$SocketTimeout<run>  Socket
> to 10.247.254.15/161 closed due to timeout
> [1/18/12 8:11:39:181 CET] 00000033 SystemOut     O
> org.snmp4j.util.commonj.TimerManagerCommonTimerImpl$CommonJTimerTaskWrapper
> <timerExpired>  Removing wrapped TimerTask:
> org.snmp4j.transport.DefaultTcpTransportMapping$SocketTimeout@39103910
> [1/18/12 8:11:39:182 CET] 00000032 SystemOut     O
> org.snmp4j.transport.DefaultTcpTransportMapping$SocketTimeout<run>  Socket
> to 10.247.254.9/161 closed due to timeout
> [1/18/12 8:11:39:182 CET] 00000032 SystemOut     O
> org.snmp4j.util.commonj.TimerManagerCommonTimerImpl$CommonJTimerTaskWrapper
> <timerExpired>  Removing wrapped TimerTask:
> org.snmp4j.transport.DefaultTcpTransportMapping$SocketTimeout@73087308
> [1/18/12 8:11:39:182 CET] 00000031 SystemOut     O
> org.snmp4j.transport.DefaultTcpTransportMapping$SocketEntry
> <addRegistration>  Adding operation 8 for:
> SocketEntry[peerAddress=10.247.254.2/161,socket=Socket[unconnected],lastUse=Wed
> Jan 18 08:01:16 CET 2012]
> [1/18/12 8:11:39:183 CET] 00000031 SystemOut     O
> org.snmp4j.transport.DefaultTcpTransportMapping$ServerThread
> <processPending>  java.nio.channels.ClosedChannelException
> [1/18/12 8:11:39:183 CET] 00000031 SystemOut     O
> org.snmp4j.transport.TcpTransportMapping<fireConnectionStateChanged>
> Firing transport state event:
> org.snmp4j.transport.TransportStateEvent[source=org.snmp4j.transport.DefaultTcpTransportMapping@58fa58fa,peerAddress=10.247.254.2/161,newState=4,cancelled=false,causingException=java.nio.channels.ClosedChannelException]
> _______________________________________________
> SNMP4J mailing list
> SNMP4J@agentpp.org
> http://lists.agentpp.org/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
http://lists.agentpp.org/mailman/listinfo/snmp4j

Reply via email to