JDK-6923002 : assert(false,"this call site should not be polymorphic")
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs17
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: solaris_10
  • CPU: sparc
  • Submitted: 2010-02-03
  • Updated: 2016-02-01
  • Resolved: 2010-03-02
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
Related Reports
Relates :  
Relates :  
Description
C:/local/common/jdk/baseline/windows-amd64/bin/java -server -Xmixed -XX:DefaultMaxRAMFraction=8 -XX:-UseCompressedOops -XX:-PrintVMOptions -cp C:/local/common/testbase/6/vm/vm/bin/classes -agentlib:redefineClasses runtime.ParallelClassLoading.shared.ReflectionLoadingController -ITERATIONS 100 -DEBUG false -THREADS_COUNT 5 -classDir C:/local/common/testbase/6/vm/vm/bin/classes/runtime/ParallelClassLoading/shared/hierarchies/static-load/static-init/anonymous/simple -class custom.R% -provoke reflect -provoke newInstance -holdCLLock -loadedClasses custom.C1,custom.C2,custom.C3,custom.C4,custom.C5,custom.C6,custom.C7,custom.C8,custom.C9,custom.C10
[2010-02-03T15:40:22.62] Iteration #1 of 100, time left: 60 s
...
[2010-02-03T15:45:15.93] Iteration #27 of 10

bci: 5
0 aload_0
1 fast_agetfield 3 <delegate> <Lsun/reflect/ConstructorAccessorImpl;> 
4 aload_1
5 invokevirtual 4 <newInstance> <([Ljava/lang/Object;)Ljava/lang/Object;> 
  0   bci: 5    VirtualCallData     count(3360) entries(1)
                                    'sun/reflect/NativeConstructorAccessorImpl'(2820)
8 areturn
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=\ciMethod.cpp:450
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (C:\temp\jprt\P1\B\005653.kvn\source\src\share\vm\ci\ciMethod.cpp:450), pid=7836, tid=10044
#  Error: assert(false,"this call site should not be polymorphic")
#
# JRE version: 7.0-b81
# Java VM: OpenJDK 64-Bit Server VM (17.0-b07-2010-02-02-005653.kvn.6614597-fastdebug mixed mode windows-amd64 )

Current CompileTask:
C2: 70      java.lang.reflect.Constructor.newInstance([Ljava/lang/Object;)Ljava/lang/Object; (98 bytes)

VM Arguments:
jvm_args: -Xmixed -XX:DefaultMaxRAMFraction=8 -XX:-UseCompressedOops -XX:-PrintVMOptions -agentlib:redefineClasses 
java_command: runtime.ParallelClassLoading.shared.ReflectionLoadingController -ITERATIONS 100 -DEBUG false -THREADS_COUNT 5 -classDir C:/local/common/testbase/6/vm/vm/bin/classes/runtime/ParallelClassLoading/shared/hierarchies/static-load/static-init/anonymous/simple -class custom.R% -provoke reflect -provoke newInstance -holdCLLock -loadedClasses custom.C1,custom.C2,custom.C3,custom.C4,custom.C5,custom.C6,custom.C7,custom.C8,custom.C9,custom.C10
Launcher Type: SUN_STANDARD

Environment Variables:
CLASSPATH=c:/local/30740.JDK7.NIGHTLY.VM+windows-amd64_server_mixed_vm.parallel_class_loading_phase2.testlist/results/ResultDir/anonymous-simple;C:/local/common/testbase/6/vm/vm/bin/classes;C:/local/common/jdk/baseline/windows-amd64/lib/tools.jar
PATH=c:\local\common\jdk\baseline\windows-amd64\bin;c:\local\common\jdk\baseline\windows-amd64\jre\bin\server;C;Windows\system32;c:\Cygwin\bin;c:\Cygwin\usr\bin;c:\local\common\jdk\baseline\windows-amd64\jre\bin;c:\local\common\testbase\6\vm\vm\bin\lib\windows-amd64\runtime\ParallelClassLoading\shared;.
LD_LIBRARY_PATH=C;C:\Cygwin\local\common\testbase\6\vm\vm\bin\lib\windows-amd64\runtime\ParallelClassLoading\shared;
SHELL=C:/Cygwin/bin/bash -o igncr
DISPLAY=vm-v240-01.sfbay:1



---------------  S Y S T E M  ---------------

OS: Windows 7 Build 7600 

CPU:total 2 (2 cores per cpu, 1 threads per core) family 15 model 33 stepping 2, cmov, cx8, fxsr, mmx, sse, sse2, sse3, mmxext, 3dnow, 3dnowext

Memory: 4k page, physical 16645664k(11175720k free), swap 33289432k(24076532k free)

vm_info: OpenJDK 64-Bit Server VM (17.0-b07-2010-02-02-005653.kvn.6614597-fastdebug) for windows-amd64 JRE (1.7.0), built on Feb  1 2010 17:03:32 by "Administrator" with MS VC++ 8.0 (VS2005)

time: Wed Feb 03 07:45:22 2010
elapsed time: 43 seconds

Comments
PUBLIC COMMENTS Problem: After the 6614597 changes C2 expects that the MDO total count at the virtual call site indicates only polimorphic case and the assert was added for that. But ReceiverTypeData::follow_weak_refs() may clear a receiver information in MDO leaving the data at strange state and causing assert. Solution: Clear the total count when a receiver information is cleared. Also add method name for the assert output and record in logs a second receiver even for polimorphic case. Add the change for C1 profiling code on Sparc which I missed in 6614597 changes. Fix assert code when run with tiered compilation. Fix typo.
07-02-2010

EVALUATION ChangeSet=http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/576e77447e3c,ChangeRequest=6923002
07-02-2010