On Fri, 10 Dec 2021 20:30:41 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. > > Chris Plummer has updated the pull request incrementally with one additional > commit since the last revision: > > Renamed isRetry to allowRetry. Changes requested by amenkov (Reviewer). test/jdk/sun/tools/jhsdb/JShellHeapDumpTest.java line 112: > 110: // if that happens. This failure is so rare that this > should be enough to make it > 111: // extremely unlikely that we ever see this test fail > again for this reason. > 112: if (allowRetry) { Looks like this should be !allowRetry ------------- PR: https://git.openjdk.java.net/jdk/pull/6795