Duplicate :
|
|
Duplicate :
|
|
Relates :
|
Safepoint incorrectly removed from loop L2 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.
|