Harmony
  1. Harmony
  2. HARMONY-1675

Classlib test org/apache/harmony/luni/tests/java/lang/ThreadGroupTest craches VM

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      Classlib test org/apache/harmony/luni/tests/java/lang/ThreadGroupTest craches on
      2xXeon x64 (Woodcrest B, 2cores) / Bensley SDV, RAM: 4096MB, HDD: 120GB
      OS Windows 2003 32-bit SP1

      with the folloing assertion:
      ...vm\thread\src\thread_native_suspend.c

      Line: 352

      Expression: status == TM_ERROR_NONE

      To reproduce the issue please run
      ant -Dtest.jre.home=%DRLVM_HOME% -Dbuild.module=luni -Dtest.case=org.apache.harmony.luni.tests.java.lang.ThreadGroupTest test

      NOTE: sometimes test passes. Could not reproduce on Windows XP.

      I'll also attach a small standalone test to reproduce the issue.
      This standalone test sometimes fails on linux in the following way:

      java: /nfs/ins/proj/drl/coreapi/esemukhi/svn/drlvm/trunk/vm/thread/src/thread_native_suspend.c:352: hythread_set_safepoint_callback: Assertion `status == (0)' failed.
      SIGABRT in VM code.
      Stack trace:
      1: ?? (??:-1)
      2: raise (??:-1)
      3: ?? (??:-1)
      4: ?? (??:-1)
      5: abort (??:-1)
      <end of stack trace>
      Aborted

        Issue Links

          Activity

          Hide
          Elena Semukhina added a comment -

          test attached

          Show
          Elena Semukhina added a comment - test attached
          Hide
          Alexey Varlamov added a comment -

          [junit] java: /export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/thread/src/thread_native_suspend.c:357: hythread_set_safepoint_callback: Assertion `status == (0)' failed.
          [junit] SIGABRT in VM code.
          [junit] Stack trace:
          [junit] 1: ?? (??:-1)
          [junit] 2: abort (??:-1)
          [junit] 3: __assert_fail (??:-1)
          [junit] 4: hythread_set_safepoint_callback (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/thread/src/thread_native_suspend.c:360)
          [junit] 5: jthread_exception_stop (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/thread/src/thread_java_basic.c:462)
          [junit] 6: Java_java_lang_VMThreadManager_stop (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/kernel_classes/native/java_lang_VMThreadManager.cpp:178)
          [junit] 7: IP is 0x549F7483 <native code>
          [junit] 8: java/lang/Thread.stop(Ljava/lang/Throwable;)V (??:-1)
          [junit] 9: java/lang/Thread.stop()V (??:-1)
          [junit] 10: org/apache/harmony/luni/tests/java/lang/ThreadGroupTest.test_uncaughtExceptionLjava_lang_ThreadLjava_lang_Throwable()V (ThreadGroupTest.java:971)
          [junit] 11: vm_invoke_native_array_stub (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
          [junit] 12: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:199)
          [junit] 13: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/em/src/DrlEMImpl.cpp:489)
          [junit] 14: ExecuteMethod (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/em/src/em_intf.cpp:43)
          [junit] 15: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/jit/ini.cpp:58)
          [junit] 16: call_method_no_ref_result (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/jni/jni_method.cpp:165)
          [junit] 17: CallVoidMethodA(JNIEnv_External*, _jobject*, _jmethodID*, jvalue*) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/jni/jni_method.cpp:200)
          [junit] 18: invoke_primitive_method (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/kernel_classes/native/java_lang_reflect_VMReflection.cpp:185)

          Show
          Alexey Varlamov added a comment - [junit] java: /export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/thread/src/thread_native_suspend.c:357: hythread_set_safepoint_callback: Assertion `status == (0)' failed. [junit] SIGABRT in VM code. [junit] Stack trace: [junit] 1: ?? (??:-1) [junit] 2: abort (??:-1) [junit] 3: __assert_fail (??:-1) [junit] 4: hythread_set_safepoint_callback (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/thread/src/thread_native_suspend.c:360) [junit] 5: jthread_exception_stop (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/thread/src/thread_java_basic.c:462) [junit] 6: Java_java_lang_VMThreadManager_stop (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/kernel_classes/native/java_lang_VMThreadManager.cpp:178) [junit] 7: IP is 0x549F7483 <native code> [junit] 8: java/lang/Thread.stop(Ljava/lang/Throwable;)V (??:-1) [junit] 9: java/lang/Thread.stop()V (??:-1) [junit] 10: org/apache/harmony/luni/tests/java/lang/ThreadGroupTest.test_uncaughtExceptionLjava_lang_ThreadLjava_lang_Throwable()V (ThreadGroupTest.java:971) [junit] 11: vm_invoke_native_array_stub (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41) [junit] 12: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:199) [junit] 13: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/em/src/DrlEMImpl.cpp:489) [junit] 14: ExecuteMethod (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/em/src/em_intf.cpp:43) [junit] 15: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/jit/ini.cpp:58) [junit] 16: call_method_no_ref_result (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/jni/jni_method.cpp:165) [junit] 17: CallVoidMethodA(JNIEnv_External*, _jobject*, _jmethodID*, jvalue*) (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/jni/jni_method.cpp:200) [junit] 18: invoke_primitive_method (/export/users2/avarlamo/linux.ia32/svn-repo/drlvm/vm/vmcore/src/kernel_classes/native/java_lang_reflect_VMReflection.cpp:185)
          Hide
          Alexey Varlamov added a comment -

          Above is the recent backtrace I got on Linux SLES 9 32-bit SP2; CPU 2xXeon x64

          Show
          Alexey Varlamov added a comment - Above is the recent backtrace I got on Linux SLES 9 32-bit SP2; CPU 2xXeon x64
          Hide
          Nikolay Kuznetsov added a comment -

          Let's close this issue as duplicate of more recent one also caused by incorrect Thread.stop method functionality. This one is actually the small aspect of Thread.stop implementation.

          Show
          Nikolay Kuznetsov added a comment - Let's close this issue as duplicate of more recent one also caused by incorrect Thread.stop method functionality. This one is actually the small aspect of Thread.stop implementation.
          Hide
          Geir Magnusson Jr added a comment -

          dupe of HARMONY-1648

          Show
          Geir Magnusson Jr added a comment - dupe of HARMONY-1648

            People

            • Assignee:
              Unassigned
              Reporter:
              Elena Semukhina
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development