United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
JDK-8029366 : ShouldNotReachHere error when creating an array with component type of void

Details
Type:
Bug
Submit Date:
2013-11-25
Status:
Resolved
Updated Date:
2014-01-06
Project Name:
JDK
Resolved Date:
2013-12-17
Component:
hotspot
OS:
generic
Sub-Component:
compiler
CPU:
Priority:
P2
Resolution:
Fixed
Affected Versions:
7u40,8
Fixed Versions:

Related Reports
Backport:
Backport:
Backport:
Backport:

Sub Tasks

Description
FULL PRODUCT VERSION :
java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)

FULL OS VERSION :
Linux 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

A DESCRIPTION OF THE PROBLEM :
The JVM crashes in ShouldNotReachHere() whenever it tries to JIT compile a method call to java.lang.reflect.Array.newInstance(Class, int) when the componentType is void.class(For example "java.lang.reflect.Array.newInstance(void.class, 2)"). The javaDoc for this method clearly indicates that the void type is illegal and during normal operation an exception is thrown, however if the bytecode is JIT compiled then the JVM crashes(even if that code doesn't actually executed).

THE PROBLEM WAS REPRODUCIBLE WITH -Xint FLAG: No

THE PROBLEM WAS REPRODUCIBLE WITH -server FLAG: Yes

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Compile and run the test case.

EXPECTED VERSUS ACTUAL BEHAVIOR :
The test case should run to completion without crashing.
ERROR MESSAGES/STACK TRACES THAT OCCUR :
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (type.cpp:2608), pid=24289, tid=139662112364288
#  Error: ShouldNotReachHere()
#
# JRE version: Java(TM) SE Runtime Environment (7.0_40-b43) (build 1.7.0_40-b43)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.0-b56 mixed mode linux-amd64 compressed oops)
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
#

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

Current thread (0x00007f05b0091800):  JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=24300, stack(0x00007f059e889000,0x00007f059e98a000)]

Stack: [0x00007f059e889000,0x00007f059e98a000],  sp=0x00007f059e986600,  free space=1013k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x99242a]  VMError::report_and_die()+0x2ea
V  [libjvm.so+0x4935f2]  report_should_not_reach_here(char const*, int)+0x52
V  [libjvm.so+0x960889]  TypeOopPtr::make_from_klass_common(ciKlass*, bool, bool)+0x309
V  [libjvm.so+0x9608d2]  TypeKlassPtr::as_instance_type() const+0x22
V  [libjvm.so+0x58186f]  GraphKit::new_array(Node*, Node*, int, Node**)+0x45f
V  [libjvm.so+0x732bc5]  LibraryCallKit::inline_native_newArray()+0x4e5
V  [libjvm.so+0x736ff9]  LibraryIntrinsic::generate(JVMState*)+0x139
V  [libjvm.so+0x4f4dde]  Parse::do_call()+0x1ee
V  [libjvm.so+0x8481a2]  Parse::do_one_bytecode()+0x32d2
V  [libjvm.so+0x83a6e8]  Parse::do_one_block()+0x178
V  [libjvm.so+0x83b687]  Parse::do_all_blocks()+0x127
V  [libjvm.so+0x83dd13]  Parse::Parse(JVMState*, ciMethod*, float)+0x15b3
V  [libjvm.so+0x3b0c98]  ParseGenerator::generate(JVMState*)+0x88
V  [libjvm.so+0x4f4dde]  Parse::do_call()+0x1ee
V  [libjvm.so+0x8481a2]  Parse::do_one_bytecode()+0x32d2
V  [libjvm.so+0x83a6e8]  Parse::do_one_block()+0x178
V  [libjvm.so+0x83b687]  Parse::do_all_blocks()+0x127
V  [libjvm.so+0x83dd13]  Parse::Parse(JVMState*, ciMethod*, float)+0x15b3
V  [libjvm.so+0x3b0c98]  ParseGenerator::generate(JVMState*)+0x88
V  [libjvm.so+0x445633]  Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool)+0xf43
V  [libjvm.so+0x3afa46]  C2Compiler::compile_method(ciEnv*, ciMethod*, int)+0x176
V  [libjvm.so+0x44ba5e]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0x33e
V  [libjvm.so+0x44c83d]  CompileBroker::compiler_thread_loop()+0x43d
V  [libjvm.so+0x94cb2f]  JavaThread::thread_main_inner()+0xdf
V  [libjvm.so+0x94cc35]  JavaThread::run()+0xf5
V  [libjvm.so+0x814a58]  java_start(Thread*)+0x108


