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
          Geir Magnusson Jr added a comment -

          dupe of HARMONY-1648

          Show
          Geir Magnusson Jr added a comment - dupe of HARMONY-1648
          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
          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
          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
          Elena Semukhina added a comment -

          test attached

          Show
          Elena Semukhina added a comment - test attached

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development