You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Alexey Varlamov (JIRA)" <ji...@apache.org> on 2008/06/11 08:12:45 UTC

[jira] Created: (HARMONY-5870) [drlvm] hythread_suspend_all hangs sometimes

[drlvm] hythread_suspend_all hangs sometimes
--------------------------------------------

                 Key: HARMONY-5870
                 URL: https://issues.apache.org/jira/browse/HARMONY-5870
             Project: Harmony
          Issue Type: Bug
          Components: DRLVM
    Affects Versions: 5.0M7
         Environment: WinXP PentiumM (T42p laptop)
            Reporter: Alexey Varlamov
         Attachments: ConcurrentExceptionTest.java

I've tried ConcurrentExceptionTest from http://www.javaspecialists.eu/archive/Issue162.html and it hangs (and keeps CPU 100% busy) each ~3rd run on my  laptop. I could not reproduce it on server machines though.

Backtrace of the busy thread is always this:

 	ntdll.dll!7c90eb94() 	
 	ntdll.dll!7c90ea53() 	
 	kernel32.dll!7c832998() 	
 	hythr.dll!_apr_winapi_SwitchToThread()  + 0x28	C
 	hythr.dll!_apr_thread_yield@0()  + 0x11	C
>	hythr.dll!hythread_suspend_all(HyThread * * iter_ptr=0x2316fb50, HyThreadGroup * group=0x00000000)  Line 397 + 0x21	C
 	harmonyvm.dll!stop_the_world_root_set_enumeration()  Line 91 + 0x11	C++
 	gc_gen_uncomp.dll!gc_prepare_rootset(GC * gc=0x0048a6b0)  Line 117	C++
 	gc_gen_uncomp.dll!gc_reclaim_heap(GC * gc=0x00000001, unsigned int gc_cause=1)  Line 198	C++
 	gc_gen_uncomp.dll!sspace_alloc(unsigned int size=24, Allocator * allocator=0x22dc5b20)  Line 61	C++
 	gc_gen_uncomp.dll!gc_alloc(unsigned int size=584696256, unsigned int ah=5368400, void * unused_gc_tls=0x22d9c294)  Line 105 + 0x6	C++
 	harmonyvm.dll!vm_malloc_with_thread_pointer(unsigned int size=588709188, unsigned int ah=588709456, void * tp=0x12a6726c)  Line 1755 + 0x15	C++
 	harmonyvm.dll!compile_protect_arguments(Method * method=0x00000000, GcFrame * gc=0x22d9c1c0)  Line 124	C++
 	harmonyvm.dll!m2n_free_local_handles()  Line 263	C++
 	ntdll.dll!7c910833() 	
 	ntdll.dll!7c910833() 	
 	kernel32.dll!7c812c5b() 	
 	kernel32.dll!7c812c87() 	
 	ntdll.dll!7c9105c8() 	
 	harmonyvm.dll!JIT_execute_method_default(void * jit=0x00000000, _jmethodID * methodID=0x00000056, jvalue * return_value=0x2316ff38, jvalue * args=0x2316ff04)  Line 295 + 0x8	C++
 	em.dll!DrlEMImpl::executeMethod(_jmethodID * meth=0x22b2d698, jvalue * return_value=0x2316ff38, jvalue * args=0x2316ff04)  Line 522 + 0x14	C++
 	em.dll!ExecuteMethod(_jmethodID * meth=0x22b2d698, jvalue * return_value=0x2316ff38, jvalue * args=0x2316ff04)  Line 40	C++
 	harmonyvm.dll!vm_execute_java_method_array(_jmethodID * method=0x22b2d698, jvalue * result=0x2316ff38, jvalue * args=0x2316ff04)  Line 56 + 0x19	C++
 	harmonyvm.dll!call_method_no_ref_result(JNIEnv_External * jni_env=0x22dc69b8, _jobject * obj=0x7c901005, _jmethodID * methodID=0x7c90eb94, jvalue * args=0x00000000, jvalue * result=0x2316ff38, int non_virtual=588708620)  Line 189 + 0xe	C++
 	harmonyvm.dll!CallVoidMethodA(JNIEnv_External * jni_env=0x22dc69b8, _jobject * obj=0x22dc5280, _jmethodID * methodID=0x22b2d698, jvalue * args=0x00000000)  Line 230 + 0x20	C++
 	harmonyvm.dll!jthread_wrapper_start_proc(void * arg=0x22dc69b8)  Line 166	C++
 	msvcr71.dll!01f59565() 	
 	kernel32.dll!7c80b683() 	


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


