I am getting following exception trace :
java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is:
java.net.SocketTimeoutException: Read timed out
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:293)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:190)
I read some forums on this but not getting clarity on the root cause of this exception. Is this due to one of the following reasons?
I have the same error at client side. Server is reachable and I can open the port via telnet. When I watched into it with Wireshark on client and server side I see the following:
TCP connection is established
SYN
SYN, ACK
ACK
Client sends: JRMI, Version 2, Stream Protocol
JRMI, ProtocolAck
- But this package never reached client sideIn my case it it's the connection from MagicDraw client to license server. For other colleages at other locations it helps to use the proxy:
http.proxyHost=xxxx -Dhttp.proxyPort=8080
and the client communicats via HTTP. So maybe this could help you to ommit this issue.
https://docs.oracle.com/javase/7/docs/platform/rmi/spec/rmi-arch6.html
I can not be specific as I don't have access to the source code of Magic Draw.
- Insufficient memory.
Not at the client. Possibly at the server, if it causes a failure to allocate a thread for example.
- RMI calls getting failed due to increased number of requests to the server causing one of them to wait and causing time outs for this request to process.
No. The error occurs during the connection establishment phase, long before the server-side method implementation gets invoked.
- incompatible jre version or anything related to JRE version.
No.
- Any networking related issue.
Yes.
- Firewall related.
No. That would cause a connect timeout, or in certain obsolete cases a connection refusal, not a read timeout.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With