On Fri, 10 Dec 2021 07:00:10 GMT, Chris Plummer <cjplum...@openjdk.org> wrote:

> The test searches for "JShellToolProvider" in the main thread's stack trace, 
> which is pulled from an SA heap dump. Typically the main thread is blocked in 
> Object.wait(), so SA can determine its stack trace. However, the wait has a 
> 100ms timeout, so the thread does periodically wake up and does a few things 
> before waiting again. If SA tries to get the stack trace while the thread is 
> active, it may not be able to, and this causes the test to fail. I determined 
> this only happens about 1 in 5000-10000 runs. So as a fix I'm allowing the 
> test to do one retry. That should make it extremely unlikely that we ever see 
> this failure again. I also bumped up the amount of time the test waits before 
> doing the heap dump from 2 seconds to 4 just to make absolutely sure the main 
> thread is fully started before doing the heap dump.

This pull request has now been integrated.

Changeset: db502d30
Author:    Chris Plummer <cjplum...@openjdk.org>
URL:       
https://git.openjdk.java.net/jdk/commit/db502d30a42847f69273f48378f230d9d55eb8d6
Stats:     26 lines in 1 file changed: 19 ins; 0 del; 7 mod

8269556: sun/tools/jhsdb/JShellHeapDumpTest.java fails with RuntimeException 
'JShellToolProvider' missing from stdout/stderr

Reviewed-by: kevinw, sspitsyn, amenkov

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

PR: https://git.openjdk.java.net/jdk/pull/6795

Reply via email to