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

JDI connectors hang on launching or connecting to debuggee VM

XMLWordPrintable

    • sparc
    • solaris_8



      Name: ipR10196 Date: 12/23/2002


      Ivan Popov <###@###.###>

      With the latest JDK-1.4.2 b11 build many JDI tests hang on launching debuggee VM
      by default launching connector. Or tests hang on connecting to already launched
      debuggee VM by attaching or listening connector. Printing thread dump by Ctrl-\
      shows,
      that this hang occurs in JDI connector methods launch(), attach() or accept().
      Thread dump for "main" thread varies sometimes.

      This bug is reproduced only on solaris-sparc platform with the new mantis-b11
      build.
      On all other platforms tests pass, as well as with the previous build b10.

      Since this bug breaks execution of all JDI tests of testbase_nsk, I'm submitting
      this with the highest priority P1/S1.

      To reproduce this failure:
      1. cd /net/sqesvr.sfbay/export/vsn/GammaBase/Bugs/<BugID>
      2. sh doit.sh -verbose $JAVA_HOME

      Test hang log with mantis-b11:
      ======================================================
      running test
      binder> VirtualMachineManager: version 1.4
      binder> Finding connector: default
      binder> LaunchingConnector:
      binder> name: com.sun.jdi.CommandLineLaunch
      binder> description: Launches target using Sun Java VM command line and
      attaches to it
      binder> transport: dt_socket
      binder> Connector arguments:
      binder> home=/export/ld54/java/dest/jdk1.4.2-b11/solaris-sparc/jre
      binder> vmexec=java
      binder> options=
      binder> main=nsk.jdi.VirtualMachine.version.version001a -vbs
      -debugee.vmkeys= "-verbose"
      binder> quote="
      binder> suspend=true
      binder> Launching debugee

      <CTRL-\>

      Full thread dump Java HotSpot(TM) Client VM (1.4.2-beta-b11 mixed mode):

      "JDI Target VM Interface" daemon prio=5 tid=0x00163288 nid=0xf runnable [0..0]

      "JDI Internal Event Handler" daemon prio=5 tid=0x00162470 nid=0xe runnable
      [0..0]

      "process reaper" daemon prio=5 tid=0x00148278 nid=0xb runnable
      [f9781000..f97819a0]
      at java.lang.UNIXProcess.waitForProcessExit(Native Method)
      at java.lang.UNIXProcess.access$800(UNIXProcess.java:17)
      at java.lang.UNIXProcess$3.run(UNIXProcess.java:79)

      "Signal Dispatcher" daemon prio=10 tid=0x000c2f40 nid=0x8 waiting on condition
      [0..0]

      "Finalizer" daemon prio=8 tid=0x000bde10 nid=0x6 in Object.wait()
      [fde81000..fde819a0]
      at java.lang.Object.wait(Native Method)
      - waiting on <0xf1400490> (a java.lang.ref.ReferenceQueue$Lock)
      at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
      - locked <0xf1400490> (a java.lang.ref.ReferenceQueue$Lock)
      at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
      at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

      "Reference Handler" daemon prio=10 tid=0x000bd3c8 nid=0x5 in Object.wait()
      [fdf81000..fdf819a0]
      at java.lang.Object.wait(Native Method)
      - waiting on <0xf1400380> (a java.lang.ref.Reference$Lock)
      at java.lang.Object.wait(Object.java:429)
      at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:113)
      - locked <0xf1400380> (a java.lang.ref.Reference$Lock)

      "main" prio=5 tid=0x0002d380 nid=0x1 runnable [ffbea000..ffbee0fc]
      at java.util.zip.ZipFile.getEntry(Native Method)
      at java.util.zip.ZipFile.getEntry(ZipFile.java:149)
      - locked <0xf141d580> (a java.util.jar.JarFile)
      at java.util.jar.JarFile.getEntry(JarFile.java:194)
      at java.util.jar.JarFile.getJarEntry(JarFile.java:181)
      at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:668)
      at sun.misc.URLClassPath.getResource(URLClassPath.java:157)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:190)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
      - locked <0xf1414b88> (a sun.misc.Launcher$ExtClassLoader)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:292)
      - locked <0xf1419ce8> (a sun.misc.Launcher$AppClassLoader)
      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
      - locked <0xf1419ce8> (a sun.misc.Launcher$AppClassLoader)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
      at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
      - locked <0xf1419ce8> (a sun.misc.Launcher$AppClassLoader)
      at java.lang.ClassLoader.defineClass0(Native Method)
      at java.lang.ClassLoader.defineClass(ClassLoader.java:504)
      at
      java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
      at java.net.URLClassLoader.defineClass(URLClassLoader.java:250)
      at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
      - locked <0xf1419ce8> (a sun.misc.Launcher$AppClassLoader)
      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
      - locked <0xf1419ce8> (a sun.misc.Launcher$AppClassLoader)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
      at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
      - locked <0xf1419ce8> (a sun.misc.Launcher$AppClassLoader)
      at
      com.sun.tools.jdi.JDWP$VirtualMachine$IDSizes.enqueueCommand(JDWP.java:472)
      at com.sun.tools.jdi.JDWP$VirtualMachine$IDSizes.process(JDWP.java:467)
      at
      com.sun.tools.jdi.VirtualMachineImpl.<init>(VirtualMachineImpl.java:175)
      at
      com.sun.tools.jdi.VirtualMachineManagerImpl.createVirtualMachine(VirtualMachineM
      anagerImpl.java:203)
      - locked <0xf1471808> (a com.sun.tools.jdi.VirtualMachineManagerImpl)
      at com.sun.tools.jdi.AbstractLauncher.launch(AbstractLauncher.java:107)
      at
      com.sun.tools.jdi.SunCommandLineLauncher.launch(SunCommandLineLauncher.java:144)
      at nsk.share.jdi.Binder.localDefaultLaunchDebugee(Binder.java:211)
      at nsk.share.jdi.Binder.bindToDebugee(Binder.java:128)
      at
      nsk.jdi.VirtualMachine.version.version001.runThis(version001.java:100)
      at nsk.jdi.VirtualMachine.version.version001.run(version001.java:48)
      at nsk.jdi.VirtualMachine.version.version001.main(version001.java:43)

      "VM Thread" prio=5 tid=0x000bbf80 nid=0x4 runnable

      "VM Periodic Task Thread" prio=10 tid=0x000c5b30 nid=0xa waiting on condition
      "Suspend Checker Thread" prio=10 tid=0x000c25d8 nid=0x7 runnable
      Exception in thread "main" com.sun.jdi.VMDisconnectedException: Socket closed
      at com.sun.tools.jdi.TargetVM.send(TargetVM.java:262)
      at
      com.sun.tools.jdi.VirtualMachineImpl.sendToTarget(VirtualMachineImpl.java:879)
      at com.sun.tools.jdi.PacketStream.send(PacketStream.java:41)
      at
      com.sun.tools.jdi.JDWP$VirtualMachine$IDSizes.enqueueCommand(JDWP.java:476)
      at com.sun.tools.jdi.JDWP$VirtualMachine$IDSizes.process(JDWP.java:467)
      at
      com.sun.tools.jdi.VirtualMachineImpl.<init>(VirtualMachineImpl.java:175)
      at
      com.sun.tools.jdi.VirtualMachineManagerImpl.createVirtualMachine(VirtualMachineM
      anagerImpl.java:203)
      at com.sun.tools.jdi.AbstractLauncher.launch(AbstractLauncher.java:107)
      at
      com.sun.tools.jdi.SunCommandLineLauncher.launch(SunCommandLineLauncher.java:144)
      at nsk.share.jdi.Binder.localDefaultLaunchDebugee(Binder.java:211)
      at nsk.share.jdi.Binder.bindToDebugee(Binder.java:128)
      at
      nsk.jdi.VirtualMachine.version.version001.runThis(version001.java:100)
      at nsk.jdi.VirtualMachine.version.version001.run(version001.java:48)
      at nsk.jdi.VirtualMachine.version.version001.main(version001.java:43)
      ======================================================

      Test pass log with mantis-b10:
      ======================================================
      running test
      binder> VirtualMachineManager: version 1.4
      binder> Finding connector: default
      binder> LaunchingConnector:
      binder> name: com.sun.jdi.CommandLineLaunch
      binder> description: Launches target using Sun Java VM command line and
      attaches to it
      binder> transport: dt_socket
      binder> Connector arguments:
      binder> home=/export/ld54/java/dest/jdk1.4.2-b10/solaris-sparc/jre
      binder> vmexec=java
      binder> options=
      binder> main=nsk.jdi.VirtualMachine.version.version001a -vbs -arch=sparc
      "-verbose"
      binder> quote="
      binder> suspend=true
      binder> Launching debugee
      binder> Redirecting VM output
      binder> Waiting for VM initialized
      debugee> Initial VMStartEvent received: VMStartEvent in thread main
      --> debugger: issuspended002a debuggee launched
      debugee.stderr> **> version001a: debuggee started!
      --> debugger: 'ready' recieved

      ==> nsk/jdi/VirtualMachine/version/version001 TESTING BEGINS
      debugee.stderr> **> version001a: waiting for an instruction from the debugger
      ...
      debugee.stderr> **> version001a: waiting for an instruction from the debugger
      ...

      ==> nsk/jdi/VirtualMachine/version/version001 new checkready: #0
      --> debugger: version == 1.4.2-beta
      --> debugger: the end of testing
      debugee.stderr> **> version001a: waiting for an instruction from the debugger
      ...
      --> debugger: : returned string is 'checkend'

      ==> nsk/jdi/VirtualMachine/version/version001 TESTING ENDS
      --> debugger: waiting for the debuggee to finish ...
      debugee.stderr> **> version001a: 'quit' recieved
      --> debugger: debuggee returned expected exit status: 95 == PASS_BASE
      java exit code: 95
      ======================================================

      ======================================================================

            sgoldman Steve Goldman (Inactive)
            popovsunw Popov Popov (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: