Details
-
Bug
-
Status: Resolved
-
P4
-
Resolution: Fixed
-
11, 17, 18
-
b27
-
windows
Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8278707 | 19 | Thomas Stuefe | P4 | Resolved | Fixed | team |
JDK-8278565 | 17.0.3-oracle | Harold Seigel | P4 | Resolved | Fixed | b01 |
JDK-8280017 | 17.0.3 | Thomas Stuefe | P4 | Resolved | Fixed | b01 |
JDK-8281602 | 15.0.7 | Yuri Nesterenko | P4 | Resolved | Fixed | b02 |
JDK-8281600 | 13.0.11 | Yuri Nesterenko | P4 | Resolved | Fixed | b02 |
JDK-8278614 | 11.0.15-oracle | Harold Seigel | P4 | Resolved | Fixed | b01 |
JDK-8279000 | 11.0.15 | Thomas Stuefe | P4 | Resolved | Fixed | b01 |
Description
Only happens if the following is true:
- We log os=info level, thereby firing the "Thread started.." log output the parent thread of a newly started child thread writes. Since
- This is an assert, so only debug, but in debug newly malloced memory is poisened with "F1F1F1F1...", which hides the error since `Thread::is_JavaThread_protected` compares the thread state like this:
```
if (target->osthread() == NULL || target->osthread()->get_state() <= INITIALIZED) {
return true;
}
```
and the compiler interprets the "F1F1F1F1"-filled enum as a signed integer and hence a negative large value. Changing the init pattern to 0x01, or adding an explicit cast to unsigned, causes the assert to fire as soon as logging is switched on.
Attachments
Issue Links
- backported by
-
JDK-8278565 [windows] use of uninitialized OSThread::_state
-
- Resolved
-
-
JDK-8278614 [windows] use of uninitialized OSThread::_state
-
- Resolved
-
-
JDK-8278707 [windows] use of uninitialized OSThread::_state
-
- Resolved
-
-
JDK-8279000 [windows] use of uninitialized OSThread::_state
-
- Resolved
-
-
JDK-8280017 [windows] use of uninitialized OSThread::_state
-
- Resolved
-
-
JDK-8281600 [windows] use of uninitialized OSThread::_state
-
- Resolved
-
-
JDK-8281602 [windows] use of uninitialized OSThread::_state
-
- Resolved
-
- duplicates
-
JDK-8278074 assert(target->is_handshake_safe_for(current_thread)) failed
-
- Closed
-
- relates to
-
JDK-8268773 Improvements related to: Failed to start thread - pthread_create failed (EAGAIN)
-
- Resolved
-
- links to
-
Commit openjdk/jdk11u-dev/b07b90fb
-
Commit openjdk/jdk13u-dev/279be06e
-
Commit openjdk/jdk15u-dev/5fb0e1af
-
Commit openjdk/jdk17u-dev/84457e5f
-
Commit openjdk/jdk/54993b13
-
Review openjdk/jdk11u-dev/706
-
Review openjdk/jdk13u-dev/325
-
Review openjdk/jdk15u-dev/173
-
Review openjdk/jdk17u-dev/86
-
Review openjdk/jdk17u/327
-
Review openjdk/jdk/6734