[jdk11u-dev] RFR: 8329013: StackOverflowError when starting Apache Tomcat with signed jar
Amos Shi
ashi at openjdk.org
Mon Apr 29 20:47:13 UTC 2024
On Mon, 29 Apr 2024 06:58:21 GMT, Matthias Baesken <mbaesken at openjdk.org> wrote:
>> Backport of [JDK-8329013](https://bugs.openjdk.org/browse/JDK-8329013)
>> - This PR contains two commits
>> - commit 1:
>> - is the original git apply
>> - and the `src/java.base/share/classes/jdk/internal/misc/ThreadTracker.java` file needed by this PR
>> - The `ThreadTracker.java` class was added by https://github.com/openjdk/jdk/commit/9583e3657e43cc1c6f2101a64534564db2a9bd84 , which is pretty big for `Virtual Threads` ([JDK-8284161](https://bugs.openjdk.org/browse/JDK-8284161)) and we have no intention to back port this change to Java 11 right now
>> - So here we simply copy the current code of `ThreadTracker.java` to `jdk11u-dev`
>> - commit 2:
>> - Manual merge of `src/java.base/share/classes/jdk/internal/event/EventHelper.java` based on the `EventHelper.java.rej` file. The change to this file can be `considered as clean`.
>> - Fix java 11 compile error for `ThreadTracker.java`
>>
>> Testing
>> - Local: Test passed
>> - `RecursiveEventHelper.java`: Test results: passed: 1
>> - Pipeline: All checks have passed
>> - Testing Machine: SAP nightlies passed on `2024-04-28`
>> - Automated jtreg test: jtreg_jdk_tier2
>> - `jdk/security/logging/RecursiveEventHelper.java`: SUCCESSFUL GitHub 📊⏲ - [2,152 msec]
>
> src/java.base/share/classes/jdk/internal/misc/ThreadTracker.java line 42:
>
>> 40: * as they may run arbitrary code and/or leak references to Thread objects.
>> 41: */
>> 42: private class ThreadRef {
>
> In case of record to class, shouldn't it be a final class ?
@MBaesken Good catch. I decompiled a Java Record type confirmed this point: `final` is needed
access_flags: 0000000000110000 final super
-------------
PR Review Comment: https://git.openjdk.org/jdk11u-dev/pull/2687#discussion_r1583736478
More information about the jdk-updates-dev
mailing list