Current CompileTask:
C2:    102   10 % !         Main::main @ 2 (27 bytes)


---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x00007f05b0094000 JavaThread "Service Thread" daemon [_thread_blocked, id=24301, stack(0x00007f059e788000,0x00007f059e889000)]
=>0x00007f05b0091800 JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=24300, stack(0x00007f059e889000,0x00007f059e98a000)]
  0x00007f05b008f000 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=24299, stack(0x00007f059e98a000,0x00007f059ea8b000)]
  0x00007f05b0084800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=24298, stack(0x00007f059ea8b000,0x00007f059eb8c000)]
  0x00007f05b006d800 JavaThread "Finalizer" daemon [_thread_blocked, id=24297, stack(0x00007f059eb8c000,0x00007f059ec8d000)]
  0x00007f05b0069000 JavaThread "Reference Handler" daemon [_thread_blocked, id=24296, stack(0x00007f059ec8d000,0x00007f059ed8e000)]
  0x00007f05b0007800 JavaThread "main" [_thread_in_vm, id=24290, stack(0x00007f05b4828000,0x00007f05b4929000)]

Other Threads:
  0x00007f05b0067000 VMThread [stack: 0x00007f059ed8e000,0x00007f059ee8f000] [id=24295]
  0x00007f05b009f000 WatcherThread [stack: 0x00007f059e687000,0x00007f059e788000] [id=24302]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 PSYoungGen      total 36864K, used 5714K [0x00000000d7480000, 0x00000000d9d80000, 0x0000000100000000)
  eden space 31744K, 18% used [0x00000000d7480000,0x00000000d7a14ab0,0x00000000d9380000)
  from space 5120K, 0% used [0x00000000d9880000,0x00000000d9880000,0x00000000d9d80000)
  to   space 5120K, 0% used [0x00000000d9380000,0x00000000d9380000,0x00000000d9880000)
 ParOldGen       total 82944K, used 0K [0x0000000085e00000, 0x000000008af00000, 0x00000000d7480000)
  object space 82944K, 0% used [0x0000000085e00000,0x0000000085e00000,0x000000008af00000)
 PSPermGen       total 21504K, used 2498K [0x0000000080c00000, 0x0000000082100000, 0x0000000085e00000)
  object space 21504K, 11% used [0x0000000080c00000,0x0000000080e708d0,0x0000000082100000)

Card table byte_map: [0x00007f05acc05000,0x00007f05ad000000] byte_map_base: 0x00007f05ac7ff000

Polling page: 0x00007f05b59ce000

Code Cache  [0x00007f05ad000000, 0x00007f05ad270000, 0x00007f05b0000000)
 total_blobs=190 nmethods=10 adapters=134 free_code_cache=48759Kb largest_free_block=49916800

Compilation events (10 events):
Event: 0.083 Thread 0x00007f05b0091800    6             java.lang.IllegalArgumentException::<init> (5 bytes)
Event: 0.083 Thread 0x00007f05b008f000 nmethod 4 0x00007f05ad05f750 code [0x00007f05ad05f8a0, 0x00007f05ad05fbe8]
Event: 0.083 Thread 0x00007f05b008f000    7             java.lang.RuntimeException::<init> (5 bytes)
Event: 0.085 Thread 0x00007f05b0091800 nmethod 6 0x00007f05ad05f050 code [0x00007f05ad05f1a0, 0x00007f05ad05f508]
Event: 0.085 Thread 0x00007f05b0091800    8             java.lang.Exception::<init> (5 bytes)
Event: 0.085 Thread 0x00007f05b008f000 nmethod 7 0x00007f05ad063410 code [0x00007f05ad063560, 0x00007f05ad0638c8]
Event: 0.085 Thread 0x00007f05b008f000    9             java.lang.Throwable::<init> (29 bytes)
Event: 0.086 Thread 0x00007f05b0091800 nmethod 8 0x00007f05ad062e10 code [0x00007f05ad062f60, 0x00007f05ad0632c8]
Event: 0.086 Thread 0x00007f05b008f000 nmethod 9 0x00007f05ad062850 code [0x00007f05ad0629a0, 0x00007f05ad062d08]
Event: 0.096 Thread 0x00007f05b0091800   10 % !         Main::main @ 2 (27 bytes)

GC Heap History (0 events):
No events

