United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6723160 Nightly failure: Error: meet not symmetric
JDK-6723160 : Nightly failure: Error: meet not symmetric

Details
Type:
Bug
Submit Date:
2008-07-07
Status:
Closed
Updated Date:
2011-03-08
Project Name:
JDK
Resolved Date:
2011-03-08
Component:
hotspot
OS:
solaris_10
Sub-Component:
compiler
CPU:
x86
Priority:
P4
Resolution:
Fixed
Affected Versions:
hs14
Fixed Versions:
hs14 (b03)

Related Reports
Backport:
Backport:
Relates:
Relates:
Relates:

Sub Tasks

Description
It seems, my fix for 6716441 was not complete.

nsk/stress/jck60/jck60016

=== Meet Not Symmetric ===
VM option '-PrintVMOptions'
VM option 'CompileThreshold=100'
t   =                   java/util/HashMap:AnyNull:exact *,iid=108
this=                   java/util/LinkedHashMap:AnyNull:exact *,iid=top
mt=(t meet this)=       java/util/HashMap:NotNull:exact *,iid=108
t_dual=                 java/util/HashMap:NotNull:exact *,iid=108
this_dual=              java/util/LinkedHashMap:NotNull:exact *
mt_dual=                java/util/HashMap:AnyNull:exact *,iid=108
mt_dual meet t_dual=    java/util/HashMap:NotNull:exact *,iid=108
mt_dual meet this_dual= java/util/HashMap:NotNull *
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/tmp/jprt-jprtadm/temp/P1/B/010325.kvn/source/src/share/vm/opto/type.cpp:531), pid=25461, tid=7
#  Error: meet not symmetric
#
# Java VM: OpenJDK 64-Bit Server VM (14.0-b01-2008-07-04-010325.kvn.6684714-last-fastdebug compiled mode solaris-sparc )
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

---------------  T H R E A D  ---------------

Current thread (0x0000000100265000):  JavaThread "CompilerThread0" daemon [_thread_in_native, id=7, stack(0xffffffff6ba00000,0xffffffff6bb00000)]

Stack: [0xffffffff6ba00000,0xffffffff6bb00000],  sp=0xffffffff6baf87d0,  free space=993k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x1243544];;  __1cHVMErrorOreport_and_die6M_v_+0x804
V  [libjvm.so+0x56381c];;  __1cMreport_fatal6Fpkci1_v_+0x74
V  [libjvm.so+0x1102cd8];;  __1cETypeEmeet6kMpk0_2_+0x5d0
V  [libjvm.so+0x110f0b4];;  __1cKTypeOopPtrGfilter6kMpknEType__3_+0x2c
V  [libjvm.so+0x527874];;  __1cSConstraintCastNodeFValue6kMpnOPhaseTransform__pknEType__+0x1a4
V  [libjvm.so+0xef8f98];;  __1cMPhaseIterGVNNtransform_old6MpnENode__2_+0x7c8
V  [libjvm.so+0xef7b80];;  __1cMPhaseIterGVNIoptimize6M_v_+0x2b0
V  [libjvm.so+0x4a9714];;  __1cHCompileIOptimize6M_v_+0x1cc
V  [libjvm.so+0x4a37ac];;  __1cHCompile2t6MpnFciEnv_pnKC2Compiler_pnIciMethod_ibb_v_+0x21e4
V  [libjvm.so+0x2f8128];;  __1cKC2CompilerOcompile_method6MpnFciEnv_pnIciMethod_i_v_+0x88
V  [libjvm.so+0x4bdcec];;  __1cNCompileBrokerZinvoke_compiler_on_method6FpnLCompileTask__v_+0x198c
V  [libjvm.so+0x4bb548];;  __1cNCompileBrokerUcompiler_thread_loop6F_v_+0xd10
V  [libjvm.so+0x10dbf44];;  __1cKJavaThreadRthread_main_inner6M_v_+0x224
V  [libjvm.so+0x10dbcfc];;  __1cKJavaThreadDrun6M_v_+0x564
V  [libjvm.so+0xe5ab34];;  java_start+0x1c4


Current CompileTask:
C2:6435   b  sun.security.provider.PolicyFile.getPermissions(Ljava/security/CodeSource;)Ljava/security/PermissionCollection; (13 bytes)

                                    

Comments
EVALUATION

Missing settings _instance_id value to InstanceBot in TypeInstPtr::xmeet() and
TypeAryPtr::xmeet().
                                     
2008-07-12
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/02a35ad4adf8
                                     
2008-07-17
SUGGESTED FIX

Add missing _instance_id settings.

Also:
Replaced klass exactness settings for types with instance_id
with asserts. Add explicit casts to klass exactness and ptr type
where we do instance_id casting.

Mark DecodeN and EncodeP nodes as expensive to avoid their
rematerialization.

Change CallNode::may_modify() to always return false for types
with instance_id since scalar-replaceable allocations are not
passed as arguments (otherwise they will be not scalar-replaceable).

In flatten_alias_type() preserve klass exactness and non-nullness
for types with instance_id, both arrays and instances.
Flatten only array's elements access to have only one alias type.
Set instance_id to InstanceBot (default value) for regular types.

Update inputs of original memory phis in EA split_unique_types()
to avoid intermixing unique instances and general memory operations.
Otherwise we got the assert in SuperWord::mem_slice_preds().

Add more complex search of scalar-replaceable object's fields
values through phis during the allocation elimination.

Added the regression tests for 6724218 since the bug
was fixed in HS14 as part of 6714694 fix.
                                     
2008-07-17



Hardware and Software, Engineered to Work Together