RFR: 8009681: TEST_BUG: MethodExitReturnValuesTest.java fails with when there are unexpected background threads

Mikael Auno mikael.auno at oracle.com
Wed Oct 16 05:04:21 PDT 2013


This bug got a bit lost from my radar after vacation, but I've picked it
again now. I've moved Arrays.asList() as suggested. In further testing 
of the fix though, I found that the include list is not enough, as one 
of the expected method exit events is from String.intern(), which might 
also be called from background threads. To counter this, I added a 
thread filter to the events. This also has the added benefit of speeding 
up the test significantly (from 90 seconds to about 5 seconds) in the 
cases where there are background threads interfering.

Also added to this webrev is a fix for MethodEntryExitEvents.java which 
had exactly the same problem and a similar test design as 
MethodExitReturnValuesTest.java.

The updated webrev is at 
http://cr.openjdk.java.net/~allwin/auno/8009681/webrev.00/.

Thanks,
Mikael

On 2013-05-28 08:46, Staffan Larsen wrote:
> Looks good.
>
> You could optimize it a bit by not doing the Arrays.asList() on every
> methodExit event.
>
> /Staffan
>
> On 17 apr 2013, at 15:03, Mikael Auno <mikael.auno at oracle.com>
> wrote:
>
>> Hi, I'd like some reviews on
>> http://cr.openjdk.java.net/~nloodin/8009681/webrev.01/ for
>> JDK-8009681 (http://bugs.sun.com/view_bug.do?bug_id=8009681).
>>
>> The issue here is that when MethodExitReturnValuesTest hooks into
>> MethodExit events through JDI it uses an exclude list to filter out
>> classes from which it is not interested in these events. This is
>> bound to break over and over again as new features are added to the
>> JDK. I've changed the test to use an include list instead,
>> containing only the handful of classes the test is actually
>> interested in.
>>
>> Thanks,
 >> Mikael
>



More information about the serviceability-dev mailing list