On Fri, 31 Jul 2026 19:56:02 GMT, Shiv Shah <[email protected]> wrote:
> The failure handler keys each HTML section id by the command's name path, so
> when a command name occurs again after an intervening command - the same
> command repeated, or the same top-level tool reused, as in
> "jcmd.compiler.codecache jinfo jcmd.compiler.codelist" - a second section
> with the same id is written. Anchors and the data-toggle / data-show
> javascript resolve ids via document.getElementById, which returns the first
> match, so the later occurrence's output is unreachable. These are the two
> cases reported in the bug.
>
> Fix: the root section keeps a registry of issued ids; a repeated id gets the
> first free numeric suffix ("jcmd-2", ...). Displayed names are unchanged,
> adjacent commands with a shared prefix still share their sections, children
> of a suffixed section are unique automatically, and the registry also
> prevents collisions with a command literally named like a suffix. The only
> external id reconstruction, ToolKit.link(), is keyed by PID and unaffected.
>
> Ids can still repeat across appended fragments (each invocation appends a
> complete HTML document); that is pre-existing and tracked as JDK-8389541.
>
>
>
> ---------
> - [x] I confirm that I make this contribution in accordance with the [OpenJDK
> Interim AI Policy](https://openjdk.org/legal/ai).
This pull request has now been integrated.
Changeset: c9dccc00
Author: Shiv Shah <[email protected]>
Committer: Leonid Mesnik <[email protected]>
URL:
https://git.openjdk.org/jdk/commit/c9dccc00bee5adc808ba8fbb0b294b0b22d1c57b
Stats: 183 lines in 2 files changed: 180 ins; 0 del; 3 mod
8337680: failure_handler does not handle repeated commands well
Reviewed-by: lmesnik, jpai
-------------
PR: https://git.openjdk.org/jdk/pull/32157