|
Quick Lists
|
|
Bug ID:
|
6711100
|
|
Votes
|
0
|
|
Synopsis
|
64bit fastdebug server vm crashes with assert(_base == Int,"Not an Int")
|
|
Category
|
hotspot:compiler2
|
|
Reported Against
|
b08
|
|
Release Fixed
|
hs14(b06)
|
|
State
|
10-Fix Delivered,
bug
|
|
Priority:
|
3-Medium
|
|
Related Bugs
|
6589186
,
6597109
,
6660586
,
6712880
,
6756778
,
6799693
|
|
Submit Date
|
05-JUN-2008
|
|
Description
|
64bit fastdebug server vm crashes with assert(_base == Int,"Not an Int")
The crash is reproduced starting from hs11-b08 (jdk7b22)
hs11-b08:
# Internal Error (/BUILD_AREA/jdk7/hotspot/src/share/vm/opto/type.hpp:958), pid=14680, tid=1083214144
# Error: assert(_base == Int,"Not an Int")
#
# Java VM: Java HotSpot(TM) 64-Bit Server VM (11.0-b08-fastdebug compiled mode linux-amd64)
hs13-b02:
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/tmp/jprt-jprtadm/temp/P1/B/224246.rasbold/source/src/share/vm/opto/type.hpp:1035), pid=14739, tid=1084266816
# Error: assert(_base == Int,"Not an Int")
#
# Java VM: OpenJDK 64-Bit Server VM (13.0-b02-2008-06-03-224246.rasbold.hs-merge-fastdebug compiled mode linux-amd64 compressed oops)
The problem seems to be different than reported in 6646015 (fixed in hs13-b01).
The tests fail the same way but test case from 6646015 doesn't fail anymore,
new testcase continues to fail with latest hs13-b02 as well.
So, it seems to be the different problem.
Posted Date : 2008-06-05 14:40:15.0
|
|
Work Around
|
N/A
|
|
Evaluation
|
Optimization of LoadRangeNode to return the actual length loses the type information that says that it must always be positive. This means that in some cases range checks can't be folded immediately. In this particular case a constant -1 is used as an index when the length of the array is some value which isn't known to be postive. So the range check doesn't fold away but the array index expression collapses to top because of the negative value. That causes top to leak into JVMState causes various assertions to trigger. This could be fixed a CastII into the use for the CmpU node or by special casing this part of the test.
Posted Date : 2008-06-05 21:12:02.0
The problem is based in load_array_length(), which may return the length input to
the ArrayAllocateNode. If load_array_length() identifies such an ArrayAllocateNode, a CastII narrowing the type should be added, with control input being the allocate node.
Posted Date : 2008-06-11 15:47:41.0
http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/8261ee795323
Posted Date : 2008-09-17 18:51:10.0
|
|
Comments
|
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|
|
|
 |