United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6823453 DeoptimizeALot causes fastdebug server jvm to fail with assert(false,"unscheduable graph")
JDK-6823453 : DeoptimizeALot causes fastdebug server jvm to fail with assert(false,"unscheduable graph")

Details
Type:
Bug
Submit Date:
2009-03-29
Status:
Closed
Updated Date:
2011-03-08
Project Name:
JDK
Resolved Date:
2011-03-08
Component:
hotspot
OS:
generic
Sub-Component:
compiler
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
hs14
Fixed Versions:
hs16 (b01)

Related Reports
Backport:
Backport:
Relates:

Sub Tasks

Description
DeoptimizeALot causes fastdebug server jvm to fail with different assertions.

> java -server -Xcomp -XX:+DeoptimizeALot Tester11a
!!! Unschedulable graph !!!
B7 idom=B6 depth= 5  69 Region  ===  69  4  [[ 69  68  63 ]]
B10 idom=B8 depth= 6  48        MachProj        ===  7  [[ 47  5  57  63 ]] #1/unmatched !jvms: Tester11a::main @ bci:10
Failing node:  63       CreateException ===  69  48  [[ 62 ]] java/lang/Throwable:NotNull *  Oop:java/lang/Throwable:NotNull * !jvms: Tester11a::main @ bci:10
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/gcm.cpp:107
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/BUILD_AREA/jdk7/hotspot/src/share/vm/opto/gcm.cpp:107), pid=9833, tid=15
#  Error: assert(false,"unscheduable graph")


Slightly modified version of Tester11a.java fails with:
> java -server -Xcomp -XX:+DeoptimizeALot Tester11b
#  Internal Error (/BUILD_AREA/jdk7/hotspot/src/share/vm/opto/loopnode.hpp:638), pid=9865, tid=15
#  Error: assert(n != 0,"Bad immediate dominator info.")


----- Tester11a.java -----
public class Tester11a
{
   static long var_1 = 1L;

   public static void main(String[] args) throws Exception
   {
      short var_2 = (byte) 1.0E10;

      for ( Object temp = new byte[(byte)1.0E10];  true ;
            var_2 = "1".equals("0") ? ((byte) var_1) : 1 )
      {}
   }
}
--------------------------

----- Tester11b.java -----
public class Tester11b
{
   public static void main(String[] args) throws Exception
   {
      long var_1 = -1L;

      short var_2 = (byte) 1.0E10;

      for ( Object temp = new byte[(byte)1.0E10];  true ;
            var_2 = "1".equals("0") ? ((byte) var_1) : 1 )
      {}
   }
}
--------------------------

                                    

Comments
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/ad8c635e757e
                                     
2009-04-04



Hardware and Software, Engineered to Work Together