RFR: 8020875 java/lang/management/ThreadMXBean/ResetPeakThreadCount.java fails intermittently

Mandy Chung mandy.chung at oracle.com
Tue Jul 23 23:20:56 PDT 2013


On 7/24/2013 2:09 PM, Daniel Fuchs wrote:
> On 7/24/13 8:01 AM, Mandy Chung wrote:
>> I am catching up on this thread....
>>
>> The thread count counts Java threads that are not hidden.  I believe 
>> all VM internal threads are hidden from external API. This test runs 
>> in othervm mode and AFAICT the thread count is expected to be 
>> deterministic.  I don't expect the VM will start and terminate any 
>> thread any time.
>>
>> I agree with David that we should diagnose why there is one 
>> additional thread started before the reset.  If it is the 
>> LogManager$Cleaner thread, like David said, the VM is shutting down 
>> while the test is still running which doesn't quite make sense.
> I think that Shanliang's suspicion that a thread might be still alive 
> if unscheduled just after having
> called its barrier.signal() is a very good suggestion. I would advise 
> calling thread.join() on all threads in
> terminateThreads, just to make sure they are all really dead and not 
> in some comatose state...
> If Shanliang is right then the test would be failing because some of 
> the threads we think are dead are
> not actually dead yet - and not because of some new VM thread that 
> nobody can see :-)

Thanks for pointing that out.

I agree that the test should be changed to call Thread.join(). There may 
be other java.lang.management tests that should also be fixed to call 
Thread.join.

Mandy


More information about the serviceability-dev mailing list