Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2177008 | 7 | Erik Trimble | P3 | Closed | Fixed | b18 |
JDK-2172079 | 6u10 | Abhijit Saha | P3 | Resolved | Fixed | b09 |
JDK-2168676 | 5.0u17 | Abhijit Saha | P3 | Resolved | Fixed | b03 |
JDK-2162713 | 5.0u16-rev | Nikolay Gorshkov | P2 | Resolved | Fixed | b10 |
L1: loop
L2: loop
safepoint
if test goto L1
call xx
endloop L2
endloop L1
See method Starve9B::Starvee in attachment.
Instructions for running:
/java/re/jdk/1.6.0/latest/binaries/solaris-sparc/bin/java -server Starve9B
/java/re/jdk/1.5.0_10/latest/binaries/solaris-sparc/bin/java -server Starve9B
Simply run the program with no arguments. Wait for about a minute. It'll
report some meaningless information on stdout which you should ignore (residual
code from the program's original intended task of tracking down a solaris
scheduling issue that results in LWP starvation). Enter CTRL-c. The program
should hang and not exit. You'll need to use kill -9 to get rid of it.
Another simple test case will soon be found in the j2se workspace, under:
j2se/test/sun/security/ssl/SSLEngineImpl/SSLEngineDeadlock.java
Simply remove the Thread.yield() line in the doTask() method, and let it run in c2. Should fail after 10-70 iterations.
- backported by
-
JDK-2162713 Loop-opts incorrectly removed a safepoint poll from a loop with an early exit
- Resolved
-
JDK-2168676 Loop-opts incorrectly removed a safepoint poll from a loop with an early exit
- Resolved
-
JDK-2172079 Loop-opts incorrectly removed a safepoint poll from a loop with an early exit
- Resolved
-
JDK-2177008 Loop-opts incorrectly removed a safepoint poll from a loop with an early exit
- Closed
- duplicates
-
JDK-6566802 Server VM hangs in 5.0u12
- Closed
-
JDK-6592429 There is a safepoint synchronization problem with inlined natives
- Closed
- relates to
-
JDK-6518490 Solaris TS scheduling class anti-starvation facility does not completely avoid starvation
- Closed