[jira] Updated: (HARMONY-5870) [drlvm][thread] hythread_suspend_all hangs sometimes

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5870?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexey Varlamov updated HARMONY-5870:
-------------------------------------

    Description: 
I've tried ConcurrentExceptionTest from http://www.javaspecialists.eu/archive/Issue162.html and it hangs (and keeps CPU 100% busy) each ~3rd run on my  laptop. I could not reproduce it on server machines though.

Backtrace of the busy thread is always like this:

 	ntdll.dll!7c90eb94() 	
 	ntdll.dll!7c90ea53() 	
 	kernel32.dll!7c832998() 	
 	hythr.dll!_apr_winapi_SwitchToThread()  + 0x28	C
 	hythr.dll!_apr_thread_yield@0()  + 0x11	C
>	hythr.dll!hythread_suspend_all(HyThread * * iter_ptr=0x2316fb50, HyThreadGroup * group=0x00000000)  Line 397 + 0x21	C
 	harmonyvm.dll!stop_the_world_root_set_enumeration()  Line 91 + 0x11	C++
 	gc_gen_uncomp.dll!gc_prepare_rootset(GC * gc=0x0048a6b0)  Line 117	C++
 	gc_gen_uncomp.dll!gc_reclaim_heap(GC * gc=0x00000001, unsigned int gc_cause=1)  Line 198	C++
 	gc_gen_uncomp.dll!sspace_alloc(unsigned int size=24, Allocator * allocator=0x22dc5b20)  Line 61	C++
 	gc_gen_uncomp.dll!gc_alloc(unsigned int size=584696256, unsigned int ah=5368400, void * unused_gc_tls=0x22d9c294)  Line 105 + 0x6	C++
 	harmonyvm.dll!vm_malloc_with_thread_pointer(unsigned int size=588709188, unsigned int ah=588709456, void * tp=0x12a6726c)  Line 1755 + 0x15	C++
 	harmonyvm.dll!compile_protect_arguments(Method * method=0x00000000, GcFrame * gc=0x22d9c1c0)  Line 124	C++
 	harmonyvm.dll!m2n_free_local_handles()  Line 263	C++
 	ntdll.dll!7c910833() 	
 	ntdll.dll!7c910833() 	
 	kernel32.dll!7c812c5b() 	
 	kernel32.dll!7c812c87() 	
 	ntdll.dll!7c9105c8() 	
 	harmonyvm.dll!JIT_execute_method_default(void * jit=0x00000000, _jmethodID * methodID=0x00000056, jvalue * return_value=0x2316ff38, jvalue * args=0x2316ff04)  Line 295 + 0x8	C++
 	em.dll!DrlEMImpl::executeMethod(_jmethodID * meth=0x22b2d698, jvalue * return_value=0x2316ff38, jvalue * args=0x2316ff04)  Line 522 + 0x14	C++
 	em.dll!ExecuteMethod(_jmethodID * meth=0x22b2d698, jvalue * return_value=0x2316ff38, jvalue * args=0x2316ff04)  Line 40	C++
 	harmonyvm.dll!vm_execute_java_method_array(_jmethodID * method=0x22b2d698, jvalue * result=0x2316ff38, jvalue * args=0x2316ff04)  Line 56 + 0x19	C++
 	harmonyvm.dll!call_method_no_ref_result(JNIEnv_External * jni_env=0x22dc69b8, _jobject * obj=0x7c901005, _jmethodID * methodID=0x7c90eb94, jvalue * args=0x00000000, jvalue * result=0x2316ff38, int non_virtual=588708620)  Line 189 + 0xe	C++
 	harmonyvm.dll!CallVoidMethodA(JNIEnv_External * jni_env=0x22dc69b8, _jobject * obj=0x22dc5280, _jmethodID * methodID=0x22b2d698, jvalue * args=0x00000000)  Line 230 + 0x20	C++
 	harmonyvm.dll!jthread_wrapper_start_proc(void * arg=0x22dc69b8)  Line 166	C++
 	msvcr71.dll!01f59565() 	
 	kernel32.dll!7c80b683() 	


  was:
