Description
The following two failures/errors:
Invalid event kind, expected:<8(CLASS_PREPARE)> but was:<99(VM_DEATH)>
junit.framework.AssertionFailedError: Invalid event kind, expected:<8(CLASS_PREPARE)> but was:<99(VM_DEATH)>
or
org.apache.harmony.jpda.tests.framework.jdwp.ParsedEvent$Event_VM_DEATH
java.lang.ClassCastException: org.apache.harmony.jpda.tests.framework.jdwp.ParsedEvent$Event_VM_DEATH
are the cause of failures in these tests:
org.apache.harmony.jpda.tests.jdwp.Events.ClassPrepareTest.testClassPrepareEventWithSourceDebugExtension001
org.apache.harmony.jpda.tests.jdwp.Events.ClassPrepareTest.testClassPrepareEventWithSourceDebugExtension002
org.apache.harmony.jpda.tests.jdwp.Events.MonitorContendedEnteredTest.testMonitorContendedEntteredForClassOnly
org.apache.harmony.jpda.tests.jdwp.Events.MonitorContendedEnterTest.testMonitorContendedEnterForClassOnly
org.apache.harmony.jpda.tests.jdwp.Events.MonitorWaitedTest.testMonitorWaitedForClassOnly
org.apache.harmony.jpda.tests.jdwp.Events.MonitorWaitedTest.testMonitorWaitedForClassMatchExact
org.apache.harmony.jpda.tests.jdwp.Events.MonitorWaitedTest.testMonitorWaitedForClassMatchFirst
org.apache.harmony.jpda.tests.jdwp.Events.MonitorWaitedTest.testMonitorWaitedForClassMatchSecond
org.apache.harmony.jpda.tests.jdwp.Events.MonitorWaitedTest.testMonitorWaitedForClassExclude
org.apache.harmony.jpda.tests.jdwp.Events.MonitorWaitTest.testMonitorWaitForClassOnly
org.apache.harmony.jpda.tests.jdwp.Events.MonitorWaitTest.testMonitorWaitForClassMatchExact
org.apache.harmony.jpda.tests.jdwp.Events.MonitorWaitTest.testMonitorWaitForClassMatchFirst
org.apache.harmony.jpda.tests.jdwp.Events.MonitorWaitTest.testMonitorWaitForClassMatchSecond
org.apache.harmony.jpda.tests.jdwp.Events.MonitorWaitTest.testMonitorWaitForClassExclude
when running the JDWP tests in the Java 6 branch. It is likely they all have the same cause.
Previously when I investigated the "expected:<8(CLASS_PREPARE)> but was:<99(VM_DEATH)>" failure I found that the CLASS_PREPARE event was being triggered as expected, but the test did not seem to be catching it for some reason. It is possible there could be a timing hole in the test causing these failures (i.e. the debuggee VM is terminating before the debugger VM is ready, so the debugger VM only sees the debuggee shutting down), but the failures need more investigation to detemine the cause.