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

vmdeath001: JDWP event VM_DEATH is not received on Windows

XMLWordPrintable

    • x86, itanium
    • linux_redhat_7.2, windows_nt



      Name: elR10090 Date: 12/17/2001

      -------------------------------------
        Test : nsk/jdwp/Event/VM_DEATH/vmdeath001 nsk/jdi/EventQueue/remove_l/remove_l003
              nsk/jdi/VirtualMachine/exit/exit001

        TestBase : testbase_nsk
        VM : server
        Mode : int
        Platform : Itanium
        OS : WINXP
        
       ----------------------------------------
      Ivan Popov <###@###.###>

      The following JDWP test

          nsk/jdwp/Event/VM_DEATH/vmdeath001

      failed against JDK 1.4.0-rc1-b89 on Windows.

      This test uses raw socket channel for JDWP connection
      and verifies if JDWP event VM_DEATH is received when
      debuggee VM exits.

      The test launches debuggee VM, waits for VM_START event
      is received and resumes debuggee VM. After resuming
      the debuggee VM just exits and the test waits for
      VM_DEATH event packet.

      However, if debuggee VM has time to finish before the test
      tries to read VM_DEATH event packet from JDWP channel, a
      SocketException is thrown with the diagnostics:

        java.net.SocketException:
            Connection reset by peer: JVM_recv in socket input stream read

      But if the test has time to read VM_DEATH event packet before
      debuggee VM actually exited, no exception is thrown.

      I slightly modified the test by including sleep for 10 seconds
      before reading VM_DEATH event packet to make this failure
      more stable.

      This failure occurs only on Windows. On the all ather platforms
      this test pass, even with the delay before reading event.

      Here is citation from the test log (on Windows):
      ================================================================
      Waiting for VM_INIT event
        ... VM_INIT event received
      Querying for IDSizes
        ... size of VM-dependent types adjusted
      Resumindg debuggee
        ... debuggee resumed
      Sleeping for 10 seconds
      debugee.stderr> Debugee exited
        ... continued after sleep

      >>> Testing JDWP event

      Waiting for event packet
      # ERROR: Unable to read tested event packet:
      # ERROR: java.net.SocketException: Connection reset by peer:
                      JVM_recv in socket input stream read
      ================================================================

      This failure affects many JDWP tests of testbase_nsk because
      they use VM_DEATH event to be notified about debuggee VM shutdown.

      These tests will appear in the next release of testbase_nsk
      located here:

          /net/sqesvr.sfbay/export/vsn/VM/testbase/testbase_nsk.v14

      To reproduce the bug run 'doit.sh' script located here:

          /net/sqesvr.sfbay/export/vsn/GammaBase/Bugs/<this bug number>

      Use:
          sh doit.sh $JAVA_HOME
      Where:
          $JAVA_HOME: points to JDK 1.4-b89 for Windows

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

      As noted here and elsewhere the issue is that the transport isn't
      closed gracefully when the VM terminates gracefully. This issue is
      understood and is being fixed in tiger as 4816980.

      ###@###.### 2003-09-04

            alanb Alan Bateman
            latkinsunw Latkin Latkin (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: