On Mon, 12 Sep 2022 21:52:31 GMT, Serguei Spitsyn <[email protected]> wrote:

>> There is a workaround we can do for 
>> [JDK-8292217](https://bugs.openjdk.org/browse/JDK-8292217) for the use case 
>> where a step over or step out is being done. This workaround can't be made 
>> to also work for the step into case. From 
>> [JDK-8292217](https://bugs.openjdk.org/browse/JDK-8292217)
>> 
>> "There is a workaround that fixes this issue when doing a STEP_OVER or 
>> STEP_OUT. Rather than the debug agent checking if it has enabled JVMTI 
>> single stepping, instead it checks some fields in the ThreadNode that say if 
>> single stepping is pending, and it is for a STEP_INTO. If it is not 
>> STEP_INTO, then it can assume that no StepEvent will occur at the same 
>> location and therefor the MethodEntryEvent should not be deferred. So this 
>> limits the bug to only happening when doing a STEP_INTO. "
>
> test/jdk/com/sun/jdi/CLETest.java line 226:
> 
>> 224:                 System.out.println("TESTCASE #" + testcase + " FAILED" +
>> 225:                                    (testcase == 2 ? "(ignoring)" : "") +
>> 226:                                    ": too many events in EventSet: " + 
>> set.size());
> 
> The comment says there is a workaround in place allowing the 1st test case to 
> pass.
> However, the 1st test case is marked as failed at the line 222 and the 
> produced message says it is ignoring the 2nd test case. I'm confused. Do I 
> miss anything?

testcase #2 is expected to fail, so that is why we do not set "testFailed = 
true" at line 222. However, if testcase #1 fails, we do want the overall test 
to fail, so in that case we set "testFailed = true" at line 222.

-------------

PR: https://git.openjdk.org/jdk/pull/10091

Reply via email to