Hi Yuji,
Not sure who would look at this so cc'ing net-dev.
Also note that contributions can only be accepted if presented via
OpenJKDK infrastructure. Links to patches on
http://icedtea.classpath.org are not acceptable. The patch needs to be
included in the email (beware stripped attachments) if you can't get it
hosted on cr.openjdk.java.net. Sorry.
David
On 9/02/2016 12:10 AM, KUBOTA Yuji wrote:
Hi all,
Could someone review this fix?
Thanks,
Yuji
2016-02-04 2:27 GMT+09:00 KUBOTA Yuji <kubota.y...@gmail.com>:
Hi all,
Could someone please review and sponsor this fix ?
I write the details of this issue again. Please review it.
=Problem=
Potential infinite waiting at TCPChannel#createConnection.
This method flushes the DataOutputStream without the socket
timeout settings when choose stream protocol [1]. If connection lost
or the destination server do not return response during the flush,
this method wait forever because the timeout settings is set the
default value of SO_TIMEOUT, i.e., infinite.
[1]:
http://hg.openjdk.java.net/jdk9/dev/jdk/file/7adef1c3afd5/src/java.rmi/share/classes/sun/rmi/transport/tcp/TCPChannel.java#l227
I think this issue is rarely, however serious.
=Reproduce=
I write a test program to reproduce. You can reproduce by the below.
* hg clone
http://icedtea.classpath.org/people/ykubota/fixLoopAtJMXConnectorFactory/
* cd fixLoopAtJMXConnectorFactory; mvn package
* setting "stop_time" at debugcontrol.properties if you need.
* java -cp .:target/debugcontrol-1.0-SNAPSHOT.jar debugcontrol.DebugController
This program keep to wait at TCPChannel#createConnection due to
this issue. After "debugcontroltest.stop_time" ms, this program release
the waiting by sending quit to jdb which is stopping the destination
server. Finally, return 2.
=Solution=
Set timeout by using property-configured value:
sun.rmi.transport.tcp.responseTimeout.
My patch is below.
http://icedtea.classpath.org/people/ykubota/fixLoopAtJMXConnectorFactory/file/e31044f0804f/jdk9.patch
If you run the test program with modified JDK9 by my patch, the test
program will get java.net.SocketTimeoutException after the connection
timeout happen, then return 0.
Thanks,
Yuji.
2016-01-13 23:31 GMT+09:00 KUBOTA Yuji <kubota.y...@gmail.com>:
Hi all,
Can somebody please review and sponsor this fix ?
Thanks,
Yuji
2016-01-05 17:56 GMT+09:00 KUBOTA Yuji <kubota.y...@gmail.com>:
Hi Jaroslav and core-libs-dev,
Thank Jaroslav for your kindness!
For core-libs-dev members, links the information about this issue.
* details of problem
http://mail.openjdk.java.net/pipermail/jdk9-dev/2015-April/002152.html
* patch
http://icedtea.classpath.org/people/ykubota/fixLoopAtJMXConnectorFactory/file/e31044f0804f/jdk9.patch
* testcase for reproduce
http://icedtea.classpath.org/people/ykubota/fixLoopAtJMXConnectorFactory/file/e31044f0804f/testProgram
http://mail.openjdk.java.net/pipermail/serviceability-dev/2015-December/018415.html
Could you please review these reports?
Hope this patch helps to community.
Thanks,
Yuji
2016-01-04 23:51 GMT+09:00 Jaroslav Bachorik <jaroslav.bacho...@oracle.com>:
Hi Yuji,
On 4.1.2016 15:14, KUBOTA Yuji wrote:
Hi all,
Could you please review this patch?
Sorry for the long delay. Shanliang has not been present for some time and
probably this slipped the attention of the others.
However, core-libs mailing list might be more appropriate place to review
this change since you are dealing with s.r.t.t.TCPChannel
(http://icedtea.classpath.org/people/ykubota/fixLoopAtJMXConnectorFactory/file/e31044f0804f/jdk9.patch)
Regards,
-JB-