I've tried ConcurrentExceptionTest from http://www.javaspecialists.eu/archive/Issue162.html and it hangs (and keeps CPU 100% busy) each ~3rd run on my  laptop. I could not reproduce it on server machines though.

Backtrace of the busy thread is always this:

 	ntdll.dll!7c90eb94() 	
 	ntdll.dll!7c90ea53() 	
 	kernel32.dll!7c832998() 	
 	hythr.dll!_apr_winapi_SwitchToThread()  + 0x28	C
 	hythr.dll!_apr_thread_yield@0()  + 0x11	C
>	hythr.dll!hythread_suspend_all(HyThread * * iter_ptr=0x2316fb50, HyThreadGroup * group=0x00000000)  Line 397 + 0x21	C
 	harmonyvm.dll!stop_the_world_root_set_enumeration()  Line 91 + 0x11	C++
 	gc_gen_uncomp.dll!gc_prepare_rootset(GC * gc=0x0048a6b0)  Line 117	C++
 	gc_gen_uncomp.dll!gc_reclaim_heap(GC * gc=0x00000001, unsigned int gc_cause=1)  Line 198	C++
 	gc_gen_uncomp.dll!sspace_alloc(unsigned int size=24, Allocator * allocator=0x22dc5b20)  Line 61	C++
 	gc_gen_uncomp.dll!gc_alloc(unsigned int size=584696256, unsigned int ah=5368400, void * unused_gc_tls=0x22d9c294)  Line 105 + 0x6	C++
 	harmonyvm.dll!vm_malloc_with_thread_pointer(unsigned int size=588709188, unsigned int ah=588709456, void * tp=0x12a6726c)  Line 1755 + 0x15	C++
 	harmonyvm.dll!compile_protect_arguments(Method * method=0x00000000, GcFrame * gc=0x22d9c1c0)  Line 124	C++
 	harmonyvm.dll!m2n_free_local_handles()  Line 263	C++
 	ntdll.dll!7c910833() 	
 	ntdll.dll!7c910833() 	
 	kernel32.dll!7c812c5b() 	
 	kernel32.dll!7c812c87() 	
 	ntdll.dll!7c9105c8() 	
 	harmonyvm.dll!JIT_execute_method_default(void * jit=0x00000000, _jmethodID * methodID=0x00000056, jvalue * return_value=0x2316ff38, jvalue * args=0x2316ff04)  Line 295 + 0x8	C++
 	em.dll!DrlEMImpl::executeMethod(_jmethodID * meth=0x22b2d698, jvalue * return_value=0x2316ff38, jvalue * args=0x2316ff04)  Line 522 + 0x14	C++
 	em.dll!ExecuteMethod(_jmethodID * meth=0x22b2d698, jvalue * return_value=0x2316ff38, jvalue * args=0x2316ff04)  Line 40	C++
 	harmonyvm.dll!vm_execute_java_method_array(_jmethodID * method=0x22b2d698, jvalue * result=0x2316ff38, jvalue * args=0x2316ff04)  Line 56 + 0x19	C++
 	harmonyvm.dll!call_method_no_ref_result(JNIEnv_External * jni_env=0x22dc69b8, _jobject * obj=0x7c901005, _jmethodID * methodID=0x7c90eb94, jvalue * args=0x00000000, jvalue * result=0x2316ff38, int non_virtual=588708620)  Line 189 + 0xe	C++
 	harmonyvm.dll!CallVoidMethodA(JNIEnv_External * jni_env=0x22dc69b8, _jobject * obj=0x22dc5280, _jmethodID * methodID=0x22b2d698, jvalue * args=0x00000000)  Line 230 + 0x20	C++
 	harmonyvm.dll!jthread_wrapper_start_proc(void * arg=0x22dc69b8)  Line 166	C++
 	msvcr71.dll!01f59565() 	
 	kernel32.dll!7c80b683() 	


        Summary: [drlvm][thread] hythread_suspend_all hangs sometimes  (was: [drlvm] hythread_suspend_all hangs sometimes)

