Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8188867

nsk/jdi/VirtualMachineManager/createVirtualMachine/createVM004 (and other tests) timeout do to socket problem

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 10
    • 8, 9, 10
    • hotspot
    • None
    • Solaris-amd64

    • svc
    • b31
    • solaris_11

      nsk/jdi/VirtualMachineManager/createVirtualMachine/createVM002,
      nsk/jdi/VirtualMachineManager/createVirtualMachine/createVM003,
      nsk/jdi/VirtualMachineManager/createVirtualMachine/createVM004 and
      nsk/jdi/VirtualMachineManager/createVirtualMachine/createVM005
      tests setup a socket with the SO_REUSEADDR flag which allows other processes to connect to the socket before the subtest.

      Here is the server side which is sitting in poll() waiting for the client to connect
      to the socket:

      ------------ lwp# 2 / thread# 2 ---------------
       ffff80ffbf5f23aa pollsys (ffff80ffbf30e608, 1, 0, 0)
       ffff80ffbf590f7f poll () + 5f
       ffff80fc09014a8b NET_Timeout () + 5b
       ffff80fc09010f53 Java_java_net_PlainSocketImpl_socketAccept () + 193
       ffff80ffa3619cbc * java/net/PlainSocketImpl.socketAccept(Ljava/net/SocketImpl;)V+7064
       ffff80ffa360b463 * java/net/AbstractPlainSocketImpl.accept(Ljava/net/SocketImpl;)V+-7488 (line 922)
       ffff80ffa360b463 * java/net/ServerSocket.implAccept(Ljava/net/Socket;)V+-24328 (line 1155)
       ffff80ffa360b463 * java/net/ServerSocket.accept()Ljava/net/Socket;+-23984 (line 1034)
       ffff80ffa360b1e0 * nsk/jdi/VirtualMachineManager/createVirtualMachine/CreateVM004_TranspServ.accept(Lcom/sun/jdi/connect/spi/TransportService$ListenKey;JJ)Lcom/sun/jdi/connect/spi/Connection;+15616 (line 552)
       ffff80ffa360b1e0 * nsk/jdi/VirtualMachineManager/createVirtualMachine/createVM004.runThis([Ljava/lang/String;Ljava/io/PrintStream;)I+-10272 (line 2205)
       ffff80ffa360aea0 * nsk/jdi/VirtualMachineManager/createVirtualMachine/createVM004.run([Ljava/lang/String;Ljava/io/PrintStream;)I+-9944 (line 145)
       ffff80ffa360aea0 * nsk/jdi/VirtualMachineManager/createVirtualMachine/createVM004.main([Ljava/lang/String;)V+-9672 (line 130)
       ffff80ffa3600aeb * nsk/jdi/VirtualMachineManager/createVirtualMachine/createVM004.main([Ljava/lang/String;)V+-9488 (line 130)
       ffff80fc0af840e6 __1cJJavaCallsLcall_helper6FpnJJavaValue_rknMmethodHandle_pnRJavaCallArguments_pnGThread__v_ () + 1f6
       ffff80fc0b0140e8 jni_CallStaticVoidMethod () + 508
       ffff80fc0c007404 JavaMain () + 5b4
       ffff80ffbf5e9171 _thrp_setup () + a5
       ffff80ffbf5e9450 _lwp_start ()

      The client has connected to some other socket and is in the process of reading
      from it which causes the hang.

      This issue has only been seen on Solaris

      The fix is to not set the SO_REUSEADDR socket flag so another process
      does not reuse the socket.

            gthornbr Gerald Thornbrugh (Inactive)
            gthornbr Gerald Thornbrugh (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: