RFR: 8300811: jdb ThreadStartRequest and ThreadDeathRequest should use SUSPEND_NONE instead of SUSPEND_ALL

Daniel D. Daugherty dcubed at openjdk.org
Thu Feb 2 17:35:30 UTC 2023


On Mon, 23 Jan 2023 21:02:51 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:

> jdb creates a ThreadStartRequest and ThreadDeathRequest so it can track all created threads. It creates them with the SUSPEND_ALL policy. This is unnecessary since jdb always immediately resumes all threads after doing the thread bookkeeping. There is no interaction with the jdb user like there would be with something like a Breakpoint event, and therefore no reason to suspend.
> 
> I was debugging an app that does nothing except create threads and allow them to quickly exit. Changing the policy to SUSPEND_NONE sped up the execution of the app by about 100x (that's 100 times faster, not 100%)

This PR does not document the type of pre-integration testing that was done
on these changes. We're seeing intermittent test failures in Mach5 Tier3 with
'release' bits:

[JDK-8301644](https://bugs.openjdk.org/browse/JDK-8301644) com/sun/jdi/JdbStopThreadTest.java fails after JDK-8300811

@plummercj fixed JDK-8301644 a short while ago so any failures with
com/sun/jdi/JdbStopThreadTest.java should subside.

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

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


More information about the serviceability-dev mailing list