Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8178997

invokedynamic that bound to getstatic in a constructor of a class causes JVM crash

    XMLWordPrintable

    Details

    • Subcomponent:
    • Introduced In Build:
      b04
    • Introduced In Version:
    • CPU:
      x86_64
    • OS:
      linux

      Description

      FULL PRODUCT VERSION :
      java version "1.8.0_131"
      Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
      Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

      A DESCRIPTION OF THE PROBLEM :
      Background Info: I'm a developer of the JaCoCo code coverage library. While exploring possibility to use invokedynamic to improve library I encountered this issue and isolated a simple reproducer.

      Usage of getstatic indirectly via method handle and invokedynamic in a place where currently we use getstatic directly causes JVM crash.

      THE PROBLEM WAS REPRODUCIBLE WITH -Xint FLAG: No

      THE PROBLEM WAS REPRODUCIBLE WITH -server FLAG: Yes

      REGRESSION. Last worked in version 8u111

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Source code below uses ASM library for generation of bytecode for two tiny classes with a tiny difference - one with getstatic that runs successfully, another with invokedynamic that causes crash. To compile and execute reproducer:

      javac -cp asm-5.2.jar -source 7 -target 7 JvmCrash.java
      java -cp asm-5.2.jar:. JvmCrash


      EXPECTED VERSUS ACTUAL BEHAVIOR :
      Expected - no crash as with 1.8.0_77

      Actual - JVM crash starting with 1.8.0_92

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # SIGSEGV (0xb) at pc=0x00007fdde0167ea9, pid=3314, tid=0x00007fddc2901700
      #
      # JRE version: Java(TM) SE Runtime Environment (8.0_131-b11) (build 1.8.0_131-b11)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.131-b11 mixed mode linux-amd64 compressed oops)
      # Problematic frame:
      # V [libjvm.so+0x36bea9] GraphBuilder::store_indexed(BasicType)+0x289
      #
      # 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.java.com/bugreport/crash.jsp
      #

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

      Current thread (0x00007fddd80c8000): JavaThread "C1 CompilerThread3" daemon [_thread_in_native, id=3332, stack(0x00007fddc2801000,0x00007fddc2902000)]

      siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x0000000000000018

      Registers:
      RAX=0x0000000000000000, RBX=0x00007fddd8067410, RCX=0x00007fdde17b52e0, RDX=0x00007fdde0dbdf30
      RSP=0x00007fddc28ffe30, RBP=0x00007fddc28ffe90, RSI=0x0000000000000000, RDI=0x00007fddc28ffdc0
      R8 =0x0000000000000001, R9 =0x0000000000000001, R10=0x0000000000000001, R11=0x00007fdde0156a90
      R12=0x000000000000000d, R13=0x00007fdd681210f0, R14=0x00007fdd700be9f0, R15=0x00007fdd68122070
      RIP=0x00007fdde0167ea9, EFLAGS=0x0000000000010206, CSGSFS=0x0000000000000033, ERR=0x0000000000000004
        TRAPNO=0x000000000000000e

      Top of Stack: (sp=0x00007fddc28ffe30)
      0x00007fddc28ffe30: 00007fddc28ffe90 00007fdde015ded9
      0x00007fddc28ffe40: 00000008e0d30e30 00007fddc2900100
      0x00007fddc28ffe50: 00007fdd681220f0 00007fdd68121ff0
      0x00007fddc28ffe60: 0000000000000000 0000000000000000
      0x00007fddc28ffe70: 000000000000000d 0000000000000054
      0x00007fddc28ffe80: 00007fdd700be9f0 00007fddc2900100
      0x00007fddc28ffe90: 00007fddc28fff50 00007fdde016c63a
      0x00007fddc28ffea0: 00007fdd700bea38 00007fdd700beb98
      0x00007fddc28ffeb0: 00007fdd700be260 00007fddc28ffed0
      0x00007fddc28ffec0: 0000000000000000 00007fdde017a6e4
      0x00007fddc28ffed0: 00007fdd680018e0 00007fdd68001830
      0x00007fddc28ffee0: 00007fdd68002817 0000000000000000
      0x00007fddc28ffef0: 0000000000000004 00007fdd68002810
      0x00007fddc28fff00: 00007fdd6800281d 00007fdd68002818
      0x00007fddc28fff10: 0000005400000054 00007fdd700beb30
      0x00007fddc28fff20: 0000000000000008 00007fdd700be500
      0x00007fddc28fff30: 00007fdd700beb70 00007fddc2900100
      0x00007fddc28fff40: 00007fdd700be9f0 0000000000000000
      0x00007fddc28fff50: 00007fddc28fff90 00007fdde016d7e2
      0x00007fddc28fff60: 00007fddc28fff90 00007fdd700bea70
      0x00007fddc28fff70: 00007fddc2900100 00007fdd700be500
      0x00007fddc28fff80: 00007fdd700be260 00000000ffffffff
      0x00007fddc28fff90: 00007fddc29000e0 00007fdde016eda7
      0x00007fddc28fffa0: 00007fdde0927f05 00007fddc28fffb0
      0x00007fddc28fffb0: 00007fddc2900430 00007fdd700be260
      0x00007fddc28fffc0: 00007fdd00000001 00007fdd700be3f0
      0x00007fddc28fffd0: 00007fdd00000010 00007fdd700be470
      0x00007fddc28fffe0: 0000000000000000 00007fdd700be300
      0x00007fddc28ffff0: 0000000000000000 00007fdde015c100
      0x00007fddc2900000: 00007fdd700be860 0000000000000001
      0x00007fddc2900010: 0000000000000000 0000000000000000
      0x00007fddc2900020: 0000000000000000 00007fdd700be400

      Instructions: (pc=0x00007fdde0167ea9)
      0x00007fdde0167e89: 00 48 85 c0 48 89 c3 0f 84 fa 05 00 00 48 83 78
      0x00007fdde0167e99: 10 00 0f 84 1b 07 00 00 48 89 df e8 37 53 0a 00
      0x00007fdde0167ea9: 83 78 18 04 0f 1f 00 0f 84 b2 01 00 00 31 db bf
      0x00007fdde0167eb9: 98 00 00 00 e8 6e 80 fe ff 48 85 c0 49 89 c6 0f

      Register to memory mapping:

      RAX=0x0000000000000000 is an unknown value
      RBX=0x00007fddd8067410 is an unknown value
      RCX=0x00007fdde17b52e0: <offset 0x2172e0> in /lib64/libpthread.so.0 at 0x00007fdde159e000
      RDX=0x00007fdde0dbdf30: <offset 0xfc1f30> in /home/godin/.java-select/versions/jdk1.8.0_131/jre/lib/amd64/server/libjvm.so at 0x00007fdddfdfc000
      RSP=0x00007fddc28ffe30 is pointing into the stack for thread: 0x00007fddd80c8000
      RBP=0x00007fddc28ffe90 is pointing into the stack for thread: 0x00007fddd80c8000
      RSI=0x0000000000000000 is an unknown value
      RDI=0x00007fddc28ffdc0 is pointing into the stack for thread: 0x00007fddd80c8000
      R8 =0x0000000000000001 is an unknown value
      R9 =0x0000000000000001 is an unknown value
      R10=0x0000000000000001 is an unknown value
      R11=0x00007fdde0156a90: <offset 0x35aa90> in /home/godin/.java-select/versions/jdk1.8.0_131/jre/lib/amd64/server/libjvm.so at 0x00007fdddfdfc000
      R12=0x000000000000000d is an unknown value
      R13=0x00007fdd681210f0 is an unknown value
      R14=0x00007fdd700be9f0 is an unknown value
      R15=0x00007fdd68122070 is an unknown value


      Stack: [0x00007fddc2801000,0x00007fddc2902000], sp=0x00007fddc28ffe30, free space=1019k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x36bea9] GraphBuilder::store_indexed(BasicType)+0x289
      V [libjvm.so+0x37063a] GraphBuilder::iterate_bytecodes_for_block(int)+0x103a
      V [libjvm.so+0x3717e2] GraphBuilder::iterate_all_blocks(bool)+0xf2
      V [libjvm.so+0x372da7] GraphBuilder::GraphBuilder(Compilation*, IRScope*)+0x527
      V [libjvm.so+0x37b7a7] IRScope::IRScope(Compilation*, IRScope*, int, ciMethod*, int, bool)+0x1e7
      V [libjvm.so+0x37b8bf] IR::IR(Compilation*, ciMethod*, int)+0x9f
      V [libjvm.so+0x359ceb] Compilation::build_hir()+0xdb
      V [libjvm.so+0x35a0ae] Compilation::compile_java_method()+0x6e
      V [libjvm.so+0x35a1de] Compilation::compile_method()+0x4e
      V [libjvm.so+0x35a54e] Compilation::Compilation(AbstractCompiler*, ciEnv*, ciMethod*, int, BufferBlob*)+0x25e
      V [libjvm.so+0x35b2f9] Compiler::compile_method(ciEnv*, ciMethod*, int)+0xa9
      V [libjvm.so+0x4b0aea] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xc9a
      V [libjvm.so+0x4b1a96] CompileBroker::compiler_thread_loop()+0x5d6
      V [libjvm.so+0xa76833] JavaThread::thread_main_inner()+0x103
      V [libjvm.so+0xa7697c] JavaThread::run()+0x11c
      V [libjvm.so+0x927568] java_start(Thread*)+0x108
      C [libpthread.so.0+0x85d4] start_thread+0xc4


      Current CompileTask:
      C1: 135 206 3 Example::<init> (13 bytes)


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

      Java Threads: ( => current thread )
        0x00007fddd80e5000 JavaThread "Service Thread" daemon [_thread_blocked, id=3333, stack(0x00007fddc2700000,0x00007fddc2801000)]
      =>0x00007fddd80c8000 JavaThread "C1 CompilerThread3" daemon [_thread_in_native, id=3332, stack(0x00007fddc2801000,0x00007fddc2902000)]
        0x00007fddd80c5800 JavaThread "C2 CompilerThread2" daemon [_thread_in_native, id=3331, stack(0x00007fddc2902000,0x00007fddc2a03000)]
        0x00007fddd80c4000 JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=3330, stack(0x00007fddc2a03000,0x00007fddc2b04000)]
        0x00007fddd80c1000 JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=3329, stack(0x00007fddc2b04000,0x00007fddc2c05000)]
        0x00007fddd80bf800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=3328, stack(0x00007fddc2c05000,0x00007fddc2d06000)]
        0x00007fddd808c000 JavaThread "Finalizer" daemon [_thread_blocked, id=3327, stack(0x00007fddc2fcf000,0x00007fddc30d0000)]
        0x00007fddd8087800 JavaThread "Reference Handler" daemon [_thread_blocked, id=3326, stack(0x00007fddc30d0000,0x00007fddc31d1000)]
        0x00007fddd800a000 JavaThread "main" [_thread_in_Java, id=3315, stack(0x00007fdde189d000,0x00007fdde199e000)]

      Other Threads:
        0x00007fddd8080000 VMThread [stack: 0x00007fddc31d1000,0x00007fddc32d2000] [id=3325]
        0x00007fddd80e8000 WatcherThread [stack: 0x00007fddc25ff000,0x00007fddc2700000] [id=3336]

      VM state:not at safepoint (normal execution)

      VM Mutex/Monitor currently owned by a thread: None

      Heap:
       PSYoungGen total 74752K, used 5161K [0x000000076cf80000, 0x0000000772280000, 0x00000007c0000000)
        eden space 64512K, 8% used [0x000000076cf80000,0x000000076d48a448,0x0000000770e80000)
        from space 10240K, 0% used [0x0000000771880000,0x0000000771880000,0x0000000772280000)
        to space 10240K, 0% used [0x0000000770e80000,0x0000000770e80000,0x0000000771880000)
       ParOldGen total 171008K, used 0K [0x00000006c6e00000, 0x00000006d1500000, 0x000000076cf80000)
        object space 171008K, 0% used [0x00000006c6e00000,0x00000006c6e00000,0x00000006d1500000)
       Metaspace used 3683K, capacity 4822K, committed 4864K, reserved 1056768K
        class space used 401K, capacity 497K, committed 512K, reserved 1048576K

      Card table byte_map: [0x00007fddddedf000,0x00007fddde6a9000] byte_map_base: 0x00007fddda8a8000

      Marking Bits: (ParMarkBitMap*) 0x00007fdde0dc1f60
       Begin Bits: [0x00007fdd8c370000, 0x00007fdd901b8000)
       End Bits: [0x00007fdd901b8000, 0x00007fdd94000000)

      Polling page: 0x00007fdde19da000

      CodeCache: size=245760Kb used=1413Kb max_used=1413Kb free=244347Kb
       bounds [0x00007fddc9000000, 0x00007fddc9270000, 0x00007fddd8000000]
       total_blobs=458 nmethods=200 adapters=172
       compilation: enabled

      Compilation events (10 events):
      Event: 0.129 Thread 0x00007fddd80c8000 201 3 java.lang.reflect.Constructor::newInstance (87 bytes)
      Event: 0.129 Thread 0x00007fddd80c1000 nmethod 200 0x00007fddc915f410 code [0x00007fddc915f580, 0x00007fddc915f6f8]
      Event: 0.129 Thread 0x00007fddd80c8000 nmethod 201 0x00007fddc915b510 code [0x00007fddc915b700, 0x00007fddc915be28]
      Event: 0.129 Thread 0x00007fddd80c8000 202 1 java.lang.invoke.DirectMethodHandle$StaticAccessor::access$500 (5 bytes)
      Event: 0.129 Thread 0x00007fddd80c8000 nmethod 202 0x00007fddc915b250 code [0x00007fddc915b3a0, 0x00007fddc915b490]
      Event: 0.129 Thread 0x00007fddd80c8000 198 3 java.lang.invoke.InvokerBytecodeGenerator::isStaticallyNameable (116 bytes)
      Event: 0.131 Thread 0x00007fddd80c8000 nmethod 198 0x00007fddc915f950 code [0x00007fddc915fcc0, 0x00007fddc9161d78]
      Event: 0.131 Thread 0x00007fddd80c8000 204 3 java.lang.Class::cast (27 bytes)
      Event: 0.131 Thread 0x00007fddd80c8000 nmethod 204 0x00007fddc915ac50 code [0x00007fddc915ade0, 0x00007fddc915b158]
      Event: 0.131 Thread 0x00007fddd80c8000 206 3 Example::<init> (13 bytes)

      GC Heap History (0 events):
      No events

      Deoptimization events (6 events):
      Event: 0.083 Thread 0x00007fddd800a000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00007fddc911c874 method=java.lang.Class.newInstance()Ljava/lang/Object; @ 19
      Event: 0.083 Thread 0x00007fddd800a000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00007fddc911bfdc method=java.lang.reflect.Constructor.newInstance([Ljava/lang/Object;)Ljava/lang/Object; @ 69
      Event: 0.083 Thread 0x00007fddd800a000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x00007fddc911d198 method=sun.reflect.DelegatingConstructorAccessorImpl.newInstance([Ljava/lang/Object;)Ljava/lang/Object; @ 5
      Event: 0.127 Thread 0x00007fddd800a000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x00007fddc911d198 method=sun.reflect.DelegatingConstructorAccessorImpl.newInstance([Ljava/lang/Object;)Ljava/lang/Object; @ 5
      Event: 0.127 Thread 0x00007fddd800a000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x00007fddc911d198 method=sun.reflect.DelegatingConstructorAccessorImpl.newInstance([Ljava/lang/Object;)Ljava/lang/Object; @ 5
      Event: 0.127 Thread 0x00007fddd800a000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x00007fddc911d198 method=sun.reflect.DelegatingConstructorAccessorImpl.newInstance([Ljava/lang/Object;)Ljava/lang/Object; @ 5

      Internal exceptions (5 events):
      Event: 0.022 Thread 0x00007fddd800a000 Exception <a 'java/lang/NoSuchMethodError': Method sun.misc.Unsafe.defineClass(Ljava/lang/String;[BII)Ljava/lang/Class; name or signature does not match> (0x000000076cf87ca8) thrown at [/HUDSON/workspace/8-2-build-linux-amd64/jdk8u131/8869/hotspot/src/sha
      Event: 0.023 Thread 0x00007fddd800a000 Exception <a 'java/lang/NoSuchMethodError': Method sun.misc.Unsafe.prefetchRead(Ljava/lang/Object;J)V name or signature does not match> (0x000000076cf87f90) thrown at [/HUDSON/workspace/8-2-build-linux-amd64/jdk8u131/8869/hotspot/src/share/vm/prims/jni.cp
      Event: 0.083 Thread 0x00007fddd800a000 Implicit null exception at 0x00007fddc911be47 to 0x00007fddc911bfcd
      Event: 0.118 Thread 0x00007fddd800a000 Exception <a 'java/lang/NoSuchFieldError': method resolution failed> (0x000000076d3d35d0) thrown at [/HUDSON/workspace/8-2-build-linux-amd64/jdk8u131/8869/hotspot/src/share/vm/prims/methodHandles.cpp, line 1146]
      Event: 0.120 Thread 0x00007fddd800a000 Exception <a 'java/lang/NoSuchFieldError': method resolution failed> (0x000000076d3e0970) thrown at [/HUDSON/workspace/8-2-build-linux-amd64/jdk8u131/8869/hotspot/src/share/vm/prims/methodHandles.cpp, line 1146]

      Events (10 events):
      Event: 0.126 loading class java/lang/invoke/DirectMethodHandle$StaticAccessor done
      Event: 0.127 Thread 0x00007fddd800a000 Uncommon trap: trap_request=0xffffffde fr.pc=0x00007fddc911d198
      Event: 0.127 Thread 0x00007fddd800a000 DEOPT PACKING pc=0x00007fddc911d198 sp=0x00007fdde199c790
      Event: 0.127 Thread 0x00007fddd800a000 DEOPT UNPACKING pc=0x00007fddc9005229 sp=0x00007fdde199c760 mode 2
      Event: 0.127 Thread 0x00007fddd800a000 Uncommon trap: trap_request=0xffffffde fr.pc=0x00007fddc911d198
      Event: 0.127 Thread 0x00007fddd800a000 DEOPT PACKING pc=0x00007fddc911d198 sp=0x00007fdde199c790
      Event: 0.127 Thread 0x00007fddd800a000 DEOPT UNPACKING pc=0x00007fddc9005229 sp=0x00007fdde199c760 mode 2
      Event: 0.127 Thread 0x00007fddd800a000 Uncommon trap: trap_request=0xffffffde fr.pc=0x00007fddc911d198
      Event: 0.127 Thread 0x00007fddd800a000 DEOPT PACKING pc=0x00007fddc911d198 sp=0x00007fdde199c790
      Event: 0.127 Thread 0x00007fddd800a000 DEOPT UNPACKING pc=0x00007fddc9005229 sp=0x00007fdde199c760 mode 2


      Dynamic libraries:
      00400000-00401000 r-xp 00000000 08:03 28838038 /home/godin/.java-select/versions/jdk1.8.0_131/bin/java
      00600000-00601000 rw-p 00000000 08:03 28838038 /home/godin/.java-select/versions/jdk1.8.0_131/bin/java
      01c9b000-01cbc000 rw-p 00000000 00:00 0 [heap]
      6c6e00000-6d1500000 rw-p 00000000 00:00 0
      6d1500000-76cf80000 ---p 00000000 00:00 0
      76cf80000-772280000 rw-p 00000000 00:00 0
      772280000-7c0000000 ---p 00000000 00:00 0
      7c0000000-7c0080000 rw-p 00000000 00:00 0
      7c0080000-800000000 ---p 00000000 00:00 0
      7fdd60000000-7fdd60021000 rw-p 00000000 00:00 0
      7fdd60021000-7fdd64000000 ---p 00000000 00:00 0
      7fdd68000000-7fdd68158000 rw-p 00000000 00:00 0
      7fdd68158000-7fdd6c000000 ---p 00000000 00:00 0
      7fdd6c000000-7fdd6c021000 rw-p 00000000 00:00 0
      7fdd6c021000-7fdd70000000 ---p 00000000 00:00 0
      7fdd70000000-7fdd700f0000 rw-p 00000000 00:00 0
      7fdd700f0000-7fdd74000000 ---p 00000000 00:00 0
      7fdd74000000-7fdd74039000 rw-p 00000000 00:00 0
      7fdd74039000-7fdd78000000 ---p 00000000 00:00 0
      7fdd78000000-7fdd78021000 rw-p 00000000 00:00 0
      7fdd78021000-7fdd7c000000 ---p 00000000 00:00 0
      7fdd7c000000-7fdd7c08f000 rw-p 00000000 00:00 0
      7fdd7c08f000-7fdd80000000 ---p 00000000 00:00 0
      7fdd80000000-7fdd80021000 rw-p 00000000 00:00 0
      7fdd80021000-7fdd84000000 ---p 00000000 00:00 0
      7fdd84000000-7fdd84021000 rw-p 00000000 00:00 0
      7fdd84021000-7fdd88000000 ---p 00000000 00:00 0
      7fdd88000000-7fdd88021000 rw-p 00000000 00:00 0
      7fdd88021000-7fdd8c000000 ---p 00000000 00:00 0
      7fdd8c370000-7fdd94000000 rw-p 00000000 00:00 0
      7fdd94000000-7fdd94021000 rw-p 00000000 00:00 0
      7fdd94021000-7fdd98000000 ---p 00000000 00:00 0
      7fdd98000000-7fdd98021000 rw-p 00000000 00:00 0
      7fdd98021000-7fdd9c000000 ---p 00000000 00:00 0
      7fdd9c000000-7fdd9c021000 rw-p 00000000 00:00 0
      7fdd9c021000-7fdda0000000 ---p 00000000 00:00 0
      7fdda4000000-7fdda4021000 rw-p 00000000 00:00 0
      7fdda4021000-7fdda8000000 ---p 00000000 00:00 0
      7fddac000000-7fddac021000 rw-p 00000000 00:00 0
      7fddac021000-7fddb0000000 ---p 00000000 00:00 0
      7fddb4000000-7fddb4021000 rw-p 00000000 00:00 0
      7fddb4021000-7fddb8000000 ---p 00000000 00:00 0
      7fddbc000000-7fddbc021000 rw-p 00000000 00:00 0
      7fddbc021000-7fddc0000000 ---p 00000000 00:00 0
      7fddc2378000-7fddc25ff000 rw-p 00000000 00:00 0
      7fddc25ff000-7fddc2600000 ---p 00000000 00:00 0
      7fddc2600000-7fddc2700000 rw-p 00000000 00:00 0 [stack:3336]
      7fddc2700000-7fddc2703000 ---p 00000000 00:00 0
      7fddc2703000-7fddc2801000 rw-p 00000000 00:00 0 [stack:3333]
      7fddc2801000-7fddc2804000 ---p 00000000 00:00 0
      7fddc2804000-7fddc2902000 rw-p 00000000 00:00 0 [stack:3332]
      7fddc2902000-7fddc2905000 ---p 00000000 00:00 0
      7fddc2905000-7fddc2a03000 rw-p 00000000 00:00 0 [stack:3331]
      7fddc2a03000-7fddc2a06000 ---p 00000000 00:00 0
      7fddc2a06000-7fddc2b04000 rw-p 00000000 00:00 0 [stack:3330]
      7fddc2b04000-7fddc2b07000 ---p 00000000 00:00 0
      7fddc2b07000-7fddc2c05000 rw-p 00000000 00:00 0 [stack:3329]
      7fddc2c05000-7fddc2c08000 ---p 00000000 00:00 0
      7fddc2c08000-7fddc2d06000 rw-p 00000000 00:00 0 [stack:3328]
      7fddc2d06000-7fddc2fcf000 r--p 00000000 08:03 11141270 /usr/lib64/locale/locale-archive
      7fddc2fcf000-7fddc2fd2000 ---p 00000000 00:00 0
      7fddc2fd2000-7fddc30d0000 rw-p 00000000 00:00 0 [stack:3327]
      7fddc30d0000-7fddc30d3000 ---p 00000000 00:00 0
      7fddc30d3000-7fddc31d1000 rw-p 00000000 00:00 0 [stack:3326]
      7fddc31d1000-7fddc31d2000 ---p 00000000 00:00 0
      7fddc31d2000-7fddc4000000 rw-p 00000000 00:00 0 [stack:3325]
      7fddc4000000-7fddc4021000 rw-p 00000000 00:00 0
      7fddc4021000-7fddc8000000 ---p 00000000 00:00 0
      7fddc8012000-7fddc8e27000 rw-p 00000000 00:00 0
      7fddc8e27000-7fddc9000000 r--s 03d40000 08:03 269897 /home/godin/.java-select/versions/jdk1.8.0_131/jre/lib/rt.jar
      7fddc9000000-7fddc9270000 rwxp 00000000 00:00 0
      7fddc9270000-7fddd8000000 ---p 00000000 00:00 0
      7fddd8000000-7fddd818e000 rw-p 00000000 00:00 0
      7fddd818e000-7fdddc000000 ---p 00000000 00:00 0
      7fdddc017000-7fdddc61d000 rw-p 00000000 00:00 0
      7fdddc61d000-7fdddc9dd000 ---p 00000000 00:00 0
      7fdddc9dd000-7fdddd1a6000 rw-p 00000000 00:00 0
      7fdddd1a6000-7fdddd1a7000 ---p 00000000 00:00 0
      7fdddd1a7000-7fdddd2a7000 rw-p 00000000 00:00 0 [stack:3324]
      7fdddd2a7000-7fdddd2a8000 ---p 00000000 00:00 0
      7fdddd2a8000-7fdddd3a8000 rw-p 00000000 00:00 0 [stack:3323]
      7fdddd3a8000-7fdddd3a9000 ---p 00000000 00:00 0
      7fdddd3a9000-7fdddd4a9000 rw-p 00000000 00:00 0 [stack:3322]
      7fdddd4a9000-7fdddd4aa000 ---p 00000000 00:00 0
      7fdddd4aa000-7fdddd5aa000 rw-p 00000000 00:00 0 [stack:3320]
      7fdddd5aa000-7fdddd5ab000 ---p 00000000 00:00 0
      7fdddd5ab000-7fdddd6ab000 rw-p 00000000 00:00 0 [stack:3319]
      7fdddd6ab000-7fdddd6ac000 ---p 00000000 00:00 0
      7fdddd6ac000-7fdddd7ac000 rw-p 00000000 00:00 0 [stack:3318]
      7fdddd7ac000-7fdddd7ad000 ---p 00000000 00:00 0
      7fdddd7ad000-7fdddd8ad000 rw-p 00000000 00:00 0 [stack:3317]
      7fdddd8ad000-7fdddd8ae000 ---p 00000000 00:00 0
      7fdddd8ae000-7fdddda02000 rw-p 00000000 00:00 0 [stack:3316]
      7fdddda02000-7fddddedf000 ---p 00000000 00:00 0
      7fddddedf000-7fddddf33000 rw-p 00000000 00:00 0
      7fddddf33000-7fddde40f000 ---p 00000000 00:00 0
      7fddde40f000-7fddde43a000 rw-p 00000000 00:00 0
      7fddde43a000-7fddde6a8000 ---p 00000000 00:00 0
      7fddde6a8000-7fddde6b3000 rw-p 00000000 00:00 0
      7fddde6b3000-7fdddea69000 ---p 00000000 00:00 0
      7fdddea69000-7fdddea83000 r-xp 00000000 08:03 798452 /home/godin/.java-select/versions/jdk1.8.0_131/jre/lib/amd64/libzip.so
      7fdddea83000-7fdddec83000 ---p 0001a000 08:03 798452 /home/godin/.java-select/versions/jdk1.8.0_131/jre/lib/amd64/libzip.so
      7fdddec83000-7fdddec84000 rw-p 0001a000 08:03 798452 /home/godin/.java-select/versions/jdk1.8.0_131/jre/lib/amd64/libzip.so
      7fdddec84000-7fdddec8e000 r-xp 00000000 08:03 14819310 /lib64/libnss_files-2.23.so
      7fdddec8e000-7fdddee8d000 ---p 0000a000 08:03 14819310 /lib64/libnss_files-2.23.so
      7fdddee8d000-7fdddee8e000 r--p 00009000 08:03 14819310 /lib64/libnss_files-2.23.so
      7fdddee8e000-7fdddee8f000 rw-p 0000a000 08:03 14819310 /lib64/libnss_files-2.23.so
      7fdddee8f000-7fdddee99000 r-xp 00000000 08:03 14819324 /lib64/libnss_nis-2.23.so
      7fdddee99000-7fdddf098000 ---p 0000a000 08:03 14819324 /lib64/libnss_nis-2.23.so
      7fdddf098000-7fdddf099000 r--p 00009000 08:03 14819324 /lib64/libnss_nis-2.23.so
      7fdddf099000-7fdddf09a000 rw-p 0000a000 08:03 14819324 /lib64/libnss_nis-2.23.so
      7fdddf09a000-7fdddf0ae000 r-xp 00000000 08:03 14818836 /lib64/libnsl-2.23.so
      7fdddf0ae000-7fdddf2ad000 ---p 00014000 08:03 14818836 /lib64/libnsl-2.23.so
      7fdddf2ad000-7fdddf2ae000 r--p 00013000 08:03 14818836 /lib64/libnsl-2.23.so
      7fdddf2ae000-7fdddf2af000 rw-p 00014000 08:03 14818836 /lib64/libnsl-2.23.so
      7fdddf2af000-7fdddf2b1000 rw-p 00000000 00:00 0
      7fdddf2b1000-7fdddf2b8000 r-xp 00000000 08:03 14819326 /lib64/libnss_compat-2.23.so
      7fdddf2b8000-7fdddf4b7000 ---p 00007000 08:03 14819326 /lib64/libnss_compat-2.23.so
      7fdddf4b7000-7fdddf4b8000 r--p 00006000 08:03 14819326 /lib64/libnss_compat-2.23.so
      7fdddf4b8000-7fdddf4b9000 rw-p 00007000 08:03 14819326 /lib64/libnss_compat-2.23.so
      7fdddf4b9000-7fdddf4e4000 r-xp 00000000 08:03 798446 /home/godin/.java-select/versions/jdk1.8.0_131/jre/lib/amd64/libjava.so
      7fdddf4e4000-7fdddf6e3000 ---p 0002b000 08:03 798446 /home/godin/.java-select/versions/jdk1.8.0_131/jre/lib/amd64/libjava.so
      7fdddf6e3000-7fdddf6e5000 rw-p 0002a000 08:03 798446 /home/godin/.java-select/versions/jdk1.8.0_131/jre/lib/amd64/libjava.so
      7fdddf6e5000-7fdddf6f2000 r-xp 00000000 08:03 798451 /home/godin/.java-select/versions/jdk1.8.0_131/jre/lib/amd64/libverify.so
      7fdddf6f2000-7fdddf8f1000 ---p 0000d000 08:03 798451 /home/godin/.java-select/versions/jdk1.8.0_131/jre/lib/amd64/libverify.so
      7fdddf8f1000-7fdddf8f3000 rw-p 0000c000 08:03 798451 /home/godin/.java-select/versions/jdk1.8.0_131/jre/lib/amd64/libverify.so
      7fdddf8f3000-7fdddf8f9000 r-xp 00000000 08:03 14819273 /lib64/librt-2.23.so
      7fdddf8f9000-7fdddfaf9000 ---p 00006000 08:03 14819273 /lib64/librt-2.23.so
      7fdddfaf9000-7fdddfafa000 r--p 00006000 08:03 14819273 /lib64/librt-2.23.so
      7fdddfafa000-7fdddfafb000 rw-p 00007000 08:03 14819273 /lib64/librt-2.23.so
      7fdddfafb000-7fdddfbfb000 r-xp 00000000 08:03 14815700 /lib64/libm-2.23.so
      7fdddfbfb000-7fdddfdfa000 ---p 00100000 08:03 14815700 /lib64/libm-2.23.so
      7fdddfdfa000-7fdddfdfb000 r--p 000ff000 08:03 14815700 /lib64/libm-2.23.so
      7fdddfdfb000-7fdddfdfc000 rw-p 00100000 08:03 14815700 /lib64/libm-2.23.so
      7fdddfdfc000-7fdde0acb000 r-xp 00000000 08:03 798427 /home/godin/.java-select/versions/jdk1.8.0_131/jre/lib/amd64/server/libjvm.so
      7fdde0acb000-7fdde0ccb000 ---p 00ccf000 08:03 798427 /home/godin/.java-select/versions/jdk1.8.0_131/jre/lib/amd64/server/libjvm.so
      7fdde0ccb000-7fdde0da4000 rw-p 00ccf000 08:03 798427 /home/godin/.java-select/versions/jdk1.8.0_131/jre/lib/amd64/server/libjvm.so
      7fdde0da4000-7fdde0def000 rw-p 00000000 00:00 0
      7fdde0def000-7fdde0f7b000 r-xp 00000000 08:03 14819342 /lib64/libc-2.23.so
      7fdde0f7b000-7fdde117a000 ---p 0018c000 08:03 14819342 /lib64/libc-2.23.so
      7fdde117a000-7fdde117e000 r--p 0018b000 08:03 14819342 /lib64/libc-2.23.so
      7fdde117e000-7fdde1180000 rw-p 0018f000 08:03 14819342 /lib64/libc-2.23.so
      7fdde1180000-7fdde1184000 rw-p 00000000 00:00 0
      7fdde1184000-7fdde1186000 r-xp 00000000 08:03 14819243 /lib64/libdl-2.23.so
      7fdde1186000-7fdde1386000 ---p 00002000 08:03 14819243 /lib64/libdl-2.23.so
      7fdde1386000-7fdde1387000 r--p 00002000 08:03 14819243 /lib64/libdl-2.23.so
      7fdde1387000-7fdde1388000 rw-p 00003000 08:03 14819243 /lib64/libdl-2.23.so
      7fdde1388000-7fdde139d000 r-xp 00000000 08:03 29109011 /home/godin/.java-select/versions/jdk1.8.0_131/lib/amd64/jli/libjli.so
      7fdde139d000-7fdde159d000 ---p 00015000 08:03 29109011 /home/godin/.java-select/versions/jdk1.8.0_131/lib/amd64/jli/libjli.so
      7fdde159d000-7fdde159e000 rw-p 00015000 08:03 29109011 /home/godin/.java-select/versions/jdk1.8.0_131/lib/amd64/jli/libjli.so
      7fdde159e000-7fdde15b4000 r-xp 00000000 08:03 14819268 /lib64/libpthread-2.23.so
      7fdde15b4000-7fdde17b4000 ---p 00016000 08:03 14819268 /lib64/libpthread-2.23.so
      7fdde17b4000-7fdde17b5000 r--p 00016000 08:03 14819268 /lib64/libpthread-2.23.so
      7fdde17b5000-7fdde17b6000 rw-p 00017000 08:03 14819268 /lib64/libpthread-2.23.so
      7fdde17b6000-7fdde17ba000 rw-p 00000000 00:00 0
      7fdde17ba000-7fdde17dd000 r-xp 00000000 08:03 14818848 /lib64/ld-2.23.so
      7fdde17f4000-7fdde189d000 rw-p 00000000 00:00 0
      7fdde189d000-7fdde18a0000 ---p 00000000 00:00 0
      7fdde18a0000-7fdde19a2000 rw-p 00000000 00:00 0 [stack:3315]
      7fdde19a7000-7fdde19a9000 r--s 0000c000 08:03 1836124 /tmp/j/asm-5.2.jar
      7fdde19a9000-7fdde19d1000 rw-p 00000000 00:00 0
      7fdde19d1000-7fdde19d9000 rw-s 00000000 08:03 1837008 /tmp/hsperfdata_godin/3314
      7fdde19d9000-7fdde19da000 rw-p 00000000 00:00 0
      7fdde19da000-7fdde19db000 r--p 00000000 00:00 0
      7fdde19db000-7fdde19dc000 rw-p 00000000 00:00 0
      7fdde19dc000-7fdde19dd000 r--p 00022000 08:03 14818848 /lib64/ld-2.23.so
      7fdde19dd000-7fdde19de000 rw-p 00023000 08:03 14818848 /lib64/ld-2.23.so
      7fdde19de000-7fdde19df000 rw-p 00000000 00:00 0
      7fff6533b000-7fff6535d000 rw-p 00000000 00:00 0 [stack]
      7fff65389000-7fff6538b000 r--p 00000000 00:00 0 [vvar]
      7fff6538b000-7fff6538d000 r-xp 00000000 00:00 0 [vdso]
      ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]

      VM Arguments:
      java_command: JvmCrash
      java_class_path (initial): asm-5.2.jar:.
      Launcher Type: SUN_STANDARD

      Environment Variables:
      JAVA_HOME=/home/godin/.java-select/current
      PATH=/home/godin/.node/bin:/home/godin/.java-select/current/bin:/home/godin/projects/dotfiles/java-select/bin:/home/godin/projects/dotfiles/bin:/home/godin/bin:/home/godin/.node/bin:/home/godin/.java-select/current/bin:/home/godin/projects/dotfiles/java-select/bin:/home/godin/projects/dotfiles/bin:/home/godin/bin:/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.9.3:/opt/intel/composerxe-2015_update6.6.233/bin/intel64:/opt/intel/composerxe-2015_update6.6.233/mpirt/bin/intel64:/opt/intel/composerxe-2015_update6.6.233/bin/ia32:/opt/intel/composerxe-2015_update6.6.233/mpirt/bin/ia32
      SHELL=/bin/zsh
      DISPLAY=:0

      Signal Handlers:
      SIGSEGV: [libjvm.so+0xac8af0], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
      SIGBUS: [libjvm.so+0xac8af0], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
      SIGFPE: [libjvm.so+0x921dd0], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
      SIGPIPE: [libjvm.so+0x921dd0], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
      SIGXFSZ: [libjvm.so+0x921dd0], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
      SIGILL: [libjvm.so+0x921dd0], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
      SIGUSR1: SIG_DFL, sa_mask[0]=00000000000000000000000000000000, sa_flags=none
      SIGUSR2: [libjvm.so+0x923610], sa_mask[0]=00000000000000000000000000000000, sa_flags=SA_RESTART|SA_SIGINFO
      SIGHUP: [libjvm.so+0x924a10], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
      SIGINT: [libjvm.so+0x924a10], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
      SIGTERM: [libjvm.so+0x924a10], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
      SIGQUIT: [libjvm.so+0x924a10], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO


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

      OS:DISTRIB_ID="Gentoo"

      uname:Linux 4.1.15-gentoo-r1 #1 SMP Sat May 21 23:45:31 CEST 2016 x86_64
      libc:glibc 2.23 NPTL 2.23
      rlimit: STACK 8192k, CORE 0k, NPROC 63739, NOFILE 4096, AS infinity
      load average:0.19 0.29 0.26

      /proc/meminfo:
      MemTotal: 16320640 kB
      MemFree: 6476484 kB
      MemAvailable: 12112140 kB
      Buffers: 436308 kB
      Cached: 5325236 kB
      SwapCached: 0 kB
      Active: 6623980 kB
      Inactive: 2798748 kB
      Active(anon): 3671760 kB
      Inactive(anon): 296496 kB
      Active(file): 2952220 kB
      Inactive(file): 2502252 kB
      Unevictable: 32 kB
      Mlocked: 32 kB
      SwapTotal: 524284 kB
      SwapFree: 524284 kB
      Dirty: 148 kB
      Writeback: 0 kB
      AnonPages: 3661792 kB
      Mapped: 657656 kB
      Shmem: 307076 kB
      Slab: 290540 kB
      SReclaimable: 241724 kB
      SUnreclaim: 48816 kB
      KernelStack: 9904 kB
      PageTables: 50924 kB
      NFS_Unstable: 0 kB
      Bounce: 0 kB
      WritebackTmp: 0 kB
      CommitLimit: 8684604 kB
      Committed_AS: 8880292 kB
      VmallocTotal: 34359738367 kB
      VmallocUsed: 373000 kB
      VmallocChunk: 34358947836 kB
      HugePages_Total: 0
      HugePages_Free: 0
      HugePages_Rsvd: 0
      HugePages_Surp: 0
      Hugepagesize: 2048 kB
      DirectMap4k: 24852 kB
      DirectMap2M: 16642048 kB


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

      /proc/cpuinfo:
      processor : 0
      vendor_id : GenuineIntel
      cpu family : 6
      model : 58
      model name : Intel(R) Core(TM) i7-3632QM CPU @ 2.20GHz
      stepping : 9
      microcode : 0x16
      cpu MHz : 2201.000
      cache size : 6144 KB
      physical id : 0
      siblings : 8
      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 nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx 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 pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt
      bugs :
      bogomips : 4389.68
      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) i7-3632QM CPU @ 2.20GHz
      stepping : 9
      microcode : 0x16
      cpu MHz : 2201.000
      cache size : 6144 KB
      physical id : 0
      siblings : 8
      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 nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx 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 pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt
      bugs :
      bogomips : 4389.68
      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) i7-3632QM CPU @ 2.20GHz
      stepping : 9
      microcode : 0x16
      cpu MHz : 2201.000
      cache size : 6144 KB
      physical id : 0
      siblings : 8
      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 nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx 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 pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt
      bugs :
      bogomips : 4389.68
      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) i7-3632QM CPU @ 2.20GHz
      stepping : 9
      microcode : 0x16
      cpu MHz : 2201.000
      cache size : 6144 KB
      physical id : 0
      siblings : 8
      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 nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx 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 pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt
      bugs :
      bogomips : 4389.68
      clflush size : 64
      cache_alignment : 64
      address sizes : 36 bits physical, 48 bits virtual
      power management:

      processor : 4
      vendor_id : GenuineIntel
      cpu family : 6
      model : 58
      model name : Intel(R) Core(TM) i7-3632QM CPU @ 2.20GHz
      stepping : 9
      microcode : 0x16
      cpu MHz : 2201.000
      cache size : 6144 KB
      physical id : 0
      siblings : 8
      core id : 0
      cpu cores : 4
      apicid : 1
      initial apicid : 1
      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 nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx 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 pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt
      bugs :
      bogomips : 4389.68
      clflush size : 64
      cache_alignment : 64
      address sizes : 36 bits physical, 48 bits virtual
      power management:

      processor : 5
      vendor_id : GenuineIntel
      cpu family : 6
      model : 58
      model name : Intel(R) Core(TM) i7-3632QM CPU @ 2.20GHz
      stepping : 9
      microcode : 0x16
      cpu MHz : 2201.000
      cache size : 6144 KB
      physical id : 0
      siblings : 8
      core id : 1
      cpu cores : 4
      apicid : 3
      initial apicid : 3
      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 nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx 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 pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt
      bugs :
      bogomips : 4389.68
      clflush size : 64
      cache_alignment : 64
      address sizes : 36 bits physical, 48 bits virtual
      power management:

      processor : 6
      vendor_id : GenuineIntel
      cpu family : 6
      model : 58
      model name : Intel(R) Core(TM) i7-3632QM CPU @ 2.20GHz
      stepping : 9
      microcode : 0x16
      cpu MHz : 2201.000
      cache size : 6144 KB
      physical id : 0
      siblings : 8
      core id : 2
      cpu cores : 4
      apicid : 5
      initial apicid : 5
      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 nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx 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 pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt
      bugs :
      bogomips : 4389.68
      clflush size : 64
      cache_alignment : 64
      address sizes : 36 bits physical, 48 bits virtual
      power management:

      processor : 7
      vendor_id : GenuineIntel
      cpu family : 6
      model : 58
      model name : Intel(R) Core(TM) i7-3632QM CPU @ 2.20GHz
      stepping : 9
      microcode : 0x16
      cpu MHz : 2201.000
      cache size : 6144 KB
      physical id : 0
      siblings : 8
      core id : 3
      cpu cores : 4
      apicid : 7
      initial apicid : 7
      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 nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx 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 pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt
      bugs :
      bogomips : 4389.68
      clflush size : 64
      cache_alignment : 64
      address sizes : 36 bits physical, 48 bits virtual
      power management:



      Memory: 4k page, physical 16320640k(6475780k free), swap 524284k(524284k free)

      vm_info: Java HotSpot(TM) 64-Bit Server VM (25.131-b11) for linux-amd64 JRE (1.8.0_131-b11), built on Mar 15 2017 01:23:40 by "java_re" with gcc 4.3.0 20080428 (Red Hat 4.3.0-8)

      time: Thu Apr 20 00:04:55 2017
      elapsed time: 0 seconds (0d 0h 0m 0s)



      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      import org.objectweb.asm.ClassWriter;
      import org.objectweb.asm.Handle;
      import org.objectweb.asm.MethodVisitor;
      import org.objectweb.asm.Opcodes;

      import java.lang.invoke.CallSite;
      import java.lang.invoke.ConstantCallSite;
      import java.lang.invoke.MethodHandles;
      import java.lang.invoke.MethodType;

      /**
       * javac -cp asm-5.2.jar -source 7 -target 7 JvmCrash.java
       * java -cp asm-5.2.jar:. JvmCrash
       */
      public class JvmCrash {

        public static void main(final String[] args) throws Exception {
          System.out.println("Using getstatic directly");
          final Class direct = create(false);
          for (int i = 0; i < 100_000; i++) {
            direct.newInstance();
          }

          System.out.println("Using getstatic via invokedynamic");
          final Class indy = create(true);
          // needs warmup
          for (int i = 0; i < 10_000; i++) {
            indy.newInstance();
          }
        }

        public static boolean[] data = new boolean[1];

        /**
         * Create class whose constructor is
         *
         * <pre>
         * invokedynamic / getstatic
         * iconst_0
         * iconst_1
         * bastore
         *
         * aload_0
         * invokespecial
         * return
         * </pre>
         */
        private static Class create(final boolean indy) throws Exception {
          final String className = "Example";
          final String mainName = JvmCrash.class.getName().replace('.', '/');

          final ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_FRAMES | ClassWriter.COMPUTE_MAXS);

          cw.visit(Opcodes.V1_7, Opcodes.ACC_PUBLIC + Opcodes.ACC_SUPER, className, null, "java/lang/Object", null);

          final MethodVisitor mv = cw.visitMethod(Opcodes.ACC_PUBLIC, "<init>", "()V", null, null);
          mv.visitCode();

          if (indy) {
            mv.visitInvokeDynamicInsn("bootstrap", "()[Z",
                new Handle(Opcodes.H_INVOKESTATIC, mainName, "bootstrap",
                    "(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;",
                    false));
          } else {
            mv.visitFieldInsn(Opcodes.GETSTATIC, mainName, "data", "[Z");
          }

          mv.visitInsn(Opcodes.ICONST_0);
          mv.visitInsn(Opcodes.ICONST_1);
          mv.visitInsn(Opcodes.BASTORE);

          mv.visitVarInsn(Opcodes.ALOAD, 0);
          mv.visitMethodInsn(Opcodes.INVOKESPECIAL, "java/lang/Object", "<init>", "()V", false);
          mv.visitInsn(Opcodes.RETURN);

          mv.visitMaxs(0, 0);
          mv.visitEnd();

          cw.visitEnd();

          final byte[] bytes = cw.toByteArray();

          return new ClassLoader() {
            Class load() {
              return defineClass(className, bytes, 0, bytes.length);
            }
          }.load();
        }

        public static CallSite bootstrap(final MethodHandles.Lookup caller, final String name, final MethodType type) throws Exception {
          return new ConstantCallSite(caller.findStaticGetter(JvmCrash.class, "data", boolean[].class));
        }

      }

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

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              fmatte Fairoz Matte
              Reporter:
              webbuggrp Webbug Group
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: