On Sun, 25 May 2025 05:16:36 GMT, Chen Liang <li...@openjdk.org> wrote:
>> Updates the thread dump generated by HotSpotDiagnosticMXBean.dumpThreads and >> jcmd Thread.dump_to_file to include thread state and lock information. Also >> update the HotSpotDiagnosticMXBean.dumpThreads API description to link to a >> description of the JSON format dump as that format is intended to be >> parseable/read by tools. >> >> This PR is dependent on >> [pull/25425](https://github.com/openjdk/jdk/pull/25425). As noted in that >> PR, the changes accumulated in the loom repo, and have been split up to make >> it easier to review. The change to src/hotspot and TheadShapshot are in >> pull/25425. >> >> The changes include some re-implementation of ThreadDumper. This is because >> it used PrintStream and didn't fail if there was an I/O error, e.g. file >> system full. Furthermore, the indentation to pretty print the json was >> fragile and hard to maintain so this is changed to use a supporting writer >> class to do this. >> >> Test coverage is significantly expanded, including updating the test library >> that is used by several tests to parse the thread dump. >> >> Testing: tier1-6 > > src/java.base/share/classes/jdk/internal/vm/ThreadDumper.java line 247: > >> 245: var jsonWriter = new JsonWriter(textWriter); >> 246: >> 247: jsonWriter.startObject(); // top-level object > > Is this anticipated to be used in early bootstrap so we use `startObject` > `endObject` instead of using functional code or try-with-resources that > create scopes? There were several prototypes that use AutoCloseable and other shapes. The intention is to keep as a simple as possible, this is not the focus of the change, and we should be able to eventually replace all this with a better writer. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/25429#discussion_r2106095592