Deoptimization events (1 events):
Event: 0.083 Thread 0x00007f05b0007800 Uncommon trap: reason=null_check action=make_not_entrant pc=0x00007f05ad05ff0c method=java.lang.reflect.Array.newInstance(Ljava/lang/Class;I)Ljava/lang/Object; @ 2

Internal exceptions (10 events):
Event: 0.096 Thread 0x00007f05b0007800 Threw 0x00000000d78da8c0 at /HUDSON/workspace/jdk7u40-2-build-linux-amd64-product/jdk7u40/hotspot/src/share/vm/runtime/reflection.cpp:308
Event: 0.096 Thread 0x00007f05b0007800 Threw 0x00000000d78da9e0 at /HUDSON/workspace/jdk7u40-2-build-linux-amd64-product/jdk7u40/hotspot/src/share/vm/runtime/reflection.cpp:308
Event: 0.096 Thread 0x00007f05b0007800 Threw 0x00000000d78dab00 at /HUDSON/workspace/jdk7u40-2-build-linux-amd64-product/jdk7u40/hotspot/src/share/vm/runtime/reflection.cpp:308
Event: 0.096 Thread 0x00007f05b0007800 Threw 0x00000000d78dac20 at /HUDSON/workspace/jdk7u40-2-build-linux-amd64-product/jdk7u40/hotspot/src/share/vm/runtime/reflection.cpp:308
Event: 0.096 Thread 0x00007f05b0007800 Threw 0x00000000d78dad40 at /HUDSON/workspace/jdk7u40-2-build-linux-amd64-product/jdk7u40/hotspot/src/share/vm/runtime/reflection.cpp:308
Event: 0.096 Thread 0x00007f05b0007800 Threw 0x00000000d78dae60 at /HUDSON/workspace/jdk7u40-2-build-linux-amd64-product/jdk7u40/hotspot/src/share/vm/runtime/reflection.cpp:308
Event: 0.096 Thread 0x00007f05b0007800 Threw 0x00000000d78daf80 at /HUDSON/workspace/jdk7u40-2-build-linux-amd64-product/jdk7u40/hotspot/src/share/vm/runtime/reflection.cpp:308
Event: 0.096 Thread 0x00007f05b0007800 Threw 0x00000000d78db0a0 at /HUDSON/workspace/jdk7u40-2-build-linux-amd64-product/jdk7u40/hotspot/src/share/vm/runtime/reflection.cpp:308
Event: 0.096 Thread 0x00007f05b0007800 Threw 0x00000000d78db1c0 at /HUDSON/workspace/jdk7u40-2-build-linux-amd64-product/jdk7u40/hotspot/src/share/vm/runtime/reflection.cpp:308
Event: 0.096 Thread 0x00007f05b0007800 Threw 0x00000000d78db2e0 at /HUDSON/workspace/jdk7u40-2-build-linux-amd64-product/jdk7u40/hotspot/src/share/vm/runtime/reflection.cpp:308

Events (10 events):
Event: 0.043 loading class 0x00007f05b4063530 done
Event: 0.044 loading class 0x00007f05b40635c0
Event: 0.044 loading class 0x00007f05b40635c0 done
Event: 0.044 loading class 0x00007f05b402fa50
Event: 0.044 loading class 0x00007f05b402fa50 done
Event: 0.044 loading class 0x00007f05b4017cd0
Event: 0.044 loading class 0x00007f05b4017cd0 done
Event: 0.083 Thread 0x00007f05b0007800 Uncommon trap: trap_request=0xfffffff4 fr.pc=0x00007f05ad05ff0c
Event: 0.083 Thread 0x00007f05b0007800 DEOPT PACKING pc=0x00007f05ad05ff0c sp=0x00007f05b49278d0
Event: 0.083 Thread 0x00007f05b0007800 DEOPT UNPACKING pc=0x00007f05ad039445 sp=0x00007f05b4927890 mode 2