> [drlvm][thread] hythread_suspend_all hangs sometimes
> ----------------------------------------------------
>
>                 Key: HARMONY-5870
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5870
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M7
>         Environment: WinXP PentiumM (T42p laptop)
>            Reporter: Alexey Varlamov
>         Attachments: ConcurrentExceptionTest.java
>
>
> I've tried ConcurrentExceptionTest from http://www.javaspecialists.eu/archive/Issue162.html and it hangs (and keeps CPU 100% busy) each ~3rd run on my  laptop. I could not reproduce it on server machines though.
> Backtrace of the busy thread is always like this:
>  	ntdll.dll!7c90eb94() 	
>  	ntdll.dll!7c90ea53() 	
>  	kernel32.dll!7c832998() 	
>  	hythr.dll!_apr_winapi_SwitchToThread()  + 0x28	C
>  	hythr.dll!_apr_thread_yield@0()  + 0x11	C
> >	hythr.dll!hythread_suspend_all(HyThread * * iter_ptr=0x2316fb50, HyThreadGroup * group=0x00000000)  Line 397 + 0x21	C
>  	harmonyvm.dll!stop_the_world_root_set_enumeration()  Line 91 + 0x11	C++
>  	gc_gen_uncomp.dll!gc_prepare_rootset(GC * gc=0x0048a6b0)  Line 117	C++
>  	gc_gen_uncomp.dll!gc_reclaim_heap(GC * gc=0x00000001, unsigned int gc_cause=1)  Line 198	C++
>  	gc_gen_uncomp.dll!sspace_alloc(unsigned int size=24, Allocator * allocator=0x22dc5b20)  Line 61	C++
>  	gc_gen_uncomp.dll!gc_alloc(unsigned int size=584696256, unsigned int ah=5368400, void * unused_gc_tls=0x22d9c294)  Line 105 + 0x6	C++
>  	harmonyvm.dll!vm_malloc_with_thread_pointer(unsigned int size=588709188, unsigned int ah=588709456, void * tp=0x12a6726c)  Line 1755 + 0x15	C++
>  	harmonyvm.dll!compile_protect_arguments(Method * method=0x00000000, GcFrame * gc=0x22d9c1c0)  Line 124	C++
>  	harmonyvm.dll!m2n_free_local_handles()  Line 263	C++
>  	ntdll.dll!7c910833() 	
>  	ntdll.dll!7c910833() 	
>  	kernel32.dll!7c812c5b() 	
>  	kernel32.dll!7c812c87() 	
>  	ntdll.dll!7c9105c8() 	
>  	harmonyvm.dll!JIT_execute_method_default(void * jit=0x00000000, _jmethodID * methodID=0x00000056, jvalue * return_value=0x2316ff38, jvalue * args=0x2316ff04)  Line 295 + 0x8	C++
>  	em.dll!DrlEMImpl::executeMethod(_jmethodID * meth=0x22b2d698, jvalue * return_value=0x2316ff38, jvalue * args=0x2316ff04)  Line 522 + 0x14	C++
>  	em.dll!ExecuteMethod(_jmethodID * meth=0x22b2d698, jvalue * return_value=0x2316ff38, jvalue * args=0x2316ff04)  Line 40	C++
>  	harmonyvm.dll!vm_execute_java_method_array(_jmethodID * method=0x22b2d698, jvalue * result=0x2316ff38, jvalue * args=0x2316ff04)  Line 56 + 0x19	C++
>  	harmonyvm.dll!call_method_no_ref_result(JNIEnv_External * jni_env=0x22dc69b8, _jobject * obj=0x7c901005, _jmethodID * methodID=0x7c90eb94, jvalue * args=0x00000000, jvalue * result=0x2316ff38, int non_virtual=588708620)  Line 189 + 0xe	C++
>  	harmonyvm.dll!CallVoidMethodA(JNIEnv_External * jni_env=0x22dc69b8, _jobject * obj=0x22dc5280, _jmethodID * methodID=0x22b2d698, jvalue * args=0x00000000)  Line 230 + 0x20	C++
>  	harmonyvm.dll!jthread_wrapper_start_proc(void * arg=0x22dc69b8)  Line 166	C++
>  	msvcr71.dll!01f59565() 	
>  	kernel32.dll!7c80b683() 	

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


[jira] Updated: (HARMONY-5870) [drlvm] hythread_suspend_all hangs sometimes

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5870?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexey Varlamov updated HARMONY-5870:
-------------------------------------

    Attachment: ConcurrentExceptionTest.java

