Uploaded image for project: 'Harmony'
  1. Harmony
  2. HARMONY-5242

[drlvm][classloader] Error during concurrent deserialization of hashtable

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • None
    • 5.0M4
    • DRLVM
    • None

    Description

      The attached test causes an error with the following stack:

      Internal error:/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/include/hashtable.h:269: Element was inserted second time in MapEx!SIGABRT in VM code.
      Stack trace:
      addr2line: '[vdso]': No such file
      0: ?? (:-1)
      1: abort (??:-1)
      2: ClassLoader::InsertInitiatedClass(Class*) (apr_strtok.c:-1)
      3: Java_java_lang_ClassLoader_registerInitiatedClass (??:-1)
      4: 0xA611CD6B <Generated stub>
      5: java/lang/Class.forName(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class; (Class.java:156)
      6: java/io/ObjectInputStream.resolveClass(Ljava/io/ObjectStreamClass;)Ljava/lang/Class; (ObjectInputStream.java:2400)
      7: java/io/ObjectInputStream.readNewClassDesc(Z)Ljava/io/ObjectStreamClass; (ObjectInputStream.java:1708)
      8: java/io/ObjectInputStream.readClassDesc()Ljava/io/ObjectStreamClass; (ObjectInputStream.java:712)
      9: java/io/ObjectInputStream.readNewObject(Z)Ljava/lang/Object; (ObjectInputStream.java:1860)
      10: java/io/ObjectInputStream.readNonPrimitiveContent(Z)Ljava/lang/Object; (ObjectInputStream.java:816)
      11: java/io/ObjectInputStream.readObject(Z)Ljava/lang/Object; (ObjectInputStream.java:2130)
      12: java/io/ObjectInputStream.readObject()Ljava/lang/Object; (ObjectInputStream.java:2085)
      13: Test$1.run()V (Test.java:68)
      14: java/lang/Thread.runImpl()V (Thread.java:668)
      15: ?? (??:-1)
      16: .L294 (ini_iA32.cpp:-1)
      17: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (inet_pton.c:-1)
      18: ExecuteMethod (em_intf.cpp:-1)
      19: vm_execute_java_method_array (apr_strtok.c:-1)
      20: call_method_no_ref_result(JNIEnv_External*, _jobject*, _jmethodID*, jvalue*, jvalue*, int) (jni_method.cpp:-1)
      21: CallVoidMethodA(JNIEnv_External*, _jobject*, _jmethodID*, jvalue*) (apr_strtok.c:-1)
      22: jthread_wrapper_start_proc(void*) (apr_strtok.c:-1)
      23: start_thread (??:-1)
      24: clone (??:-1)
      <end of stack trace>

      This issue is reproducible on Windows and Linux and seems to be a regression.

      Attachments

        1. H5242.patch
          2 kB
          Pavel Pervov
        2. Test.java
          3 kB
          Andrey Pavlenko

        Issue Links

          Activity

            People

              gshimansky Gregory Shimansky
              apavlenko Andrey Pavlenko
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: