-
Enhancement
-
Resolution: Fixed
-
P4
-
19
-
b16
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8362230 | 17.0.17-oracle | Ramkumar Sunderbabu | P4 | Resolved | Fixed | b02 |
JDK-8362484 | 17.0.17 | Goetz Lindenmaier | P4 | Resolved | Fixed | b01 |
ThreadGroup.setDaemon() are deprecated for removal:
----------direct:(19/1707)----------
/System/Volumes/Data/work/shared/bug_hunt/thread_SMR_stress/jdk19_exp.git/open/test/hotspot/jtreg/runtime/Thread/StopAtExit.java:91: warning: [removal] setDaemon(boolean) in ThreadGroup has been deprecated and marked for removal
myTG.setDaemon(true);
^
/System/Volumes/Data/work/shared/bug_hunt/thread_SMR_stress/jdk19_exp.git/open/test/hotspot/jtreg/runtime/Thread/StopAtExit.java:101: warning: [removal] stop() in Thread has been deprecated and marked for removal
thread.stop();
^
/System/Volumes/Data/work/shared/bug_hunt/thread_SMR_stress/jdk19_exp.git/open/test/hotspot/jtreg/runtime/Thread/StopAtExit.java:125: warning: [removal] stop() in Thread has been deprecated and marked for removal
thread.stop();
^
/System/Volumes/Data/work/shared/bug_hunt/thread_SMR_stress/jdk19_exp.git/open/test/hotspot/jtreg/runtime/Thread/StopAtExit.java:142: warning: [removal] isDestroyed() in ThreadGroup has been deprecated and marked for removal
if (!myTG.isDestroyed()) {
^
/System/Volumes/Data/work/shared/bug_hunt/thread_SMR_stress/jdk19_exp.git/open/test/hotspot/jtreg/runtime/Thread/StopAtExit.java:146: warning: [removal] isDestroyed() in ThreadGroup has been deprecated and marked for removal
} else if (!myTG.isDestroyed()) {
^
/System/Volumes/Data/work/shared/bug_hunt/thread_SMR_stress/jdk19_exp.git/open/test/hotspot/jtreg/runtime/Thread/StopAtExit.java:154: warning: [removal] destroy() in ThreadGroup has been deprecated and marked for removal
myTG.destroy();
^
6 warnings
result: Passed. Compilation successful
Will be switching from java.lang.Thread.stop() to JVM/TI StopThread().
Will also be cleaning up the error handling since the JVM/TI APIs
actually return error codes.
The java.lang.ThreadGroup.destroy(), ThreadGroup.isDestroyed(),
ThreadGroup.setDaemon() methods are used for cleaning up
memory leaks that can be caused by async exception delivery.
After the fix for:
is integrated, the code that does that cleanup should not be
necessary. However, I may do cleanup as a separate RFE.
- backported by
-
JDK-8362230 runtime/Thread/StopAtExit.java needs updating
-
- Resolved
-
-
JDK-8362484 runtime/Thread/StopAtExit.java needs updating
-
- Resolved
-
- relates to
-
JDK-8282704 runtime/Thread/StopAtExit.java may leak memory
-
- Resolved
-
-
JDK-8283610 runtime/Thread/StopAtExit.java failing in loom repo
-
- Resolved
-
-
JDK-8282952 Thread::exit should be immune to Thread.stop
-
- Resolved
-
-
JDK-8277861 Terminally deprecate Thread.stop
-
- Resolved
-
- links to
-
Commit openjdk/jdk/a7e98834
-
Commit(master) openjdk/jdk17u-dev/e18cd908
-
Review openjdk/jdk/7910
-
Review(master) openjdk/jdk17u-dev/3747