Dynamic libraries:
00400000-00401000 r-xp 00000000 fd:04 2361043                            /awips2/java/bin/java
00600000-00601000 rw-p 00000000 fd:04 2361043                            /awips2/java/bin/java
01e82000-01ea3000 rw-p 00000000 00:00 0                                  [heap]
80c00000-82100000 rw-p 00000000 00:00 0
82100000-85e00000 rw-p 00000000 00:00 0
85e00000-8af00000 rw-p 00000000 00:00 0
8af00000-d7480000 rw-p 00000000 00:00 0
d7480000-d9d80000 rw-p 00000000 00:00 0
d9d80000-100000000 rw-p 00000000 00:00 0
37fb800000-37fb820000 r-xp 00000000 fd:00 1717684                        /lib64/ld-2.12.so
37fba1f000-37fba20000 r--p 0001f000 fd:00 1717684                        /lib64/ld-2.12.so
37fba20000-37fba21000 rw-p 00020000 fd:00 1717684                        /lib64/ld-2.12.so
37fba21000-37fba22000 rw-p 00000000 00:00 0
37fbc00000-37fbd8a000 r-xp 00000000 fd:00 1717685                        /lib64/libc-2.12.so
37fbd8a000-37fbf89000 ---p 0018a000 fd:00 1717685                        /lib64/libc-2.12.so
37fbf89000-37fbf8d000 r--p 00189000 fd:00 1717685                        /lib64/libc-2.12.so
37fbf8d000-37fbf8e000 rw-p 0018d000 fd:00 1717685                        /lib64/libc-2.12.so
37fbf8e000-37fbf93000 rw-p 00000000 00:00 0
37fc000000-37fc002000 r-xp 00000000 fd:00 1717692                        /lib64/libdl-2.12.so
37fc002000-37fc202000 ---p 00002000 fd:00 1717692                        /lib64/libdl-2.12.so
37fc202000-37fc203000 r--p 00002000 fd:00 1717692                        /lib64/libdl-2.12.so
37fc203000-37fc204000 rw-p 00003000 fd:00 1717692                        /lib64/libdl-2.12.so
37fc400000-37fc417000 r-xp 00000000 fd:00 1717690                        /lib64/libpthread-2.12.so
37fc417000-37fc617000 ---p 00017000 fd:00 1717690                        /lib64/libpthread-2.12.so
37fc617000-37fc618000 r--p 00017000 fd:00 1717690                        /lib64/libpthread-2.12.so
37fc618000-37fc619000 rw-p 00018000 fd:00 1717690                        /lib64/libpthread-2.12.so
37fc619000-37fc61d000 rw-p 00000000 00:00 0
37fc800000-37fc883000 r-xp 00000000 fd:00 1717686                        /lib64/libm-2.12.so
37fc883000-37fca82000 ---p 00083000 fd:00 1717686                        /lib64/libm-2.12.so
37fca82000-37fca83000 r--p 00082000 fd:00 1717686                        /lib64/libm-2.12.so
37fca83000-37fca84000 rw-p 00083000 fd:00 1717686                        /lib64/libm-2.12.so
37fd000000-37fd007000 r-xp 00000000 fd:00 1724231                        /lib64/librt-2.12.so
37fd007000-37fd206000 ---p 00007000 fd:00 1724231                        /lib64/librt-2.12.so
37fd206000-37fd207000 r--p 00006000 fd:00 1724231                        /lib64/librt-2.12.so
37fd207000-37fd208000 rw-p 00007000 fd:00 1724231                        /lib64/librt-2.12.so
7f056c000000-7f056c021000 rw-p 00000000 00:00 0
7f056c021000-7f0570000000 ---p 00000000 00:00 0
7f0570000000-7f0570021000 rw-p 00000000 00:00 0
7f0570021000-7f0574000000 ---p 00000000 00:00 0
7f0574000000-7f0574092000 rw-p 00000000 00:00 0
7f0574092000-7f0578000000 ---p 00000000 00:00 0
7f0578000000-7f0578036000 rw-p 00000000 00:00 0
7f0578036000-7f057c000000 ---p 00000000 00:00 0
7f057c000000-7f057c021000 rw-p 00000000 00:00 0
7f057c021000-7f0580000000 ---p 00000000 00:00 0
7f058216f000-7f0588000000 r--p 00000000 fd:00 1478772                    /usr/lib/locale/locale-archive
7f0588000000-7f0588021000 rw-p 00000000 00:00 0
7f0588021000-7f058c000000 ---p 00000000 00:00 0
7f058c000000-7f058c021000 rw-p 00000000 00:00 0
7f058c021000-7f0590000000 ---p 00000000 00:00 0
7f0590000000-7f0590021000 rw-p 00000000 00:00 0
7f0590021000-7f0594000000 ---p 00000000 00:00 0
7f0594000000-7f0594021000 rw-p 00000000 00:00 0
7f0594021000-7f0598000000 ---p 00000000 00:00 0
7f0598000000-7f0598021000 rw-p 00000000 00:00 0
7f0598021000-7f059c000000 ---p 00000000 00:00 0
7f059e414000-7f059e65a000 rw-p 00000000 00:00 0
7f059e65a000-7f059e66e000 r--s 001bd000 fd:04 2362336                    /awips2/java/jre/lib/ext/jai_core.jar
7f059e66e000-7f059e67f000 r--s 00106000 fd:04 2362337                    /awips2/java/jre/lib/ext/jai_imageio.jar
7f059e67f000-7f059e681000 r--s 0000a000 fd:04 2362197                    /awips2/java/jre/lib/ext/mlibwrapper_jai.jar
7f059e681000-7f059e685000 r--s 0003c000 fd:04 2362192                    /awips2/java/jre/lib/ext/jai_codec.jar
7f059e685000-7f059e687000 r--s 0000f000 fd:04 2362290                    /awips2/java/jre/lib/ext/clibwrapper_jiio.jar
7f059e687000-7f059e688000 ---p 00000000 00:00 0
7f059e688000-7f059e788000 rw-p 00000000 00:00 0
7f059e788000-7f059e78b000 ---p 00000000 00:00 0
7f059e78b000-7f059e889000 rw-p 00000000 00:00 0
7f059e889000-7f059e88c000 ---p 00000000 00:00 0
7f059e88c000-7f059e98a000 rw-p 00000000 00:00 0
7f059e98a000-7f059e98d000 ---p 00000000 00:00 0
7f059e98d000-7f059ea8b000 rw-p 00000000 00:00 0
7f059ea8b000-7f059ea8e000 ---p 00000000 00:00 0
7f059ea8e000-7f059eb8c000 rw-p 00000000 00:00 0
7f059eb8c000-7f059eb8f000 ---p 00000000 00:00 0
7f059eb8f000-7f059ec8d000 rw-p 00000000 00:00 0
7f059ec8d000-7f059ec90000 ---p 00000000 00:00 0
7f059ec90000-7f059ed8e000 rw-p 00000000 00:00 0
7f059ed8e000-7f059ed8f000 ---p 00000000 00:00 0
7f059ed8f000-7f059fe43000 rw-p 00000000 00:00 0
7f059fe43000-7f05a0000000 r--s 039d3000 fd:04 2362456                    /awips2/java/jre/lib/rt.jar
7f05a0000000-7f05a0021000 rw-p 00000000 00:00 0
7f05a0021000-7f05a4000000 ---p 00000000 00:00 0
7f05a4060000-7f05a8000000 rw-p 00000000 00:00 0
7f05a8000000-7f05a8021000 rw-p 00000000 00:00 0
7f05a8021000-7f05ac000000 ---p 00000000 00:00 0
7f05ac0ba000-7f05ac575000 rw-p 00000000 00:00 0
7f05ac575000-7f05ac576000 ---p 00000000 00:00 0
7f05ac576000-7f05ac676000 rw-p 00000000 00:00 0
7f05ac676000-7f05ac677000 ---p 00000000 00:00 0
7f05ac677000-7f05ac777000 rw-p 00000000 00:00 0
7f05ac777000-7f05ac778000 ---p 00000000 00:00 0
7f05ac778000-7f05ac878000 rw-p 00000000 00:00 0
7f05ac878000-7f05ac879000 ---p 00000000 00:00 0
7f05ac879000-7f05ac9a2000 rw-p 00000000 00:00 0
7f05ac9a2000-7f05acc05000 rw-p 00000000 00:00 0
7f05acc05000-7f05acc10000 rw-p 00000000 00:00 0
7f05acc10000-7f05acc2e000 rw-p 00000000 00:00 0
7f05acc2e000-7f05acc57000 rw-p 00000000 00:00 0
7f05acc57000-7f05aceb9000 rw-p 00000000 00:00 0
7f05aceb9000-7f05acece000 rw-p 00000000 00:00 0
7f05acece000-7f05acfff000 rw-p 00000000 00:00 0
7f05acfff000-7f05ad000000 rw-p 00000000 00:00 0
7f05ad000000-7f05ad270000 rwxp 00000000 00:00 0
7f05ad270000-7f05b00c5000 rw-p 00000000 00:00 0
7f05b00c5000-7f05b4000000 ---p 00000000 00:00 0
7f05b400b000-7f05b40c1000 rw-p 00000000 00:00 0
7f05b40c1000-7f05b40df000 rw-p 00000000 00:00 0
7f05b40df000-7f05b40e9000 rw-p 00000000 00:00 0
7f05b40e9000-7f05b419f000 rw-p 00000000 00:00 0
7f05b419f000-7f05b41b9000 r-xp 00000000 fd:04 2361669                    /awips2/java/jre/lib/amd64/libzip.so
7f05b41b9000-7f05b43b9000 ---p 0001a000 fd:04 2361669                    /awips2/java/jre/lib/amd64/libzip.so
7f05b43b9000-7f05b43ba000 rw-p 0001a000 fd:04 2361669                    /awips2/java/jre/lib/amd64/libzip.so
7f05b43ba000-7f05b43ef000 r--s 00000000 fd:00 785370                     /var/db/nscd/passwd
7f05b43ef000-7f05b4418000 r-xp 00000000 fd:04 2361131                    /awips2/java/jre/lib/amd64/libjava.so
7f05b4418000-7f05b4618000 ---p 00029000 fd:04 2361131                    /awips2/java/jre/lib/amd64/libjava.so
7f05b4618000-7f05b461a000 rw-p 00029000 fd:04 2361131                    /awips2/java/jre/lib/amd64/libjava.so
7f05b461a000-7f05b4627000 r-xp 00000000 fd:04 2361665                    /awips2/java/jre/lib/amd64/libverify.so
7f05b4627000-7f05b4826000 ---p 0000d000 fd:04 2361665                    /awips2/java/jre/lib/amd64/libverify.so
7f05b4826000-7f05b4828000 rw-p 0000c000 fd:04 2361665                    /awips2/java/jre/lib/amd64/libverify.so
7f05b4828000-7f05b482b000 ---p 00000000 00:00 0
7f05b482b000-7f05b4929000 rw-p 00000000 00:00 0
7f05b4929000-7f05b548b000 r-xp 00000000 fd:04 2361672                    /awips2/java/jre/lib/amd64/server/libjvm.so
7f05b548b000-7f05b568b000 ---p 00b62000 fd:04 2361672                    /awips2/java/jre/lib/amd64/server/libjvm.so
7f05b568b000-7f05b574e000 rw-p 00b62000 fd:04 2361672                    /awips2/java/jre/lib/amd64/server/libjvm.so
7f05b574e000-7f05b5792000 rw-p 00000000 00:00 0
7f05b5792000-7f05b57a8000 r-xp 00000000 fd:04 2361110                    /awips2/java/jre/lib/amd64/jli/libjli.so
7f05b57a8000-7f05b59a8000 ---p 00016000 fd:04 2361110                    /awips2/java/jre/lib/amd64/jli/libjli.so
7f05b59a8000-7f05b59a9000 rw-p 00016000 fd:04 2361110                    /awips2/java/jre/lib/amd64/jli/libjli.so
7f05b59a9000-7f05b59aa000 rw-p 00000000 00:00 0
7f05b59c5000-7f05b59cd000 rw-s 00000000 fd:00 1187258                    /tmp/hsperfdata_bsteffen/24289
7f05b59cd000-7f05b59ce000 rw-p 00000000 00:00 0
7f05b59ce000-7f05b59cf000 r--p 00000000 00:00 0
7f05b59cf000-7f05b59d0000 rw-p 00000000 00:00 0
7fffc82e8000-7fffc82fd000 rw-p 00000000 00:00 0                          [stack]
7fffc838d000-7fffc838e000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]

