Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
10.5.1.1
-
None
-
Patch Available
Description
am looking at a intermittent hang with IBM 1.6 on Linux with the ping
command. I am not entirely sure it is a jvm issue, but I have not been
able to reproduce the hang with other jvms.
The trace is
3XMTHREADINFO "main" TID:0x08072500, j9thread_t:0x08057AF4, state:R, prio=5
3XMTHREADINFO1 (native thread ID:0x1E05, native priority:0x5, native policy:UNKNOWN)
4XESTACKTRACE at java/net/SocketInputStream.socketRead0(Native Method)
4XESTACKTRACE at java/net/SocketInputStream.read(SocketInputStream.java:140)
4XESTACKTRACE at java/net/SocketInputStream.read(SocketInputStream.java:101)
4XESTACKTRACE at org/apache/derby/impl/drda/NetworkServerControlImpl.fillReplyBuffer(NetworkServerControlImpl.java:2764)
4XESTACKTRACE at org/apache/derby/impl/drda/NetworkServerControlImpl.readResult(NetworkServerControlImpl.java:2708)
4XESTACKTRACE at org/apache/derby/impl/drda/NetworkServerControlImpl.pingWithNoOpen(NetworkServerControlImpl.java:1169)
4XESTACKTRACE at org/apache/derby/impl/drda/NetworkServerControlImpl.ping(NetworkServerControlImpl.java:1144(Compiled Code))
4XESTACKTRACE at org/apache/derby/drda/NetworkServerControl.ping(NetworkServerControl.java:395(Compiled Code))
4XESTACKTRACE at Repro.pingForServerUp(Repro.java:38(Compiled Code))
4XESTACKTRACE at Repro.startAndShutdown(Repro.java:20)
The client has sent the ping, but there is no corresponding session on
the server side to process the
command. The full thread dump is in.
javacore.20080903.183815.7684.0001.txt
The program Repro.java shows the problem. It repeatedly starts the server, pings until it
comes up, and then shuts down.
In the derby.log I see a startup error, that the address is already in
use, so presumably the shutdown is not complete before we start the
server and then perhaps it shuts down mid ping causing the hang?
2008-09-04 01:37:51.048 GMT : Could not listen on port 1527 on host 127.0.0.1:
java.net.BindException: Address already in use
An exception was thrown during network server startup. DRDA_ListenPort.S:Could not listen on port 1527 on host 127.0.0.1:
java.net.BindException: Address already in use
java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:599)
at org.apache.derby.iapi.jdbc.DRDAServerStarter.run(DRDAServerStarter.java:236)
at java.lang.Thread.run(Thread.java:735)
Caused by: java.lang.Exception: DRDA_ListenPort.S:Could not listen on port 1527 on host 127.0.0.1:
java.net.BindException: Address already in use
at java.lang.Throwable.<init>(Throwable.java:67)
at org.apache.derby.impl.drda.NetworkServerControlImpl.consolePropertyMessageWork(NetworkServerControlImpl.java:3179)
at org.apache.derby.impl.drda.NetworkServerControlImpl.consolePropertyMessage(NetworkServerControlImpl.java:1861)
at org.apache.derby.impl.drda.NetworkServerControlImpl.blockingStart(NetworkServerControlImpl.java:731)
... 5 more
Full log is attached as derby.log