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

fatal error has been detected by the Java Runtime Environment (access violation)

    Details

    • Subcomponent:
      svc
    • Resolved In Build:
      b06
    • OS:
      windows_8
    • Verification:
      Not verified

      Backports

        Description

        FULL PRODUCT VERSION :
        java version "1.8.0-ea"
        Java(TM) SE Runtime Environment (build 1.8.0-ea-b118)
        Java HotSpot(TM) 64-Bit Server VM (build 25.0-b60, mixed mode)

        FULL OS VERSION :
        Windows 8.1 Pro 64-bit

        A DESCRIPTION OF THE PROBLEM :
        I am writing a JNI-based C++ application that loads JVM.DLL. This application loads the Java Jetty web server, which in turn loads a Java web application (packaged as .war file) from the Jetty webapps directory.

        When testing this application under the Java 7 JRE 64-bit, the application works fine.

        When run under Java 8, the JVM fatally crashes. If Jetty is started with the Java.exe supplied with Java 8, then it works successfully with no crash. This would tend to indicate a problem in my C++ JNI code, however, this very same program works successfully with Java 7.

        (Also, this very same C++ JNI program works successfully when the platform is Windows 7 64-bit and Java 8 JVM 64-bit.)

        The error report generated by the Java 8 JVM indicates the fatal access violation occurred when calling:

        java.security.AccessController.doPrivileged()

        and specifically at:

        sun.management.DiagnosticCommandImpl.getDiagnosticCommandInfo()

        THE PROBLEM WAS REPRODUCIBLE WITH -Xint FLAG: Did not try

        THE PROBLEM WAS REPRODUCIBLE WITH -server FLAG: Yes

        REGRESSION. Last worked in version 7u51

        STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
          To reproduce this program would require running my C++ JNI program where it attempts to have Jetty load a particular Spring-based web app. I simplified the C++ JNI program to a single file consisting of around 200 lines of code and can be made available.

        EXPECTED VERSUS ACTUAL BEHAVIOR :
        The JVM crashes fatally due to an access violation fault.
        ERROR MESSAGES/STACK TRACES THAT OCCUR :
        #
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000673bf4aa, pid=492, tid=11296
        #
        # JRE version: Java(TM) SE Runtime Environment (8.0-b118) (build 1.8.0-ea-b118)
        # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.0-b60 mixed mode windows-amd64 compressed oops)
        # Problematic frame:
        # V [jvm.dll+0x23f4aa]
        #
        # Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
        #
        # 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 (0x000000029ee40800): JavaThread "main" [_thread_in_vm, id=11296, stack(0x000000029d3c0000,0x000000029d4c0000)]

        siginfo: ExceptionCode=0xc0000005, writing address 0xffffffffb20b0b90

        Registers:
        RAX=0x000000006771c400, RBX=0x000000029efcebf0, RCX=0x0000000000000000, RDX=0x0000000000000000
        RSP=0x000000029d4ba480, RBP=0x000000029efce7a0, RSI=0x000000029efc8210, RDI=0x000000029ee40800
        R8 =0x000000029efce7e0, R9 =0xffffffffb20b0bd8, R10=0x00000000ffa14828, R11=0x00000002b2fcf960
        R12=0x0000000000000001, R13=0x000000029efce7b0, R14=0x00000000000003d8, R15=0x000000029efce7b0
        RIP=0x00000000673bf4aa, EFLAGS=0x0000000000010202

          Top of Stack: (sp=0x000000029d4ba480)
        0x000000029d4ba480: 000000029efcebf0 000000029efce7a0
        0x000000029d4ba490: 000000029efc8210 000000029ee40800
        0x000000029d4ba4a0: 0000000000000000 000000029ee40800
        0x000000029d4ba4b0: 000000029efce7b0 0000000000000010
        0x000000029d4ba4c0: 000000029ee40800 0000000000000010
        0x000000029d4ba4d0: 00000002ae680488 00000002b66648d0
        0x000000029d4ba4e0: ffffffffb20b0b90 0000000000000010
        0x000000029d4ba4f0: 000000029d4ba668 00000000671212fa
        0x000000029d4ba500: 000000029efceb88 0000000000000000
        0x000000029d4ba510: 000000029ee409e0 ffffffffb20b0bd8
        0x000000029d4ba520: 000000029ee40800 000000029efc80c0
        0x000000029d4ba530: 00000002b66648d0 000000029d4ba670
        0x000000029d4ba540: 000000029efce6c0 000000006722ad06
        0x000000029d4ba550: 000000029d4bab18 000000029efc8210
        0x000000029d4ba560: 000000020000000e 000000029ee40800
        0x000000029d4ba570: 00000002b66648d0 000000029ee40800

        Instructions: (pc=0x00000000673bf4aa)
        0x00000000673bf48a: 00 00 00 48 63 c8 49 8b 45 18 4c 8b 04 c8 49 83
        0x00000000673bf49a: c1 38 41 ff c4 49 8b 00 4c 89 8c 24 98 00 00 00
        0x00000000673bf4aa: 49 89 41 b8 49 8b 40 08 49 89 41 c0 49 8b 40 10
        0x00000000673bf4ba: 49 89 41 c8 49 8b 40 28 49 8b 50 18 49 8b 48 20


        Register to memory mapping:

        RAX=0x000000006771c400 is an unknown value
        RBX=0x000000029efcebf0 is an unknown value
        RCX=0x0000000000000000 is an unknown value
        RDX=0x0000000000000000 is an unknown value
        RSP=0x000000029d4ba480 is pointing into the stack for thread: 0x000000029ee40800
        RBP=0x000000029efce7a0 is an unknown value
        RSI=0x000000029efc8210 is an unknown value
        RDI=0x000000029ee40800 is a thread
        R8 =0x000000029efce7e0 is an unknown value
        R9 =0xffffffffb20b0bd8 is an unknown value
        R10=0x00000000ffa14828 is an oop

        [error occurred during error reporting (printing register info), id 0xc0000005]

        Stack: [0x000000029d3c0000,0x000000029d4c0000], sp=0x000000029d4ba480, free space=1001k
        Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
        V [jvm.dll+0x23f4aa]
        C [management.dll+0x12fa]
        C 0x000000029efe3c95

        Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
        j sun.management.DiagnosticCommandImpl.getDiagnosticCommandInfo([Ljava/lang/String;)[Lsun/management/DiagnosticCommandInfo;+0
        j sun.management.DiagnosticCommandImpl.getMBeanInfo()Ljavax/management/MBeanInfo;+37
        j com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getNewMBeanClassName(Ljava/lang/Object;)Ljava/lang/String;+13
        j com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(Ljava/lang/Object;Ljavax/management/ObjectName;)Ljavax/management/ObjectInstance;+10
        j com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(Ljava/lang/Object;Ljavax/management/ObjectName;)Ljavax/management/ObjectInstance;+10
        j java.lang.management.ManagementFactory$3.run()Ljava/lang/Void;+12
        j java.lang.management.ManagementFactory$3.run()Ljava/lang/Object;+1
        v ~StubRoutines::call_stub
        j java.security.AccessController.doPrivileged(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;+0
        j java.lang.management.ManagementFactory.addDynamicMBean(Ljavax/management/MBeanServer;Ljavax/management/DynamicMBean;Ljavax/management/ObjectName;)V+10
        j java.lang.management.ManagementFactory.getPlatformMBeanServer()Ljavax/management/MBeanServer;+186
        j org.neo4j.jmx.impl.ManagementSupport.getMBeanServer()Ljavax/management/MBeanServer;+0
        j org.neo4j.jmx.impl.JmxKernelExtension.init()V+27
        j org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.init()V+36
        j org.neo4j.kernel.lifecycle.LifeSupport.init()V+56
        j org.neo4j.kernel.extension.KernelExtensions.init()V+85
        j org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.init()V+36
        j org.neo4j.kernel.lifecycle.LifeSupport.init()V+56
        j org.neo4j.kernel.lifecycle.LifeSupport.start()V+1
        j org.neo4j.kernel.InternalAbstractGraphDatabase.run()V+12
        j org.neo4j.kernel.EmbeddedGraphDatabase.<init>(Ljava/lang/String;Ljava/util/Map;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;)V+25
        j org.neo4j.graphdb.factory.GraphDatabaseFactory$1.newDatabase(Ljava/util/Map;)Lorg/neo4j/graphdb/GraphDatabaseService;+100
        j org.neo4j.graphdb.factory.GraphDatabaseBuilder.newGraphDatabase()Lorg/neo4j/graphdb/GraphDatabaseService;+8
        j com.tideworks.ipro.embeddedNeo4j.EmbeddedNeo4j.openDb(Ljava/lang/String;)Lorg/neo4j/graphdb/GraphDatabaseService;+11
        j com.tideworks.ipro.StartNeo4j.<init>(Ljava/lang/String;)V+6
        v ~StubRoutines::call_stub
        J 1755 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Ljava/lang/Object; (0 bytes) @ 0x000000029f6b7326 [0x000000029f6b72c0+0x66]
        J 1753 C1 sun.reflect.NativeConstructorAccessorImpl.newInstance([Ljava/lang/Object;)Ljava/lang/Object; (89 bytes) @ 0x000000029f6b8c8c [0x000000029f6b7c80+0x100c]
        J 1737 C1 sun.reflect.DelegatingConstructorAccessorImpl.newInstance([Ljava/lang/Object;)Ljava/lang/Object; (9 bytes) @ 0x000000029f6b1c04 [0x000000029f6b1b00+0x104]
        J 1736 C1 java.lang.reflect.Constructor.newInstance([Ljava/lang/Object;)Ljava/lang/Object; (87 bytes) @ 0x000000029f6b2444 [0x000000029f6b2000+0x444]
        j org.springframework.beans.BeanUtils.instantiateClass(Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Ljava/lang/Object;+12
        j org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(Lorg/springframework/beans/factory/support/RootBeanDefinition;Ljava/lang/String;Lorg/springframework/beans/factory/BeanFactory;Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Ljava/lang/Object;+34
        j org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Lorg/springframework/beans/BeanWrapper;+878
        j org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Lorg/springframework/beans/BeanWrapper;+13
        j org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Object;)Lorg/springframework/beans/BeanWrapper;+202
        j org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Object;)Ljava/lang/Object;+34
        j org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Object;)Ljava/lang/Object;+124
        j org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject()Ljava/lang/Object;+16
        j org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(Ljava/lang/String;Lorg/springframework/beans/factory/ObjectFactory;)Ljava/lang/Object;+129
        j org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Object;Z)Ljava/lang/Object;+314
        j org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Ljava/lang/String;)Ljava/lang/Object;+5
        j org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons()V+248
        j org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;)V+106
        j org.springframework.context.support.AbstractApplicationContext.refresh()V+54
        j org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(Lorg/springframework/web/context/ConfigurableWebApplicationContext;Ljavax/servlet/ServletContext;)V+164
        j org.springframework.web.context.ContextLoader.initWebApplicationContext(Ljavax/servlet/ServletContext;)Lorg/springframework/web/context/WebApplicationContext;+133
        j org.springframework.web.context.ContextLoaderListener.contextInitialized(Ljavax/servlet/ServletContextEvent;)V+28
        j org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(Ljavax/servlet/ServletContextListener;Ljavax/servlet/ServletContextEvent;)V+24
        j org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(Ljavax/servlet/ServletContextListener;Ljavax/servlet/ServletContextEvent;)V+19
        j org.eclipse.jetty.server.handler.ContextHandler.startContext()V+190
        j org.eclipse.jetty.servlet.ServletContextHandler.startContext()V+150
        j org.eclipse.jetty.webapp.WebAppContext.startContext()V+13
        j org.eclipse.jetty.server.handler.ContextHandler.doStart()V+134
        j org.eclipse.jetty.webapp.WebAppContext.doStart()V+16
        j org.eclipse.jetty.util.component.AbstractLifeCycle.start()V+31
        j org.eclipse.jetty.util.component.ContainerLifeCycle.start(Lorg/eclipse/jetty/util/component/LifeCycle;)V+1
        j org.eclipse.jetty.util.component.ContainerLifeCycle.addBean(Ljava/lang/Object;Lorg/eclipse/jetty/util/component/ContainerLifeCycle$Managed;)Z+219
        j org.eclipse.jetty.util.component.ContainerLifeCycle.addBean(Ljava/lang/Object;)Z+32
        j org.eclipse.jetty.util.component.ContainerLifeCycle.updateBeans([Ljava/lang/Object;[Ljava/lang/Object;)V+158
        j org.eclipse.jetty.server.handler.HandlerCollection.setHandlers([Lorg/eclipse/jetty/server/Handler;)V+85
        j org.eclipse.jetty.server.handler.ContextHandlerCollection.setHandlers([Lorg/eclipse/jetty/server/Handler;)V+2
        j org.eclipse.jetty.server.handler.HandlerCollection.addHandler(Lorg/eclipse/jetty/server/Handler;)V+15
        j org.eclipse.jetty.deploy.bindings.StandardDeployer.processBinding(Lorg/eclipse/jetty/deploy/graph/Node;Lorg/eclipse/jetty/deploy/App;)V+44
        j org.eclipse.jetty.deploy.AppLifeCycle.runBindings(Lorg/eclipse/jetty/deploy/graph/Node;Lorg/eclipse/jetty/deploy/App;Lorg/eclipse/jetty/deploy/DeploymentManager;)V+96
        j org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(Lorg/eclipse/jetty/deploy/DeploymentManager$AppEntry;Ljava/lang/String;)V+145
        j org.eclipse.jetty.deploy.DeploymentManager.addApp(Lorg/eclipse/jetty/deploy/App;)V+80
        j org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(Ljava/lang/String;)V+56
        j org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(Ljava/lang/String;)V+5
        j org.eclipse.jetty.util.Scanner.reportAddition(Ljava/lang/String;)V+41
        j org.eclipse.jetty.util.Scanner.reportDifferences(Ljava/util/Map;Ljava/util/Map;)V+595
        j org.eclipse.jetty.util.Scanner.scan()V+28
        j org.eclipse.jetty.util.Scanner.doStart()V+25
        j org.eclipse.jetty.util.component.AbstractLifeCycle.start()V+31
        j org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart()V+242
        j org.eclipse.jetty.util.component.AbstractLifeCycle.start()V+31
        j org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(Lorg/eclipse/jetty/deploy/AppProvider;)V+8
        j org.eclipse.jetty.deploy.DeploymentManager.doStart()V+96
        j org.eclipse.jetty.util.component.AbstractLifeCycle.start()V+31
        j org.eclipse.jetty.util.component.ContainerLifeCycle.start(Lorg/eclipse/jetty/util/component/LifeCycle;)V+1
        j org.eclipse.jetty.server.Server.start(Lorg/eclipse/jetty/util/component/LifeCycle;)V+9
        j org.eclipse.jetty.util.component.ContainerLifeCycle.doStart()V+129
        j org.eclipse.jetty.server.handler.AbstractHandler.doStart()V+44
        j org.eclipse.jetty.server.Server.doStart()V+236
        j org.eclipse.jetty.util.component.AbstractLifeCycle.start()V+31
        j org.eclipse.jetty.xml.XmlConfiguration$1.run()Ljava/lang/Object;+418
        v ~StubRoutines::call_stub
        j java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;)Ljava/lang/Object;+0
        j org.eclipse.jetty.xml.XmlConfiguration.main([Ljava/lang/String;)V+17
        v ~StubRoutines::call_stub
        j sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0
        j sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+100
        j sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6
        j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+56
        j org.eclipse.jetty.start.Main.invokeMain(Lorg/eclipse/jetty/start/StartArgs;)V+157
        j org.eclipse.jetty.start.Main.start(Lorg/eclipse/jetty/start/StartArgs;)V+483
        j org.eclipse.jetty.start.Main.main([Ljava/lang/String;)V+16
        v ~StubRoutines::call_stub

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

        Java Threads: ( => current thread )
          0x00000002b235f000 JavaThread "Neo4j UDC Timer" daemon [_thread_blocked, id=9988, stack(0x00000002b6550000,0x00000002b6650000)]
          0x00000002b2f74800 JavaThread "HashSessionScavenger-0" daemon [_thread_blocked, id=11024, stack(0x00000002b3e90000,0x00000002b3f90000)]
          0x00000002b0a37800 JavaThread "qtp1915503092-20" [_thread_blocked, id=10964, stack(0x00000002b1b00000,0x00000002b1c00000)]
          0x00000002b0a36800 JavaThread "qtp1915503092-19" [_thread_blocked, id=8652, stack(0x00000002b1a00000,0x00000002b1b00000)]
          0x00000002b0a2e000 JavaThread "qtp1915503092-18" [_thread_blocked, id=13136, stack(0x00000002b1900000,0x00000002b1a00000)]
          0x00000002b0a2b800 JavaThread "qtp1915503092-17" [_thread_blocked, id=13100, stack(0x00000002b1800000,0x00000002b1900000)]
          0x00000002b0a2a800 JavaThread "qtp1915503092-16" [_thread_blocked, id=11748, stack(0x00000002b1700000,0x00000002b1800000)]
          0x00000002b0a2a000 JavaThread "qtp1915503092-15" [_thread_blocked, id=11556, stack(0x00000002b1600000,0x00000002b1700000)]
          0x00000002b0a29000 JavaThread "qtp1915503092-14" [_thread_blocked, id=4004, stack(0x00000002b1500000,0x00000002b1600000)]
          0x00000002b0a1d000 JavaThread "qtp1915503092-13" [_thread_blocked, id=12560, stack(0x00000002b1400000,0x00000002b1500000)]
          0x00000002b0a1a800 JavaThread "qtp1915503092-12" [_thread_blocked, id=2992, stack(0x00000002b1300000,0x00000002b1400000)]
          0x00000002b0a03000 JavaThread "qtp1915503092-11" [_thread_blocked, id=6788, stack(0x00000002b1200000,0x00000002b1300000)]
          0x00000002af05e000 JavaThread "Service Thread" daemon [_thread_blocked, id=12532, stack(0x00000002b0120000,0x00000002b0220000)]
          0x00000002aefe1000 JavaThread "C1 CompilerThread1" daemon [_thread_blocked, id=11204, stack(0x00000002b0020000,0x00000002b0120000)]
          0x00000002aefd9000 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=11448, stack(0x00000002aff20000,0x00000002b0020000)]
          0x00000002aefd7800 JavaThread "Attach Listener" daemon [_thread_blocked, id=2508, stack(0x00000002afe20000,0x00000002aff20000)]
          0x00000002aefd6000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=10308, stack(0x00000002afd20000,0x00000002afe20000)]
          0x00000002aef9e800 JavaThread "Finalizer" daemon [_thread_blocked, id=3932, stack(0x00000002afc20000,0x00000002afd20000)]
          0x00000002aef97000 JavaThread "Reference Handler" daemon [_thread_blocked, id=12604, stack(0x00000002afb20000,0x00000002afc20000)]
        =>0x000000029ee40800 JavaThread "main" [_thread_in_vm, id=11296, stack(0x000000029d3c0000,0x000000029d4c0000)]

        Other Threads:
          0x00000002aef90800 VMThread [stack: 0x00000002afa20000,0x00000002afb20000] [id=13296]
          0x00000002af061800 WatcherThread [stack: 0x00000002b0220000,0x00000002b0320000] [id=12504]

        VM state:not at safepoint (normal execution)

        VM Mutex/Monitor currently owned by a thread: None

        Heap:
         PSYoungGen total 7680K, used 5991K [0x00000000ff600000, 0x0000000100000000, 0x0000000100000000)
          eden space 5120K, 83% used [0x00000000ff600000,0x00000000ffa27630,0x00000000ffb00000)
          from space 2560K, 67% used [0x00000000ffd80000,0x00000000fff328d0,0x0000000100000000)
          to space 2560K, 0% used [0x00000000ffb00000,0x00000000ffb00000,0x00000000ffd80000)
         ParOldGen total 19968K, used 18727K [0x00000000fe200000, 0x00000000ff580000, 0x00000000ff600000)
          object space 19968K, 93% used [0x00000000fe200000,0x00000000ff449ed0,0x00000000ff580000)
         Metaspace used 18606K, capacity 18820K, committed 19072K, reserved 1067008K
          class space used 2297K, capacity 2372K, committed 2432K, reserved 1048576K

        Card table byte_map: [0x000000029ef40000,0x000000029ef50000] byte_map_base: 0x000000029e74f000

        Marking Bits: (ParMarkBitMap*) 0x00000000679314f0
         Begin Bits: [0x00000002ae590000, 0x00000002ae608000)
         End Bits: [0x00000002ae608000, 0x00000002ae680000)

        Polling page: 0x000000029edf0000

        CodeCache: size=245760Kb used=7924Kb max_used=7927Kb free=237835Kb
         bounds [0x000000029efd0000, 0x000000029f7a0000, 0x00000002adfd0000]
         total_blobs=2386 nmethods=1997 adapters=303
         compilation: enabled

        Compilation events (10 events):
        Event: 9.960 Thread 0x00000002aefe1000 1996 1 javax.management.MBeanFeatureInfo::getName (5 bytes)
        Event: 9.961 Thread 0x00000002aefe1000 nmethod 1996 0x000000029f791b10 code [0x000000029f791c60, 0x000000029f791d78]
        Event: 9.964 Thread 0x00000002aefe1000 1997 3 javax.management.StandardMBean::equal (23 bytes)
        Event: 9.964 Thread 0x00000002aefe1000 nmethod 1997 0x000000029f791610 code [0x000000029f791780, 0x000000029f791a50]
        Event: 9.965 Thread 0x00000002aefe1000 1998 1 sun.reflect.generics.tree.SimpleClassTypeSignature::getTypeArguments (5 bytes)
        Event: 9.965 Thread 0x00000002aefe1000 nmethod 1998 0x000000029f791350 code [0x000000029f7914a0, 0x000000029f7915b8]
        Event: 9.965 Thread 0x00000002aefe1000 1999 3 java.lang.reflect.Method::hashCode (19 bytes)
        Event: 9.965 Thread 0x00000002aefe1000 nmethod 1999 0x000000029f790ad0 code [0x000000029f790c60, 0x000000029f7911d0]
        Event: 9.965 Thread 0x00000002aefe1000 2000 3 java.util.IdentityHashMap::containsKey (55 bytes)
        Event: 9.966 Thread 0x00000002aefe1000 nmethod 2000 0x000000029f7902d0 code [0x000000029f790460, 0x000000029f7908d0]

        GC Heap History (10 events):
        Event: 9.227 GC heap before
        {Heap before GC invocations=130 (full 6):
         PSYoungGen total 5632K, used 5228K [0x00000000ff600000, 0x00000000fff00000, 0x0000000100000000)
          eden space 4096K, 100% used [0x00000000ff600000,0x00000000ffa00000,0x00000000ffa00000)
          from space 1536K, 73% used [0x00000000ffa00000,0x00000000ffb1b3d0,0x00000000ffb80000)
          to space 2560K, 0% used [0x00000000ffc80000,0x00000000ffc80000,0x00000000fff00000)
         ParOldGen total 19968K, used 18703K [0x00000000fe200000, 0x00000000ff580000, 0x00000000ff600000)
          object space 19968K, 93% used [0x00000000fe200000,0x00000000ff443ed0,0x00000000ff580000)
         Metaspace used 14859K, capacity 15108K, committed 15488K, reserved 1062912K
          class space used 1719K, capacity 1796K, committed 1920K, reserved 1048576K
        Event: 9.234 GC heap after
        Heap after GC invocations=130 (full 6):
         PSYoungGen total 6656K, used 1314K [0x00000000ff600000, 0x00000000fff80000, 0x0000000100000000)
          eden space 4096K, 0% used [0x00000000ff600000,0x00000000ff600000,0x00000000ffa00000)
          from space 2560K, 51% used [0x00000000ffc80000,0x00000000ffdc8910,0x00000000fff00000)
          to space 2560K, 0% used [0x00000000ffa00000,0x00000000ffa00000,0x00000000ffc80000)
         ParOldGen total 19968K, used 18703K [0x00000000fe200000, 0x00000000ff580000, 0x00000000ff600000)
          object space 19968K, 93% used [0x00000000fe200000,0x00000000ff443ed0,0x00000000ff580000)
         Metaspace used 14859K, capacity 15108K, committed 15488K, reserved 1062912K
          class space used 1719K, capacity 1796K, committed 1920K, reserved 1048576K
        }
        Event: 9.352 GC heap before
        {Heap before GC invocations=131 (full 6):
         PSYoungGen total 6656K, used 5410K [0x00000000ff600000, 0x00000000fff80000, 0x0000000100000000)
          eden space 4096K, 100% used [0x00000000ff600000,0x00000000ffa00000,0x00000000ffa00000)
          from space 2560K, 51% used [0x00000000ffc80000,0x00000000ffdc8910,0x00000000fff00000)
          to space 2560K, 0% used [0x00000000ffa00000,0x00000000ffa00000,0x00000000ffc80000)
         ParOldGen total 19968K, used 18703K [0x00000000fe200000, 0x00000000ff580000, 0x00000000ff600000)
          object space 19968K, 93% used [0x00000000fe200000,0x00000000ff443ed0,0x00000000ff580000)
         Metaspace used 15443K, capacity 15716K, committed 16000K, reserved 1062912K
          class space used 1812K, capacity 1892K, committed 1920K, reserved 1048576K
        Event: 9.361 GC heap after
        Heap after GC invocations=131 (full 6):
         PSYoungGen total 6656K, used 1372K [0x00000000ff600000, 0x00000000fff80000, 0x0000000100000000)
          eden space 4096K, 0% used [0x00000000ff600000,0x00000000ff600000,0x00000000ffa00000)
          from space 2560K, 53% used [0x00000000ffa00000,0x00000000ffb57130,0x00000000ffc80000)
          to space 2560K, 0% used [0x00000000ffd00000,0x00000000ffd00000,0x00000000fff80000)
         ParOldGen total 19968K, used 18703K [0x00000000fe200000, 0x00000000ff580000, 0x00000000ff600000)
          object space 19968K, 93% used [0x00000000fe200000,0x00000000ff443ed0,0x00000000ff580000)
         Metaspace used 15443K, capacity 15716K, committed 16000K, reserved 1062912K
          class space used 1812K, capacity 1892K, committed 1920K, reserved 1048576K
        }
        Event: 9.440 GC heap before
        {Heap before GC invocations=132 (full 6):
         PSYoungGen total 6656K, used 5468K [0x00000000ff600000, 0x00000000fff80000, 0x0000000100000000)
          eden space 4096K, 100% used [0x00000000ff600000,0x00000000ffa00000,0x00000000ffa00000)
          from space 2560K, 53% used [0x00000000ffa00000,0x00000000ffb57130,0x00000000ffc80000)
          to space 2560K, 0% used [0x00000000ffd00000,0x00000000ffd00000,0x00000000fff80000)
         ParOldGen total 19968K, used 18703K [0x00000000fe200000, 0x00000000ff580000, 0x00000000ff600000)
          object space 19968K, 93% used [0x00000000fe200000,0x00000000ff443ed0,0x00000000ff580000)
         Metaspace used 15803K, capacity 16004K, committed 16384K, reserved 1062912K
          class space used 1866K, capacity 1924K, committed 2048K, reserved 1048576K
        Event: 9.445 GC heap after
        Heap after GC invocations=132 (full 6):
         PSYoungGen total 7168K, used 1590K [0x00000000ff600000, 0x00000000fff80000, 0x0000000100000000)
          eden space 4608K, 0% used [0x00000000ff600000,0x00000000ff600000,0x00000000ffa80000)
          from space 2560K, 62% used [0x00000000ffd00000,0x00000000ffe8d960,0x00000000fff80000)
          to space 2560K, 0% used [0x00000000ffa80000,0x00000000ffa80000,0x00000000ffd00000)
         ParOldGen total 19968K, used 18711K [0x00000000fe200000, 0x00000000ff580000, 0x00000000ff600000)
          object space 19968K, 93% used [0x00000000fe200000,0x00000000ff445ed0,0x00000000ff580000)
         Metaspace used 15803K, capacity 16004K, committed 16384K, reserved 1062912K
          class space used 1866K, capacity 1924K, committed 2048K, reserved 1048576K
        }
        Event: 9.556 GC heap before
        {Heap before GC invocations=133 (full 6):
         PSYoungGen total 7168K, used 6198K [0x00000000ff600000, 0x00000000fff80000, 0x0000000100000000)
          eden space 4608K, 100% used [0x00000000ff600000,0x00000000ffa80000,0x00000000ffa80000)
          from space 2560K, 62% used [0x00000000ffd00000,0x00000000ffe8d960,0x00000000fff80000)
          to space 2560K, 0% used [0x00000000ffa80000,0x00000000ffa80000,0x00000000ffd00000)
         ParOldGen total 19968K, used 18711K [0x00000000fe200000, 0x00000000ff580000, 0x00000000ff600000)
          object space 19968K, 93% used [0x00000000fe200000,0x00000000ff445ed0,0x00000000ff580000)
         Metaspace used 16458K, capacity 16740K, committed 17024K, reserved 1064960K
          class space used 1978K, capacity 2084K, committed 2176K, reserved 1048576K
        Event: 9.560 GC heap after
        Heap after GC invocations=133 (full 6):
         PSYoungGen total 7168K, used 1631K [0x00000000ff600000, 0x0000000100000000, 0x0000000100000000)
          eden space 4608K, 0% used [0x00000000ff600000,0x00000000ff600000,0x00000000ffa80000)
          from space 2560K, 63% used [0x00000000ffa80000,0x00000000ffc17e30,0x00000000ffd00000)
          to space 2560K, 0% used [0x00000000ffd80000,0x00000000ffd80000,0x0000000100000000)
         ParOldGen total 19968K, used 18719K [0x00000000fe200000, 0x00000000ff580000, 0x00000000ff600000)
          object space 19968K, 93% used [0x00000000fe200000,0x00000000ff447ed0,0x00000000ff580000)
         Metaspace used 16458K, capacity 16740K, committed 17024K, reserved 1064960K
          class space used 1978K, capacity 2084K, committed 2176K, reserved 1048576K
        }
        Event: 9.642 GC heap before
        {Heap before GC invocations=134 (full 6):
         PSYoungGen total 7168K, used 6239K [0x00000000ff600000, 0x0000000100000000, 0x0000000100000000)
          eden space 4608K, 100% used [0x00000000ff600000,0x00000000ffa80000,0x00000000ffa80000)
          from space 2560K, 63% used [0x00000000ffa80000,0x00000000ffc17e30,0x00000000ffd00000)
          to space 2560K, 0% used [0x00000000ffd80000,0x00000000ffd80000,0x0000000100000000)
         ParOldGen total 19968K, used 18719K [0x00000000fe200000, 0x00000000ff580000, 0x00000000ff600000)
          object space 19968K, 93% used [0x00000000fe200000,0x00000000ff447ed0,0x00000000ff580000)
         Metaspace used 17203K, capacity 17476K, committed 17664K, reserved 1064960K
          class space used 2104K, capacity 2180K, committed 2304K, reserved 1048576K
        Event: 9.646 GC heap after
        Heap after GC invocations=134 (full 6):
         PSYoungGen total 7680K, used 1738K [0x00000000ff600000, 0x0000000100000000, 0x0000000100000000)
          eden space 5120K, 0% used [0x00000000ff600000,0x00000000ff600000,0x00000000ffb00000)
          from space 2560K, 67% used [0x00000000ffd80000,0x00000000fff328d0,0x0000000100000000)
          to space 2560K, 0% used [0x00000000ffb00000,0x00000000ffb00000,0x00000000ffd80000)
         ParOldGen total 19968K, used 18727K [0x00000000fe200000, 0x00000000ff580000, 0x00000000ff600000)
          object space 19968K, 93% used [0x00000000fe200000,0x00000000ff449ed0,0x00000000ff580000)
         Metaspace used 17203K, capacity 17476K, committed 17664K, reserved 1064960K
          class space used 2104K, capacity 2180K, committed 2304K, reserved 1048576K
        }

        Deoptimization events (10 events):
        Event: 2.520 Thread 0x00000002b0a1a800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000000029f326654 method=java.io.FilterInputStream.read([BII)I @ 7
        Event: 8.262 Thread 0x000000029ee40800 Uncommon trap: reason=unreached action=reinterpret pc=0x000000029f49a2b8 method=java.util.concurrent.ConcurrentHashMap.get(Ljava/lang/Object;)Ljava/lang/Object; @ 138
        Event: 8.274 Thread 0x000000029ee40800 Uncommon trap: reason=unreached action=reinterpret pc=0x000000029f524614 method=sun.net.www.protocol.jar.JarURLConnection.connect()V @ 50
        Event: 8.430 Thread 0x000000029ee40800 Uncommon trap: reason=unloaded action=reinterpret pc=0x000000029f555d9c method=java.util.jar.JarFile.getInputStream(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream; @ 46
        Event: 8.981 Thread 0x000000029ee40800 Uncommon trap: reason=unreached action=reinterpret pc=0x000000029f38a548 method=java.util.Date.normalize()Lsun/util/calendar/BaseCalendar$Date; @ 4
        Event: 9.119 Thread 0x000000029ee40800 Uncommon trap: reason=null_check action=make_not_entrant pc=0x000000029f6a9644 method=com.sun.org.apache.xerces.internal.utils.XMLLimitAnalyzer.isTracking(Ljava/lang/String;)Z @ 14
        Event: 9.268 Thread 0x000000029ee40800 Uncommon trap: reason=unreached action=reinterpret pc=0x000000029f5762c4 method=java.io.WinNTFileSystem.canonicalize(Ljava/lang/String;)Ljava/lang/String; @ 217
        Event: 9.541 Thread 0x000000029ee40800 Uncommon trap: reason=unreached action=reinterpret pc=0x000000029f378c70 method=sun.util.calendar.ZoneInfo.getOffsets(J[II)I @ 4
        Event: 9.725 Thread 0x000000029ee40800 Uncommon trap: reason=range_check action=make_not_entrant pc=0x000000029f499298 method=java.lang.String.charAt(I)C @ 27
        Event: 9.896 Thread 0x000000029ee40800 Uncommon trap: reason=range_check action=make_not_entrant pc=0x000000029f765e60 method=sun.reflect.generics.parser.SignatureParser.current()C @ 34

        Internal exceptions (10 events):
        Event: 9.662 Thread 0x000000029ee40800 Exception <a 'java/security/PrivilegedActionException'> (0x00000000ff67e3c0) thrown at [D:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8\872\hotspot\src\share\vm\prims\jvm.cpp, line 1248]
        Event: 9.678 Thread 0x000000029ee40800 Exception <a 'java/security/PrivilegedActionException'> (0x00000000ff696c58) thrown at [D:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8\872\hotspot\src\share\vm\prims\jvm.cpp, line 1248]
        Event: 9.678 Thread 0x000000029ee40800 Exception <a 'java/lang/IllegalArgumentException': object is not an instance of declaring class> (0x00000000ff697658) thrown at [D:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8\872\hotspot\src\share\vm\runtime\reflection.cpp, line 913]
        Event: 9.678 Thread 0x000000029ee40800 Exception <a 'java/lang/IllegalArgumentException': object is not an instance of declaring class> (0x00000000ff697cc8) thrown at [D:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8\872\hotspot\src\share\vm\runtime\reflection.cpp, line 913]
        Event: 9.852 Thread 0x000000029ee40800 Exception <a 'java/lang/ArrayIndexOutOfBoundsException'> (0x00000000ff737610) thrown at [D:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8\872\hotspot\src\share\vm\runtime\sharedRuntime.cpp, line 595]
        Event: 9.853 Thread 0x000000029ee40800 Exception <a 'java/lang/ArrayIndexOutOfBoundsException'> (0x00000000ff73dc58) thrown at [D:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8\872\hotspot\src\share\vm\runtime\sharedRuntime.cpp, line 595]
        Event: 9.875 Thread 0x000000029ee40800 Exception <a 'java/lang/ArrayIndexOutOfBoundsException'> (0x00000000ff855a48) thrown at [D:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8\872\hotspot\src\share\vm\runtime\sharedRuntime.cpp, line 595]
        Event: 9.882 Thread 0x000000029ee40800 Exception <a 'java/lang/ArrayIndexOutOfBoundsException'> (0x00000000ff8a3dd0) thrown at [D:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8\872\hotspot\src\share\vm\runtime\sharedRuntime.cpp, line 595]
        Event: 9.888 Thread 0x000000029ee40800 Exception <a 'java/lang/ArrayIndexOutOfBoundsException'> (0x00000000ff8ce8c0) thrown at [D:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8\872\hotspot\src\share\vm\runtime\sharedRuntime.cpp, line 595]
        Event: 9.896 Thread 0x000000029ee40800 Exception <a 'java/lang/ArrayIndexOutOfBoundsException': 106> (0x00000000ff929f88) thrown at [D:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8\872\hotspot\src\share\vm\interpreter\interpreterRuntime.cpp, line 337]

        Events (10 events):
        Event: 9.966 loading class sun/management/DiagnosticCommandImpl
        Event: 9.966 loading class com/sun/management/DiagnosticCommandMBean
        Event: 9.966 loading class com/sun/management/DiagnosticCommandMBean done
        Event: 9.966 loading class sun/management/DiagnosticCommandImpl done
        Event: 9.966 loading class java/lang/management/ManagementFactory$3
        Event: 9.966 loading class java/lang/management/ManagementFactory$3 done
        Event: 9.966 loading class java/util/TreeSet
        Event: 9.967 loading class java/util/TreeSet done
        Event: 9.967 loading class sun/management/DiagnosticCommandImpl$OperationInfoComparator
        Event: 9.967 loading class sun/management/DiagnosticCommandImpl$OperationInfoComparator done


        Dynamic libraries:
        0x00007ff6f5aa0000 - 0x00007ff6f5ab8000 C:\Users\rogerv\workspace\jvm-loader\x64\Debug\jvm-loader.exe
        0x00007ffcee420000 - 0x00007ffcee5c9000 C:\Windows\SYSTEM32
        tdll.dll
        0x00007ffcedb20000 - 0x00007ffcedc59000 C:\Windows\system32\KERNEL32.DLL
        0x00007ffceba50000 - 0x00007ffcebb5e000 C:\Windows\system32\KERNELBASE.dll
        0x00007ffcdf900000 - 0x00007ffcdfa14000 C:\Windows\SYSTEM32\MSVCP110D.dll
        0x00007ffcd6970000 - 0x00007ffcd6b52000 C:\Windows\SYSTEM32\MSVCR110D.dll
        0x0000000067180000 - 0x00000000679aa000 C:\Program Files\Java\jdk1.8.0\jre\bin\server\jvm.dll
        0x00007ffced9a0000 - 0x00007ffcedb11000 C:\Windows\system32\USER32.dll
        0x00007ffcebcb0000 - 0x00007ffcebd55000 C:\Windows\system32\ADVAPI32.dll
        0x00007ffce46c0000 - 0x00007ffce46c9000 C:\Windows\SYSTEM32\WSOCK32.dll
        0x00007ffce3380000 - 0x00007ffce339f000 C:\Windows\SYSTEM32\WINMM.dll
        0x00007ffcec110000 - 0x00007ffcec117000 C:\Windows\system32\PSAPI.DLL
        0x0000000068030000 - 0x0000000068102000 C:\Windows\SYSTEM32\MSVCR100.dll
        0x00007ffcedd00000 - 0x00007ffcede45000 C:\Windows\system32\GDI32.dll
        0x00007ffced820000 - 0x00007ffced8c7000 C:\Windows\system32\msvcrt.dll
        0x00007ffcec0b0000 - 0x00007ffcec107000 C:\Windows\SYSTEM32\sechost.dll
        0x00007ffcebd60000 - 0x00007ffcebe96000 C:\Windows\system32\RPCRT4.dll
        0x00007ffcee2f0000 - 0x00007ffcee348000 C:\Windows\system32\WS2_32.dll
        0x00007ffce3350000 - 0x00007ffce337a000 C:\Windows\SYSTEM32\WINMMBASE.dll
        0x00007ffced8d0000 - 0x00007ffced8d9000 C:\Windows\system32\NSI.dll
        0x00007ffcebbb0000 - 0x00007ffcebbfa000 C:\Windows\SYSTEM32\cfgmgr32.dll
        0x00007ffcea630000 - 0x00007ffcea656000 C:\Windows\SYSTEM32\DEVOBJ.dll
        0x00007ffcec3d0000 - 0x00007ffcec404000 C:\Windows\system32\IMM32.DLL
        0x00007ffcede50000 - 0x00007ffcedf88000 C:\Windows\system32\MSCTF.dll
        0x0000000067cb0000 - 0x0000000067cbf000 C:\Program Files\Java\jdk1.8.0\jre\bin\verify.dll
        0x0000000067150000 - 0x0000000067178000 C:\Program Files\Java\jdk1.8.0\jre\bin\java.dll
        0x0000000067130000 - 0x0000000067146000 C:\Program Files\Java\jdk1.8.0\jre\bin\zip.dll
        0x00007ffcec410000 - 0x00007ffced81f000 C:\Windows\system32\SHELL32.dll
        0x00007ffcee110000 - 0x00007ffcee2e7000 C:\Windows\SYSTEM32\combase.dll
        0x00007ffcee3b0000 - 0x00007ffcee401000 C:\Windows\system32\SHLWAPI.dll
        0x00007ffce92e0000 - 0x00007ffce9381000 C:\Windows\SYSTEM32\SHCORE.dll
        0x00007ffceb760000 - 0x00007ffceb774000 C:\Windows\SYSTEM32\profapi.dll
        0x00007ffceb130000 - 0x00007ffceb14e000 C:\Windows\SYSTEM32\CRYPTSP.dll
        0x00007ffceac70000 - 0x00007ffceaca5000 C:\Windows\system32\rsaenh.dll
        0x00007ffceb3d0000 - 0x00007ffceb3f6000 C:\Windows\SYSTEM32\bcrypt.dll
        0x00007ffcead80000 - 0x00007ffcead9f000 C:\Windows\SYSTEM32\USERENV.dll
        0x00007ffceb660000 - 0x00007ffceb6be000 C:\Windows\system32\bcryptprimitives.dll
        0x00007ffceb7a0000 - 0x00007ffceb7aa000 C:\Windows\SYSTEM32\CRYPTBASE.dll
        0x00000000667b0000 - 0x00000000667c9000 C:\Program Files\Java\jdk1.8.0\jre\bin
        et.dll
        0x00007ffceb0b0000 - 0x00007ffceb108000 C:\Windows\system32\mswsock.dll
        0x00007ffcdf250000 - 0x00007ffcdf264000 C:\Windows\system32
        apinsp.dll
        0x00007ffcdf270000 - 0x00007ffcdf289000 C:\Windows\system32\pnrpnsp.dll
        0x00007ffce95d0000 - 0x00007ffce95e9000 C:\Windows\system32\NLAapi.dll
        0x00007ffceaee0000 - 0x00007ffceaf83000 C:\Windows\SYSTEM32\DNSAPI.dll
        0x00007ffce7c60000 - 0x00007ffce7c6c000 C:\Windows\System32\winrnr.dll
        0x00007ffcdf290000 - 0x00007ffcdf2a3000 C:\Windows\system32\wshbth.dll
        0x00007ffce4140000 - 0x00007ffce4149000 C:\Windows\System32\rasadhlp.dll
        0x00007ffce6ea0000 - 0x00007ffce6ec9000 C:\Windows\SYSTEM32\IPHLPAPI.DLL
        0x00007ffce6e80000 - 0x00007ffce6e8a000 C:\Windows\SYSTEM32\WINNSI.DLL
        0x00007ffce6920000 - 0x00007ffce6987000 C:\Windows\System32\fwpuclnt.dll
        0x0000000066790000 - 0x00000000667a1000 C:\Program Files\Java\jdk1.8.0\jre\bin
        io.dll
        0x0000000067120000 - 0x000000006712d000 C:\Program Files\Java\jdk1.8.0\jre\bin\management.dll
        0x00007ffce6780000 - 0x00007ffce6794000 C:\Windows\SYSTEM32\dhcpcsvc6.DLL
        0x00007ffce67a0000 - 0x00007ffce67b9000 C:\Windows\SYSTEM32\dhcpcsvc.DLL
        0x00007ffcd8080000 - 0x00007ffcd8208000 C:\Windows\SYSTEM32\dbghelp.dll

        VM Arguments:
        jvm_args: -server -Xms20m -Xmx30m -Dorg.eclipse.jetty.annotations.AnnotationConfiguration.LEVEL=DEBUG
        java_command: <unknown>
        java_class_path (initial): .\start.jar
        Launcher Type: generic

        Environment Variables:
        JAVA_HOME=C:\Program Files\Java\jdk1.8.0
        CLASSPATH=.;C:\Program Files (x86)\ANTLR\antlr-3.1.1\lib\antlr-3.1.1-runtime.jar;C:\Program Files (x86)\ANTLR\antlr-3.1.1\lib\antlr-3.1.1.jar;C:\Program Files (x86)\ANTLR\antlr-3.1.1\lib\stringtemplate-3.2.jar;C:\Program Files\Java\jre8\lib\ext\QTJava.zip;C:\Program Files (x86)\Java\jre7\lib\ext\QTJava.zip;C:\AspectJ1.5.4\lib\aspectjrt.jar;
        PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ActiveState Komodo Edit 7;C:\bin;C:\bsdtar\bin;C:\Program Files\Perforce;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Roxio Shared\10.0\DLLShared;C:\Program Files (x86)\Common Files\Roxio Shared\DLLShared;C:\Program Files (x86)\Common Files\Ulead Systems\MPEG;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\QuickTime\QTSystem;C:\Perl64\site\bin;C:\Perl64\bin;C:\Python27;C:\Python27\Scripts;C:\Program Files (x86)\Windows Resource Kits\Tools;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\AspectJ1.5.4\bin;C:\Program Files\Java\jdk1.8.0\bin;C:\Program Files\Apache Software Foundation\apache-maven-2.2.1\bin;C:\Program Files\eclipse431\plugins\org.apache.ant_1.8.4.v201303080030\bin;C:\Software\MingW64\TDM-GCC-64\bin
        USERNAME=rogerv
        OS=Windows_NT
        PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 23 Stepping 10, GenuineIntel



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

        OS: Windows 8 , 64 bit Build 9200

        CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 23 stepping 10, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, tsc

        Memory: 4k page, physical 8354852k(3547180k free), swap 12155940k(5947948k free)

        vm_info: Java HotSpot(TM) 64-Bit Server VM (25.0-b60) for windows-amd64 JRE (1.8.0-ea-b118), built on Nov 28 2013 06:00:08 by "java_re" with MS VC++ 10.0 (VS2010)

        time: Sat Jan 18 19:26:22 2014
        elapsed time: 9 seconds


        REPRODUCIBILITY :
        This bug can be reproduced always.

        ---------- BEGIN SOURCE ----------
        // jvm-loader.cpp : Defines the entry point for the console application.
        //
        // compiled using Visual Studio 2012 C++ compiler
        //

        #include "targetver.h"
        #include <Windows.h>
        #include <stdio.h>
        #include <malloc.h>
        #include <memory>
        #include <mutex>
        #include <condition_variable>
        #include <jni.h>

        const char *progname = "jvm-loader";
        const char *progdirpath = "";

        static const wchar_t jvm_filepath[] = L"C:\\Program Files\\Java\\jdk1.8.0\\jre\\bin\\server\\jvm.dll";
        //static const wchar_t jvm_filepath[] = L"C:\\Program Files\\Java\\jre7\\bin\\server\\jvm.dll";
        static const char JNI_CreateJavaVM_ProcName[] = "JNI_CreateJavaVM";
        static const char* jvm_optns[] = {
          "-server",
          "-Xms20m",
          "-Xmx30m",
          "-Dorg.eclipse.jetty.annotations.AnnotationConfiguration.LEVEL=DEBUG",
          "-Djava.class.path=.\\start.jar"
        };
        static const unsigned jvm_optns_size = sizeof(jvm_optns) / sizeof(jvm_optns[0]);

        static const wchar_t jetty_dirpath[] = L"C:\\Program Files\\Jetty\\jetty-distribution-9.1.0.v20131115";

        static std::mutex m;
        static std::condition_variable &cv = *(new std::condition_variable());
        static volatile bool is_program_done = false;

        /* Wait for signal to exit program */
        static void wait_for_exit_signal() {
          std::unique_lock<std::mutex> lk(m);
          while(!is_program_done) {
            std::chrono::seconds duration(5);
            cv.wait_for(lk, duration, []{return is_program_done;});
          }
        }

        static BOOL WINAPI Ctrl_C_Handler(DWORD fdwCtrlType) {
          switch (fdwCtrlType) {
          case CTRL_C_EVENT:
            fprintf(stdout, "
        %s: Exiting on Control-C event: %d
        ", progname, fdwCtrlType);
            fflush(stderr);
            fflush(stdout);
            is_program_done = true;
            cv.notify_one();
            return TRUE;
          case CTRL_BREAK_EVENT:
          case CTRL_CLOSE_EVENT:
          case CTRL_LOGOFF_EVENT:
          case CTRL_SHUTDOWN_EVENT:
            break;
          }
          return FALSE;
        }

        void force_Jvm_Stop(JavaVM *jvmp);

        int main(int argc, char* argv[])
        {
          {
            const char *prgdir = nullptr;
            auto const set_prog_name = [&prgdir](const char *str) {
              auto const dstr = _strdup(str);
              auto found = strrchr(dstr,'\\');
              if (found == nullptr)
                  found = strrchr(dstr, '/');
              if (found == nullptr) {
                  found = dstr;
                  prgdir = ".";
              }
              else {
                  *found = '\0';
                  found++;
                  prgdir = dstr;
              }
              char * extnt = strrchr(found,'.');
              if (extnt != nullptr && _stricmp(extnt,".exe") == 0)
                  *extnt = 0;
              return found;
            };
            progname = set_prog_name(argv[0]);
            if (progname != nullptr) {
              progdirpath = prgdir;
            }
          }

          ::SetUnhandledExceptionFilter([](PEXCEPTION_POINTERS pExceptionPtrs) -> long {
            const auto n_except = pExceptionPtrs->ExceptionRecord->ExceptionCode;
            fprintf_s(stderr, "
        %s: ERROR: Uncaught Windows structured exception thrown: 0x%08lX
        ", progname, n_except);
            return EXCEPTION_EXECUTE_HANDLER;
          });

          ::SetConsoleCtrlHandler(Ctrl_C_Handler, TRUE);

          if ((_wchdir(jetty_dirpath)) != 0) {
            fprintf_s(stderr, "%s: ERROR: Unsuccessful setting as current working directory:
        \t\"%S\"
        ", progname, jetty_dirpath);
            wait_for_exit_signal();
            return 1;
          }

          auto const jvm_dll = ::LoadLibrary(jvm_filepath);

          // Check the GetLastError() here after the LoadLibrary()
          if (jvm_dll == nullptr) {
            fprintf_s(stderr, "%s: ERROR: Can't load dll (0x%08lX):
        \t\"%s\"
        ", progname, ::GetLastError(), jvm_filepath);
            wait_for_exit_signal();
            return 1;
          }

          typedef jint (JNICALL *JNI_CreateJavaVM_Proc_t)(JavaVM **pvm, void **penv, void *args);
          auto const JNI_CreateJavaVM_proc = (JNI_CreateJavaVM_Proc_t) ::GetProcAddress(jvm_dll, JNI_CreateJavaVM_ProcName);

          // Check the GetLastError() here
          if(JNI_CreateJavaVM_proc == nullptr) {
            fprintf_s(stderr, "%s: ERROR: can't load %s() function (0x%08lX)
        ", progname, JNI_CreateJavaVM_ProcName, ::GetLastError());
            wait_for_exit_signal();
            return 1;
          }

          const auto currThrdID = ::GetCurrentThreadId();
          JNIEnv *penv = nullptr;

          std::function<void (JavaVM*)> cleanup_jvm = [currThrdID,&penv](JavaVM *jvmp) {
            void (*do_last_action)() = [] {};
            if (currThrdID == ::GetCurrentThreadId()) {
              if (penv != nullptr && penv->ExceptionOccurred()) {
                penv->ExceptionDescribe();
                fprintf_s(stderr, "%s: ERROR: Failed to run Java program due to Java VM exception
        ", progname);
                do_last_action = [] {
                  wait_for_exit_signal();
                  exit(1);
                };
              }
            }
            force_Jvm_Stop(jvmp);
            do_last_action();
          };
          std::unique_ptr<JavaVM, decltype(cleanup_jvm)> jvmSP(nullptr, cleanup_jvm);

          JavaVMInitArgs vm_args = {0};
          vm_args.version = JNI_VERSION_1_6; //JDK version. This indicates version 1.6
          vm_args.nOptions = jvm_optns_size;
          vm_args.options = (JavaVMOption*) _alloca(sizeof(JavaVMOption) * jvm_optns_size);
          vm_args.ignoreUnrecognized = JNI_TRUE;
          for(int i = 0; i < jvm_optns_size; i++) {
            auto &optn = vm_args.options[i];
            optn.optionString = const_cast<char*>(jvm_optns[i]);
            optn.extraInfo = nullptr;
          }

          {
            JavaVM *pjvm = nullptr;
            const auto ret = JNI_CreateJavaVM_proc(&pjvm, (void**)&penv, &vm_args);
            if (ret < 0) {
              fprintf_s(stderr, "
        %s: ERROR: Unable to Launch JVM (%d)
        ", progname, ret);
              wait_for_exit_signal();
              return 1;
            }
            jvmSP.reset(pjvm); // set the JavaVM pointer into its smart pointer wrapper
          }

          SetConsoleCtrlHandler(Ctrl_C_Handler, TRUE);

          auto const invoke_Jvm_helper = [](JNIEnv *penv) -> int {
            auto const raise_exception = [](PCSTR pFuncName, int lineNbr, PCSTR errmsg) {
              char buf[256] = {0};
              const auto buf_size = sizeof(buf) / sizeof(buf[0]);
              sprintf_s(buf, buf_size, "%s: line %d: ERROR: Failed w/err: %s", pFuncName, lineNbr, errmsg);
              throw std::exception(buf);
            };

            auto const exh = [&penv](int n_except, struct _EXCEPTION_POINTERS* ex) -> int {
              fprintf_s(stderr, "%s: ERROR: Windows structured exception thrown when invoking Java JVM operations: 0x%08lX
        ", progname, n_except);
              if (penv->ExceptionOccurred()) {
                penv->ExceptionDescribe();
              }
              return EXCEPTION_EXECUTE_HANDLER;
            };

            __try {
              // find the Jetty Main class for starting up
              auto const cls = penv->FindClass("org/eclipse/jetty/start/Main");
              if (cls == nullptr) raise_exception(progname, __LINE__, "Could not find Jetty's class Main");

              // get the main() method
              auto const mid = penv->GetStaticMethodID(cls, "main", "([Ljava/lang/String;)V");
              if (mid == nullptr) raise_exception(progname, __LINE__, "Could not get method main()");

              auto const stringClass = penv->FindClass("java/lang/String");
              auto const args = penv->NewObjectArray(1, stringClass, nullptr);
              if (args == nullptr) raise_exception(progname, __LINE__, "Could not allocate argv String array");

        #if 1
              auto const jstr1 = penv->NewStringUTF("--start-log-file=C:\\Users\\rogerv\\workspace\\jvm-loader\\jetty.log");
              if (jstr1 == nullptr) raise_exception(progname, __LINE__, "Could not allocate String argument");
              penv->SetObjectArrayElement(args, 0, jstr1);
        #endif

              // invoke the main() method to get the Jetty server going
              penv->CallStaticVoidMethod(cls, mid, args);
            }
            __except(exh(GetExceptionCode(), GetExceptionInformation())) {
              return 1;
            }

            return 0;
          };

          int rtn = 0;
          try {
            rtn = invoke_Jvm_helper(penv);
          }
          catch(std::exception& ex) {
            fputs(ex.what(), stderr);
            rtn = 1;
          }

          /* Wait for signal to exit program */
          wait_for_exit_signal();

          return rtn;
        }

        static void force_Jvm_Stop(JavaVM *jvmp) {
          if (jvmp != nullptr) {
            JNIEnv *penv = nullptr;
            auto const cleanup_jvm = [&penv](JavaVM *p) {
              if (p != nullptr) {
                if (penv != nullptr) {
                  try {
                    p->DetachCurrentThread();
                  }
                  catch(...) {}
                }
                p->DestroyJavaVM();
              }
            };
            const std::unique_ptr<JavaVM, decltype(cleanup_jvm)> jvmSP(jvmp, cleanup_jvm);
            jvmSP->AttachCurrentThread((void**)&penv, nullptr);
            if (penv != nullptr) {
              auto const cls = penv->FindClass("java/lang/System");
              if (cls == nullptr) throw E_POINTER;
              auto mid = penv->GetStaticMethodID(cls, "exit", "(I)V");
              if (mid == nullptr) throw E_POINTER;
              penv->CallStaticVoidMethod(cls, mid, 0);
            }
          }
        }

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

        CUSTOMER SUBMITTED WORKAROUND :
        Revert from using Java 8 JVM back to using Java 7 JVM. This is acceptable as the Jetty annotation processing of .class files is not yet compatible to Java 8. Am reporting this issue out of concern for insuring stability of Java 8.

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  mgronlun Markus Grönlund
                  Reporter:
                  webbuggrp Webbug Group
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  9 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: