Hi all, Could someone review this fix?
Thanks, Yuji 2016-02-04 2:27 GMT+09:00 KUBOTA Yuji <[email protected]>: > 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 <[email protected]>: >> Hi all, >> >> Can somebody please review and sponsor this fix ? >> >> Thanks, >> Yuji >> >> 2016-01-05 17:56 GMT+09:00 KUBOTA Yuji <[email protected]>: >>> 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 <[email protected]>: >>>> 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-
