RFR: 8355065: ConcurrentModificationException in RichDiagnosticFormatter
Chen Liang
liach at openjdk.org
Sun Apr 20 02:07:47 UTC 2025
On Sat, 19 Apr 2025 18:59:57 GMT, Liam Miller-Cushon <cushon at openjdk.org> wrote:
> Hi, please consider this fix for [JDK-8355065](https://bugs.openjdk.org/browse/JDK-8355065). RichDiagnosticFormatter is comparing type variables by their `toString` representation, and in this example the comparison fails due to type annotations. Replacing a call to `stripMetadataIfNeeded` with `stripMetadata` allows the comparison to succeed, and is consistent with the approach used in other parts of RichDiagnosticFormatter (e.g. for [the fix for JDK-8144580](https://github.com/openjdk/jdk/commit/570883e4dc5f769e17b3fcd8f2bbeb369dfe3a5d)).
Hmm, now by stripping, now the metadata is no longer processed and the missing enum problem is no longer reported - this seems to just make the root CME more latent and eliminates one location where it can surface.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/24769#issuecomment-2816946153
More information about the compiler-dev
mailing list