JDK-6486391 : bad immediate dominator info after nips.blocker
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 7
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: solaris_9
  • CPU: x86
  • Submitted: 2006-10-25
  • Updated: 2010-04-02
  • Resolved: 2007-06-20
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
6u4Fixed 7Fixed hs10Fixed
I was doing CTW runs with -d64 and tripped across a failure from nips.blockers.

CompileTheWorld (42) : symantec/tools/debug/RemoteValue
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/loopnode.hpp:573]
# An unexpected error has been detected by Java Runtime Environment:
#  Internal Error (/net/prt-solamd64-q1-4/PrtBuildDir/workspace/src/share/vm/opto/loopnode.hpp, 573), pid=21391, tid=11
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20060905093858.nips.blockers-debug mixed mode)
# Error: assert(n != 0L,"Bad immediate dominator info.")
# An error report file with more information is saved as hs_err_pid21391.log
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp

You can reproduce it with this:

java -d64 -XX:+CompileTheWorld -XX:CompileTheWorldStartAt=42 -Xbootclasspath/p:/net/vmsqe.sfbay/export/backup/testbase/CompileTheWorld/jarfiles/scd10.jar

SUGGESTED FIX PRT data: /net/prt-web.sfbay/prt-workspaces/20070602140922.nips.bug6486391 Archived data: /net/prt-archiver.sfbay/data/archived_workspaces/main/c2_baseline/2007/20070602140922.nips.bug6486391/

WORK AROUND -XX:-ReassociateInvariants

EVALUATION reassociate_invariants used wrong method to register new node which failed to add the new node to the member list of the loop it was nested in. The loop was subsequently cloned into a pre/main/post which didn't clone the new node correctly, causing the error.