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

vm crash in java/rmi/server/UnicastRemoteObject/exportObject/GcDuringExport.java

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2
    • Resolution: Duplicate
    • Affects Version/s: 9
    • Fix Version/s: 9
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
      svc
    • CPU:
      generic
    • OS:
      generic
    • Verification:
      Verified

      Description

      This has been observed once in jdk 9 dev nightly (113_2016-04-02-1601_4785). I failed to reproduce the vm crash with the same build on the same machine.

      Please see the test output:
      ----------messages:(3/123)----------
      command: main GcDuringExport
      reason: User specified action: run main/othervm GcDuringExport
      elapsed time (seconds): 2.002
      ----------System.out:(20/1061)----------
      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # SIGSEGV (0xb) at pc=0xb7271cf7, pid=21208, tid=21221
      #
      # JRE version: Java(TM) SE Runtime Environment (9.0+113) (build 9-ea+113-langtools-nightly-h4785-20160402)
      # Java VM: Java HotSpot(TM) Client VM (9-ea+113-langtools-nightly-h4785-20160402, mixed mode, serial gc, linux-x86)
      # Problematic frame:
      # V [libjvm.so+0x3e2cf7] JfrTypeIDs::is_event_sub_klass_filtered(_jclass*)+0x27
      #
      # Core dump will be written. Default location: Core dumps may be processed with "/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e" (or dumping to /Users/aurora/sandbox/gresults/testoutput/jdk_rmi/JTwork/scratch/core.21208)
      #
      # An error report file with more information is saved as:
      # /Users/aurora/sandbox/gresults/testoutput/jdk_rmi/JTwork/scratch/hs_err_pid21208.log
      #
      # If you would like to submit a bug report, please visit:
      # http://bugreport.java.com/bugreport/crash.jsp
      # The crash happened outside the Java Virtual Machine in native code.
      # See problematic frame for where to report the bug.
      #
      ----------System.err:(2/56)----------
      Phoning home...
      Using server: 10.161.186.18, port 4711


      I attached the hs_err log. It looks related with StringConcatFactory. I doubt if it is due to JDK-8085796 (JEP 280: Indify String Concatenation)


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

      Current thread (0x93c2b800): JavaThread "MainThread" [_thread_in_native, id=21221, stack(0x93baf000,0x93c00000)]

      Stack: [0x93baf000,0x93c00000], sp=0x93bfda20, free space=314k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x3e2cf7] JfrTypeIDs::is_event_sub_klass_filtered(_jclass*)+0x27
      V [libjvm.so+0x3b2700] jfr_on_class_load+0x20
      V [libjvm.so+0x461dc1] JvmtiExport::post_class_load(JavaThread*, Klass*)+0x141
      V [libjvm.so+0x63959f] SystemDictionary::parse_stream(Symbol*, Handle, Handle, ClassFileStream*, Klass const*, GrowableArray<Handle>*, Thread*)+0x29f
      V [libjvm.so+0x67ac76] Unsafe_DefineAnonymousClass0+0x4d6
      j jdk.internal.misc.Unsafe.defineAnonymousClass0(Ljava/lang/Class;[B[Ljava/lang/Object;)Ljava/lang/Class;+0 java.base@9-ea
      j jdk.internal.misc.Unsafe.defineAnonymousClass(Ljava/lang/Class;[B[Ljava/lang/Object;)Ljava/lang/Class;+20 java.base@9-ea
      j java.lang.invoke.StringConcatFactory$BytecodeStringBuilderStrategy.generate(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/StringConcatFactory$Recipe;Ljava/lang/invoke/StringConcatFactory$Mode;)Ljava/lang/invoke/MethodHandle;+1140 java.base@9-ea
      j java.lang.invoke.StringConcatFactory$BytecodeStringBuilderStrategy.access$000(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/StringConcatFactory$Recipe;Ljava/lang/invoke/StringConcatFactory$Mode;)Ljava/lang/invoke/MethodHandle;+6 java.base@9-ea
      j java.lang.invoke.StringConcatFactory.generate(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/StringConcatFactory$Recipe;)Ljava/lang/invoke/MethodHandle;+55 java.base@9-ea
      j java.lang.invoke.StringConcatFactory.doStringConcat(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;ZLjava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;+501 java.base@9-ea
      j java.lang.invoke.StringConcatFactory.makeConcatWithConstants(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;+71 java.base@9-ea
      j java.lang.invoke.LambdaForm$DMH.invokeStatic_L5_L(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+18 java.base@9-ea
      j java.lang.invoke.LambdaForm$BMH.reinvoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+48 java.base@9-ea
      j java.lang.invoke.LambdaForm$MH.invoke_MT(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+26 java.base@9-ea
      j java.lang.invoke.CallSite.makeSite(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/invoke/CallSite;+134 java.base@9-ea
      j java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;+6 java.base@9-ea
      j java.lang.invoke.MethodHandleNatives.linkCallSite(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;+45 java.base@9-ea
      v ~StubRoutines::call_stub
      V [libjvm.so+0x38f343] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x333
      V [libjvm.so+0x5702f9] os::os_exception_wrapper(void (*)(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*), JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x19
      V [libjvm.so+0x38e9d2] JavaCalls::call_static(JavaValue*, KlassHandle, Symbol*, Symbol*, JavaCallArguments*, Thread*)+0xd2
      V [libjvm.so+0x635260] SystemDictionary::find_dynamic_call_site_invoker(KlassHandle, Handle, Symbol*, Symbol*, Handle*, Handle*, Thread*)+0x520
      V [libjvm.so+0x49790c] LinkResolver::resolve_dynamic_call(CallInfo&, Handle, Symbol*, Symbol*, KlassHandle, Thread*)+0x4c
      V [libjvm.so+0x497f19] LinkResolver::resolve_invokedynamic(CallInfo&, constantPoolHandle const&, int, Thread*)+0x409
      V [libjvm.so+0x4983c7] LinkResolver::resolve_invoke(CallInfo&, Handle, constantPoolHandle const&, int, Bytecodes::Code, Thread*)+0x397
      V [libjvm.so+0x3836be] InterpreterRuntime::resolve_invokedynamic(JavaThread*)+0x20e
      V [libjvm.so+0x383a31] InterpreterRuntime::resolve_from_cache(JavaThread*, Bytecodes::Code)+0x131
      j sun.rmi.runtime.NewThreadAction.run()Ljava/lang/Thread;+31 java.rmi@9-ea
      j sun.rmi.runtime.NewThreadAction.run()Ljava/lang/Object;+1 java.rmi@9-ea
      v ~StubRoutines::call_stub
      V [libjvm.so+0x38f343] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x333
      V [libjvm.so+0x5702f9] os::os_exception_wrapper(void (*)(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*), JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x19
      V [libjvm.so+0x38ee9e] JavaCalls::call(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x2e
      V [libjvm.so+0x43179f] JVM_DoPrivileged+0x4cf
      C [libjava.so+0x9757] Java_java_security_AccessController_doPrivileged__Ljava_security_PrivilegedAction_2+0x27
      j java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;)Ljava/lang/Object;+0 java.base@9-ea
      j sun.rmi.transport.tcp.TCPTransport.listen()V+99 java.rmi@9-ea
      j sun.rmi.transport.tcp.TCPTransport.exportObject(Lsun/rmi/transport/Target;)V+5 java.rmi@9-ea
      j sun.rmi.transport.tcp.TCPEndpoint.exportObject(Lsun/rmi/transport/Target;)V+5 java.rmi@9-ea
      j sun.rmi.transport.LiveRef.exportObject(Lsun/rmi/transport/Target;)V+5 java.rmi@9-ea
      j sun.rmi.server.UnicastServerRef.exportObject(Ljava/rmi/Remote;Ljava/lang/Object;Z)Ljava/rmi/Remote;+78 java.rmi@9-ea
      j java.rmi.server.UnicastRemoteObject.exportObject(Ljava/rmi/Remote;Lsun/rmi/server/UnicastServerRef;)Ljava/rmi/Remote;+19 java.rmi@9-ea
      j java.rmi.server.UnicastRemoteObject.exportObject(Ljava/rmi/Remote;I)Ljava/rmi/Remote;+9 java.rmi@9-ea
      j GcDuringExport.main([Ljava/lang/String;)V+39
      v ~StubRoutines::call_stub
      V [libjvm.so+0x38f343] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x333
      V [libjvm.so+0x5702f9] os::os_exception_wrapper(void (*)(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*), JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x19
      V [libjvm.so+0x38ee9e] JavaCalls::call(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x2e
      V [libjvm.so+0x5c4ba3] invoke(instanceKlassHandle, methodHandle, Handle, bool, objArrayHandle, BasicType, objArrayHandle, bool, Thread*)+0x3f3
      V [libjvm.so+0x5c6e36] Reflection::invoke_method(oopDesc*, Handle, objArrayHandle, Thread*)+0x186
      V [libjvm.so+0x42d9c5] JVM_InvokeMethod+0x165
      C [libjava.so+0xbde5] Java_sun_reflect_NativeMethodAccessorImpl_invoke0+0x25
      j sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0 java.base@9-ea
      j sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+100 java.base@9-ea
      j sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6 java.base@9-ea
      j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+42 java.base@9-ea
      j com.sun.javatest.regtest.agent.MainWrapper$MainThread.run()V+162
      j java.lang.Thread.run()V+11 java.base@9-ea
      v ~StubRoutines::call_stub
      V [libjvm.so+0x38f343] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x333
      V [libjvm.so+0x5702f9] os::os_exception_wrapper(void (*)(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*), JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x19
      V [libjvm.so+0x38e023] JavaCalls::call_virtual(JavaValue*, Handle, KlassHandle, Symbol*, Symbol*, Thread*)+0x133
      V [libjvm.so+0x426139] thread_entry(JavaThread*, Thread*)+0x89
      V [libjvm.so+0x66bc64] JavaThread::thread_main_inner()+0xf4
      V [libjvm.so+0x66bdb9] JavaThread::run()+0x119
      V [libjvm.so+0x5725b4] java_start(Thread*)+0xf4
      C [libpthread.so.0+0x6a70]
      C [libc.so.6+0xe52be] clone+0x5e

      Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
      j jdk.internal.misc.Unsafe.defineAnonymousClass0(Ljava/lang/Class;[B[Ljava/lang/Object;)Ljava/lang/Class;+0 java.base@9-ea
      j jdk.internal.misc.Unsafe.defineAnonymousClass(Ljava/lang/Class;[B[Ljava/lang/Object;)Ljava/lang/Class;+20 java.base@9-ea
      j java.lang.invoke.StringConcatFactory$BytecodeStringBuilderStrategy.generate(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/StringConcatFactory$Recipe;Ljava/lang/invoke/StringConcatFactory$Mode;)Ljava/lang/invoke/MethodHandle;+1140 java.base@9-ea
      j java.lang.invoke.StringConcatFactory$BytecodeStringBuilderStrategy.access$000(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/StringConcatFactory$Recipe;Ljava/lang/invoke/StringConcatFactory$Mode;)Ljava/lang/invoke/MethodHandle;+6 java.base@9-ea
      j java.lang.invoke.StringConcatFactory.generate(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/StringConcatFactory$Recipe;)Ljava/lang/invoke/MethodHandle;+55 java.base@9-ea
      j java.lang.invoke.StringConcatFactory.doStringConcat(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;ZLjava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;+501 java.base@9-ea
      j java.lang.invoke.StringConcatFactory.makeConcatWithConstants(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;+71 java.base@9-ea
      j java.lang.invoke.LambdaForm$DMH.invokeStatic_L5_L(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+18 java.base@9-ea
      j java.lang.invoke.LambdaForm$BMH.reinvoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+48 java.base@9-ea
      j java.lang.invoke.LambdaForm$MH.invoke_MT(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+26 java.base@9-ea
      j java.lang.invoke.CallSite.makeSite(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/invoke/CallSite;+134 java.base@9-ea
      j java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;+6 java.base@9-ea
      j java.lang.invoke.MethodHandleNatives.linkCallSite(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;+45 java.base@9-ea
      v ~StubRoutines::call_stub
      j sun.rmi.runtime.NewThreadAction.run()Ljava/lang/Thread;+31 java.rmi@9-ea
      j sun.rmi.runtime.NewThreadAction.run()Ljava/lang/Object;+1 java.rmi@9-ea
      v ~StubRoutines::call_stub
      j java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;)Ljava/lang/Object;+0 java.base@9-ea
      j sun.rmi.transport.tcp.TCPTransport.listen()V+99 java.rmi@9-ea
      j sun.rmi.transport.tcp.TCPTransport.exportObject(Lsun/rmi/transport/Target;)V+5 java.rmi@9-ea
      j sun.rmi.transport.tcp.TCPEndpoint.exportObject(Lsun/rmi/transport/Target;)V+5 java.rmi@9-ea
      j sun.rmi.transport.LiveRef.exportObject(Lsun/rmi/transport/Target;)V+5 java.rmi@9-ea
      j sun.rmi.server.UnicastServerRef.exportObject(Ljava/rmi/Remote;Ljava/lang/Object;Z)Ljava/rmi/Remote;+78 java.rmi@9-ea
      j java.rmi.server.UnicastRemoteObject.exportObject(Ljava/rmi/Remote;Lsun/rmi/server/UnicastServerRef;)Ljava/rmi/Remote;+19 java.rmi@9-ea
      j java.rmi.server.UnicastRemoteObject.exportObject(Ljava/rmi/Remote;I)Ljava/rmi/Remote;+9 java.rmi@9-ea
      j GcDuringExport.main([Ljava/lang/String;)V+39
      v ~StubRoutines::call_stub
      j sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0 java.base@9-ea
      j sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+100 java.base@9-ea
      j sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6 java.base@9-ea
      j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+42 java.base@9-ea
      j com.sun.javatest.regtest.agent.MainWrapper$MainThread.run()V+162
      j java.lang.Thread.run()V+11 java.base@9-ea
      v ~StubRoutines::call_stub

        Attachments

          Activity

            People

            • Assignee:
              mgronlun Markus Grönlund
              Reporter:
              xiaofeya Xiaofeng Yang
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: