harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ivan Popov (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-3314) [drlvm][shutdown][thread] DRLVM hangs on exit while detaching thread
Date Fri, 18 May 2007 17:52:16 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-3314?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12496980
] 

Ivan Popov commented on HARMONY-3314:
-------------------------------------

I was able to reproduce JPDA test hang on a Windows machine (Pentium-4 3.6GHz, Hyperthreading,
2GB RAM, Windows2003 Server). It was reproduced for both debug and release Harmony builds.
Attaching NSVC debugger to debug build did not show much because of broken stack trace. For
release build I saw more info. There are 2 GC inactive threds and 1 active VM thread with
the following stack trace:

 	ntdll.dll!7c82ed54() 	
 	ntdll.dll!7c822194() 	
 	kernel32.dll!77e4ad7b() 	
 	hythr.dll!apr_winapi_SwitchToThread()  Line 219 + 0x28	C
>	hythr.dll!apr_thread_yield()  Line 195	C
 	hythr.dll!hythread_thin_monitor_try_enter(int * lockword_ptr=0x13f325c4)  Line 276	C
 	harmonyvm.dll!jthread_monitor_enter(_jobject * monitor=0x0013f868)  Line 131 + 0xb	C
 	harmonyvm.dll!set_unwindable(bool unwindable=false)  Line 144 + 0x7	C++
 	harmonyvm.dll!m2n_free_local_handles()  Line 268	C++
 	ntdll.dll!7c822124() 	
 	kernel32.dll!77e6baa8() 	
 	kernel32.dll!77e58f0d() 	
 	harmonyvm.dll!vm_invoke_native_array_stub(unsigned int * args=0x0013f9c4, int sz=0x00000002,
void * f=0x02bae200)  Line 77	C++
 	harmonyvm.dll!JIT_execute_method_default(void * jit=0x00000000, _jmethodID * methodID=0x01fc3208,
jvalue * return_value=0x00000000, jvalue * args=0x0013fa58)  Line 200	C++
 	em.dll!DrlEMImpl::executeMethod(_jmethodID * meth=0x01fc3208, jvalue * return_value=0x00000000,
jvalue * args=0x0013fa58)  Line 509 + 0x14	C++
 	em.dll!ExecuteMethod(_jmethodID * meth=0x01fc3208, jvalue * return_value=0x00000000, jvalue
* args=0x0013fa58)  Line 44	C++
 	harmonyvm.dll!vm_execute_java_method_array(_jmethodID * method=0x01fc3208, jvalue * result=0x00000000,
jvalue * args=0x0013fa58)  Line 60 + 0x19	C++
 	harmonyvm.dll!run_java_detach(_jobject * java_thread=0x00070023)  Line 185 + 0x13	C++
 	harmonyvm.dll!vm_detach(_jobject * java_thread=0x02253478)  Line 280	C++
 	harmonyvm.dll!jthread_detach(_jobject * java_thread=0x02253478)  Line 293 + 0x6	C
 	harmonyvm.dll!vm_destroy(JavaVM_Internal * java_vm=0x010b20a0, _jobject * java_thread=0x02253478)
 Line 211 + 0x6	C++
 	harmonyvm.dll!DestroyJavaVM(JavaVM_External * vm=0x010b20a0)  Line 1476	C++
 	java.exe!_getDefineArgument()  + 0x9cd	C
 	java.exe!_gpProtectedMain()  + 0x6b3	C
 	java.exe!_main()  + 0x92	C
 	java.exe!mainCRTStartup()  Line 398 + 0xe	C
 	kernel32.dll!77e523cd() 	

Invoking 'st_print()' in MSVC debugger prints the following Java stack trace:

STDERR> The stack trace of the 011112E8 java thread:
STDERR>   [011112E8] 02BAEAED(m): java/lang/ThreadGroup.remove(Ljava/lang/Thread;)V
STDERR>   [011112E8] 02BAE776(m): java/lang/Thread.detach(Ljava/lang/Throwable;)V

It looks like initial problem with java threads, not JPDA issue.



> [drlvm][shutdown][thread] DRLVM hangs on exit while detaching thread
> --------------------------------------------------------------------
>
>                 Key: HARMONY-3314
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3314
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM, JDK
>         Environment: Linux/ia32, Windows/ia32, Harmony-jdk-r514598, Harmony-jdk-r533073
>            Reporter: Ivan Popov
>         Assigned To: weldon washburn
>
> Many JDWP tests run long time on Linux because DRLVM intermittently crashed at exit.
> For example, the following test
>   org.apache.harmony.jpda.tests.jdwp.Events.VMDeathTest
> Here is typical diagnostics in the test output:
> Waiting for debuggee exit
> STDERR> SIGSEGV in VM code.
> STDERR> Stack trace:
> STDERR> 	1: ?? (??:-1)
> STDERR> addr2line: '[heap]': No such file
> Ignoring exception in ProcessWaiter thread interrupted: java.lang.InterruptedException
> # ERROR: Enforced debuggee termination
> To reproduce this failure:
> 1. create Harmony JDK with federated build:
>     svn checkout https://svn.apache.org/repos/asf/harmony/enhanced/trunk
>     cd trunk
>     ant
> 2. goto jdktools directory, add junit to classpath, and run particular test:
>     cd working_jdktools
>     export CLASSPATH=<...>/trunk/common_resources/depends/jars/junit_3.8.2/junit.jar
>     ant test -Dbuild.module=jpda -Dtest.case=org.apache.harmony.jpda.tests.jdwp.Events.VMDeathTest
> 3. see results in <...>/trunk/working_jdktools/build/test_report/html/index.html
> It is possible also to run test directly from command line:
>    cd working_jdktools
>    deploy/jdk/bin/java -classpath ../common_resources/depends/jars/junit_3.8.2/junit.jar:build/tests/classes
\
>    org.apache.harmony.jpda.tests.jdwp.Events.VMDeathTest

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message