VM Arguments:
java_command: Main
Launcher Type: SUN_STANDARD

Environment Variables:
JAVA_HOME=/awips2/java
PATH=/awips2/fxa/bin:/usr/lib64/qt-3.3/bin:/awips2/python/bin:/awips2/psql/bin:/awips2/postgresql/bin:/awips2/notification/bin:/awips2/java/bin:(none)/bin:/awips2/GFESuite/bin:/awips2/fxa/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/NX/bin:/home/bsteffen/bin:/usr/NX/bin
USERNAME=bsteffen
LD_LIBRARY_PATH=/awips2/python/lib:/awips2/psql/lib:/awips2/postgresql/lib:/awips2/qpid/lib:/awips2/notification/lib64:(none)/lib:
SHELL=/bin/bash
DISPLAY=:0.0

Signal Handlers:
SIGSEGV: [libjvm.so+0x992d50], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGBUS: [libjvm.so+0x992d50], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGFPE: [libjvm.so+0x80fb00], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGPIPE: [libjvm.so+0x80fb00], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGXFSZ: [libjvm.so+0x80fb00], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGILL: [libjvm.so+0x80fb00], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
SIGUSR2: [libjvm.so+0x810ff0], sa_mask[0]=0x00001000, sa_flags=0x10000004
SIGHUP: [libjvm.so+0x811f60], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGINT: [libjvm.so+0x811f60], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGTERM: [libjvm.so+0x811f60], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGQUIT: [libjvm.so+0x811f60], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004


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

OS:CentOS release 6.4 (Final)

uname:Linux 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64
libc:glibc 2.12 NPTL 2.12
rlimit: STACK 10240k, CORE 0k, NPROC 62356, NOFILE 4096, AS infinity
load average:0.05 0.18 0.51

/proc/meminfo:
MemTotal:        8001624 kB
MemFree:          701064 kB
Buffers:          210016 kB
Cached:          2740636 kB
SwapCached:        83732 kB
Active:          4568468 kB
Inactive:        2220736 kB
Active(anon):    2983028 kB
Inactive(anon):   962600 kB
Active(file):    1585440 kB
Inactive(file):  1258136 kB
Unevictable:           4 kB
Mlocked:               4 kB
SwapTotal:       3071992 kB
SwapFree:        2508852 kB
Dirty:              1740 kB
Writeback:             0 kB
AnonPages:       3774648 kB
Mapped:           131576 kB
Shmem:            107068 kB
Slab:             344480 kB
SReclaimable:     281516 kB
SUnreclaim:        62964 kB
KernelStack:        5528 kB
PageTables:        58948 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
  CommitLimit:     7072804 kB
  Committed_AS:    7222576 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      127896 kB
VmallocChunk:   34359585788 kB
HardwareCorrupted:     0 kB
AnonHugePages:   2271232 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:     4048896 kB
DirectMap2M:     4290560 kB


