JDK-8274935 : dumptime_table has stale entry
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 18
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2021-10-07
  • Updated: 2022-01-27
  • Resolved: 2021-10-11
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 17 JDK 18
17.0.3-oracleFixed 18 b19Fixed
Related Reports
Relates :  
Description
With the fix for JDK-8274753, there's a stale entry that is in the dumptime_table but not cleaned up with class unloading.  It's not in the CLD::_klasses list.

adding com/sun/net/httpserver/HttpExchange to the table 0x0000000800c01c20
Expected: java.lang.LinkageError: loader constraint violation: loader java.net.URLClassLoader @7cca494b wants to load abstract class com.sun.net.httpserver.HttpExchange. A different abstract class with the same name was previously loaded by 'platform'. (com.sun.net.httpserver.HttpExchange is in module jdk.httpserver of loader 'platform')
adding java/lang/Throwable$PrintStreamOrWriter to the table 0x0000000800c481f0
adding java/lang/Throwable$WrappedPrintStream to the table 0x0000000800c48400
java.lang.LinkageError: loader constraint violation: loader java.net.URLClassLoader @7cca494b wants to load abstract class com.sun.net.httpserver.HttpExchange. A different abstract class with the same name was previously loaded by 'platform'. (com.sun.net.httpserver.HttpExchange is in module jdk.httpserver of loader 'platform')

The class gets a linkage error but it's never deleted because it's put on the deallocate_list as an error class, and when the class loader is unloaded, it's been removed from the _klasses list.

So it's left in the table with contents deleted, which is bad.
Comments
A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk17u-dev/pull/118 Date: 2022-01-25 09:20:30 +0000
25-01-2022

Fix request [17u] I backport this for parity with 17.0.3-oracle. Same as JDK-8274753. Clean backport.
20-12-2021

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk17u-dev/pull/10 Date: 2021-12-20 13:11:41 +0000
20-12-2021

Changeset: 110e38de Author: Coleen Phillimore <coleenp@openjdk.org> Date: 2021-10-11 12:11:11 +0000 URL: https://git.openjdk.java.net/jdk/commit/110e38ded8e09361f24c582c770d35f5cfdabf82
11-10-2021