> [drlvm] hythread_suspend_all hangs sometimes
> --------------------------------------------
>
>                 Key: HARMONY-5870
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5870
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M7
>         Environment: WinXP PentiumM (T42p laptop)
>            Reporter: Alexey Varlamov
>         Attachments: ConcurrentExceptionTest.java
>
>
> I've tried ConcurrentExceptionTest from http://www.javaspecialists.eu/archive/Issue162.html and it hangs (and keeps CPU 100% busy) each ~3rd run on my  laptop. I could not reproduce it on server machines though.
> Backtrace of the busy thread is always this:
>  	ntdll.dll!7c90eb94() 	
>  	ntdll.dll!7c90ea53() 	
>  	kernel32.dll!7c832998() 	
>  	hythr.dll!_apr_winapi_SwitchToThread()  + 0x28	C
>  	hythr.dll!_apr_thread_yield@0()  + 0x11	C
> >	hythr.dll!hythread_suspend_all(HyThread * * iter_ptr=0x2316fb50, HyThreadGroup * group=0x00000000)  Line 397 + 0x21	C
>  	harmonyvm.dll!stop_the_world_root_set_enumeration()  Line 91 + 0x11	C++
>  	gc_gen_uncomp.dll!gc_prepare_rootset(GC * gc=0x0048a6b0)  Line 117	C++
>  	gc_gen_uncomp.dll!gc_reclaim_heap(GC * gc=0x00000001, unsigned int gc_cause=1)  Line 198	C++
>  	gc_gen_uncomp.dll!sspace_alloc(unsigned int size=24, Allocator * allocator=0x22dc5b20)  Line 61	C++
>  	gc_gen_uncomp.dll!gc_alloc(unsigned int size=584696256, unsigned int ah=5368400, void * unused_gc_tls=0x22d9c294)  Line 105 + 0x6	C++
>  	harmonyvm.dll!vm_malloc_with_thread_pointer(unsigned int size=588709188, unsigned int ah=588709456, void * tp=0x12a6726c)  Line 1755 + 0x15	C++
>  	harmonyvm.dll!compile_protect_arguments(Method * method=0x00000000, GcFrame * gc=0x22d9c1c0)  Line 124	C++
>  	harmonyvm.dll!m2n_free_local_handles()  Line 263	C++
>  	ntdll.dll!7c910833() 	
>  	ntdll.dll!7c910833() 	
>  	kernel32.dll!7c812c5b() 	
>  	kernel32.dll!7c812c87() 	
>  	ntdll.dll!7c9105c8() 	
>  	harmonyvm.dll!JIT_execute_method_default(void * jit=0x00000000, _jmethodID * methodID=0x00000056, jvalue * return_value=0x2316ff38, jvalue * args=0x2316ff04)  Line 295 + 0x8	C++
>  	em.dll!DrlEMImpl::executeMethod(_jmethodID * meth=0x22b2d698, jvalue * return_value=0x2316ff38, jvalue * args=0x2316ff04)  Line 522 + 0x14	C++
>  	em.dll!ExecuteMethod(_jmethodID * meth=0x22b2d698, jvalue * return_value=0x2316ff38, jvalue * args=0x2316ff04)  Line 40	C++
>  	harmonyvm.dll!vm_execute_java_method_array(_jmethodID * method=0x22b2d698, jvalue * result=0x2316ff38, jvalue * args=0x2316ff04)  Line 56 + 0x19	C++
>  	harmonyvm.dll!call_method_no_ref_result(JNIEnv_External * jni_env=0x22dc69b8, _jobject * obj=0x7c901005, _jmethodID * methodID=0x7c90eb94, jvalue * args=0x00000000, jvalue * result=0x2316ff38, int non_virtual=588708620)  Line 189 + 0xe	C++
>  	harmonyvm.dll!CallVoidMethodA(JNIEnv_External * jni_env=0x22dc69b8, _jobject * obj=0x22dc5280, _jmethodID * methodID=0x22b2d698, jvalue * args=0x00000000)  Line 230 + 0x20	C++
>  	harmonyvm.dll!jthread_wrapper_start_proc(void * arg=0x22dc69b8)  Line 166	C++
>  	msvcr71.dll!01f59565() 	
>  	kernel32.dll!7c80b683() 	

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