JDK-6927049 : assert(is_Loop(),"invalid node class")
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs17
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2010-02-16
  • Updated: 2011-03-08
  • Resolved: 2011-03-08
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 JDK 7 Other
6u21Fixed 7Fixed hs17Fixed
Description
While testing G1 I'm hitting the following assert:

# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/node.hpp:721
==============================================================================
Unexpected Error
------------------------------------------------------------------------------
Internal Error at node.hpp:721, pid=12290, tid=29 
Error: assert(is_Loop(),"invalid node class")

Do you want to debug the problem?

To debug, run 'dbx - 12290'; then switch to thread 29
Enter 'yes' to launch dbx automatically (PATH must include dbx)
Otherwise, press RETURN to abort...
==============================================================================

I can reproduce it with a sparcv9 / solaris / 64-bit / fastdebug / server build running the dacapo eclipse. Here's the command line:

java -XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+VerifyBeforeGC -XX:+VerifyDuringGC -XX:+VerifyAfterGC -d64 -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+ShowMessageBoxOnError -jar dacapo-2006-10.jar -s default eclipse

Comments
EVALUATION 6927049: assert(is_Loop(),"invalid node class") Reviewed-by: kvn The loop predication code is missing a guard for is_Loop since it's possible that the loop might simply by a Region if there are irreducible loops in the loop tree. I also moved the other loop type guards up so they would be together before any traps count logic. Tested with failing test from report. src/share/vm/opto/loopTransform.cpp
19-02-2010

EVALUATION ChangeSet=http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/b71f13525cc8,ChangeRequest=6927049
19-02-2010