JDK-6646020 : assert(in_bb(n),"must be in block") in -Xcomp mode
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs11,6u10,6u11
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: generic,linux,solaris_10,windows_xp
  • CPU: generic,x86,sparc
  • Submitted: 2007-12-29
  • Updated: 2012-02-01
  • Resolved: 2011-03-07
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
6u13-revFixed 7Fixed hs11.3Fixed
Related Reports
Duplicate :  
Duplicate :  
This assertion is observed at least on linux-i586/amd64 with both latest jdk6 (1.6.0_10-ea-b09) and jdk7 (1.7.0-ea-b24):
	#  Internal Error (/BUILD_AREA/jdk7/hotspot/src/share/vm/opto/superword.cpp:437), pid=15100, tid=2994375600
	#  Error: assert(in_bb(n),"must be in block")

It occurs only in -Xcomp mode.

Testcase and hs_err file are attached.
Attached a testcase for solaris-i586/amd64. 
The assertion occurs only with C2.

EVALUATION The logic for testing which loops can be vectorized is missing a check for no work on the backedge. The RPO workspace tripped over this too so I'm fixing it under this bug report.

SUGGESTED FIX repo: /net/jano2.sfbay/export2/hotspot/hg/hotspot-comp.clean changeset: 90:a7d0f95410bd user: never date: Thu Apr 03 21:26:03 2008 -0700 description: 6646020: assert(in_bb(n),"must be in block") in -Xcomp mode Reviewed-by: kvn, rasbold files: src/share/vm/opto/superword.cpp test/compiler/6646020/Tester.java