CPU:total 4 (4 cores per cpu, 1 threads per core) family 6 model 58 stepping 9, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, aes, erms, tsc, tscinvbit, tscinv

/proc/cpuinfo:
processor: 0
vendor_id: GenuineIntel
cpu family: 6
model: 58
model name: Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz
stepping: 9
cpu MHz: 1600.000
cache size: 6144 KB
physical id: 0
siblings: 4
core id: 0
cpu cores: 4
apicid: 0
initial apicid: 0
fpu: yes
fpu_exception: yes
cpuid level: 13
wp: yes
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
bogomips: 6385.20
clflush size: 64
cache_alignment: 64
address sizes: 36 bits physical, 48 bits virtual
power management:

processor: 1
vendor_id: GenuineIntel
cpu family: 6
model: 58
model name: Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz
stepping: 9
cpu MHz: 3201.000
cache size: 6144 KB
physical id: 0
siblings: 4
core id: 1
cpu cores: 4
apicid: 2
initial apicid: 2
fpu: yes
fpu_exception: yes
cpuid level: 13
wp: yes
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
bogomips: 6385.20
clflush size: 64
cache_alignment: 64
address sizes: 36 bits physical, 48 bits virtual
power management:

processor: 2
vendor_id: GenuineIntel
cpu family: 6
model: 58
model name: Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz
stepping: 9
cpu MHz: 3201.000
cache size: 6144 KB
physical id: 0
siblings: 4
core id: 2
cpu cores: 4
apicid: 4
initial apicid: 4
fpu: yes
fpu_exception: yes
cpuid level: 13
wp: yes
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
bogomips: 6385.20
clflush size: 64
cache_alignment: 64
address sizes: 36 bits physical, 48 bits virtual
power management:

processor: 3
vendor_id: GenuineIntel
cpu family: 6
model: 58
model name: Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz
stepping: 9
cpu MHz: 1600.000
cache size: 6144 KB
physical id: 0
siblings: 4
core id: 3
cpu cores: 4
apicid: 6
initial apicid: 6
fpu: yes
fpu_exception: yes
cpuid level: 13
wp: yes
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
bogomips: 6385.20
clflush size: 64
cache_alignment: 64
address sizes: 36 bits physical, 48 bits virtual
power management:



Memory: 4k page, physical 8001624k(701064k free), swap 3071992k(2508852k free)

vm_info: Java HotSpot(TM) 64-Bit Server VM (24.0-b56) for linux-amd64 JRE (1.7.0_40-b43), built on Aug 26 2013 23:53:33 by "java_re" with gcc 4.3.0 20080428 (Red Hat 4.3.0-8)

time: Mon Nov 25 15:07:36 2013
elapsed time: 0 seconds

REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
public class Main {
    public static void main(String[] args) {
        for (int i = 0; i < 1000000; i += 1) {
            try {
                java.lang.reflect.Array.newInstance(void.class, 2);
            } catch (Throwable e) {
            }
        }
    }
}

---------- END SOURCE ----------

CUSTOMER SUBMITTED WORKAROUND :
Use -Xint or don't call Arrays.newInstance with void.class.
                                    

Comments
URL:   http://hg.openjdk.java.net/jdk8/jdk8/hotspot/rev/b87211e33ebb
User:  amurillo
Date:  2013-12-17 22:08:14 +0000

                                     
2013-12-17
Release team: Approved for fixing
                                     
2013-12-06
Running with a debug build hits:

#  Internal Error (/Users/cthaling/ws/hotspot/src/share/vm/memory/universe.hpp:268), pid=30042, tid=20483
#  assert(_typeArrayKlassObjs[t] != NULL) failed: domain check

(lldb) bt
* thread #16: tid = 0x3a3c3, 0x00007fff8d396866 libsystem_kernel.dylib`__pthread_kill + 10, name = 'Java: C2 CompilerThread1, stop reason = signal SIGABRT
    frame #0: 0x00007fff8d396866 libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x00007fff8f75535c libsystem_pthread.dylib`pthread_kill + 92
    frame #2: 0x00007fff96b85bba libsystem_c.dylib`abort + 125
    frame #3: 0x0000000102a36f46 libjvm.dylib`os::abort(dump_core=true) + 150 at os_bsd.cpp:1106
    frame #4: 0x0000000102c3aa5d libjvm.dylib`VMError::report_and_die(this=0x000000011c900e00) + 2365 at vmError.cpp:1078
    frame #5: 0x00000001024cc69c libjvm.dylib`report_vm_error(file=0x0000000102ceafd5, line=268, error_msg=0x0000000102ceb186, detail_msg=0x0000000102ceaf58) + 124 at debug.cpp:223
    frame #6: 0x00000001023c5dd9 libjvm.dylib`Universe::typeArrayKlassObj(t=T_VOID) + 185 at universe.hpp:268
    frame #7: 0x00000001023c5c23 libjvm.dylib`ciTypeArrayKlass::make_impl(t=T_VOID) + 19 at ciTypeArrayKlass.cpp:46
    frame #8: 0x00000001023c5cb9 libjvm.dylib`ciTypeArrayKlass::make(t=T_VOID) + 121 at ciTypeArrayKlass.cpp:55
    frame #9: 0x0000000102394412 libjvm.dylib`ciArrayKlass::make(element_type=0x000000010504fb18) + 50 at ciArrayKlass.cpp:101
    frame #10: 0x0000000102992af5 libjvm.dylib`LoadNode::klass_value_common(this=0x00000001040cd7e0, phase=0x000000011c905100) const + 517 at memnode.cpp:2074
    frame #11: 0x00000001029928e8 libjvm.dylib`LoadKlassNode::Value(this=0x00000001040cd7e0, phase=0x000000011c905100) const + 40 at memnode.cpp:2045
...
                                     
2013-12-04
We need to fix this bug in 8 as well since it violates the language.
                                     
2013-12-04
diff -r 55dd6e77b399 src/share/vm/opto/memnode.cpp
--- a/src/share/vm/opto/memnode.cpp	Fri Nov 22 15:26:37 2013 +0100
+++ b/src/share/vm/opto/memnode.cpp	Wed Dec 04 12:32:29 2013 -0800
@@ -2071,6 +2071,11 @@ const Type *LoadNode::klass_value_common
       if (t != NULL) {
         // constant oop => constant klass
         if (offset == java_lang_Class::array_klass_offset_in_bytes()) {
+          if (t->is_void()) {
+            // We cannot create a void array.  Since void is a primitive type return null
+            // klass.  Users of this result need to do a null check on the returned klass.
+            return TypePtr::NULL_PTR;
+          }
           return TypeKlassPtr::make(ciArrayKlass::make(t));
         }
         if (!t->is_klass()) {

                                     
2013-12-04
The code in LoadNode::klass_value_common tries to create a ciArrayKlass of type T_VOID which fails since there is no such thing as a void array.

Primitive classes have null for a klass field.  For the non-array case we return null but for the array case we don't and so we hit an assert in ciArrayKlass::make.

The fix is to check for void types in the array case and return TypePtr::NULL_PTR.
                                     
2013-12-04
Verified the reproducer. Also fails on JDK8 b102 at least.
                                     
2013-11-29



Hardware and Software, Engineered to Work Together