| Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build | 
|---|---|---|---|---|---|---|
| JDK-8276225 | 17.0.3-oracle | Harold Seigel | P4 | Resolved | Fixed | b01 | 
| JDK-8280803 | 17.0.3 | Thomas Stuefe | P4 | Resolved | Fixed | b01 | 
                    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.
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.
- backported by
- 
                    JDK-8276225 dumptime_table has stale entry -           
- Resolved
 
-         
- 
                    JDK-8280803 dumptime_table has stale entry -           
- Resolved
 
-         
- relates to
- 
                    JDK-8274753 ZGC: SEGV in MetaspaceShared::link_shared_classes -           
- Resolved
 
-         
- links to
- 
                     Commit
        openjdk/jdk17u-dev/b23271bd Commit
        openjdk/jdk17u-dev/b23271bd
- 
                     Commit
        openjdk/jdk/110e38de Commit
        openjdk/jdk/110e38de
- 
                     Review
        openjdk/jdk17u-dev/10 Review
        openjdk/jdk17u-dev/10
- 
                     Review
        openjdk/jdk17u-dev/118 Review
        openjdk/jdk17u-dev/118
- 
                     Review
        openjdk/jdk/5859 Review
        openjdk/jdk/5859
             (3 links to)