You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Aleksey Ignatenko (JIRA)" <ji...@apache.org> on 2007/02/14 13:00:14 UTC

[jira] Commented: (HARMONY-3054) [classlib] EUT intermittently fail in org.eclipse.jdt.core.tests.compiler.parser.TestAll

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

Aleksey Ignatenko commented on HARMONY-3054:
--------------------------------------------

I succeded to reproduce the crash several times , it is very similar to race condition in zip library, every time 2 functions are on the stack in different threads :

"hyarchive.dll!Java_java_util_zip_ZipFile_00024ZFEnum_getNextEntry" and "hyarchive.dll!Java_java_util_zip_ZipFile_closeZipImpl"

Failed on Java_java_util_zip_ZipFile_closeZipImpl trying to read "next" item:
      if (jclZipFile->next != NULL)
        jclZipFile->next->last = jclZipFile->last;

stack traces for 2 threads:
1.>	hyarchive.dll!Java_java_util_zip_ZipFile_closeZipImpl(const JNINativeInterface_ * * env=0x0817c840, _jobject * recv=0x0a6af7bc)  Line 199 + 0xb	C
 	0629050c()	
 	harmonyvm.dll!get_vm_thread(HyThread * thr=0x0a6af7e8)  Line 119 + 0xf	C++
 	harmonyvm.dll!get_vm_thread(HyThread * thr=0x00000000)  Line 120 + 0x7	C++
 	0038a050()	

2. >	gc_cc.dll!GC_VTable_Info::is_finalizible()  Line 142 + 0x26	C++
 	gc_cc.dll!gc_alloc(unsigned int in_size=0x00000018, unsigned int ah=0x012f04d0, void * thread_pointer=0x0125096c)  Line 191 + 0x8	C++
 	harmonyvm.dll!vm_alloc_and_report_ti(unsigned int size=0x00000018, unsigned int p_vtable=0x012f04d0, void * thread_pointer=0x0125096c, Class * object_class=0x01274150)  Line 1220 + 0x14	C++
 	harmonyvm.dll!class_alloc_new_object_using_vtable(VTable * vtable=0x012f04d0)  Line 2057 + 0x25	C++
 	harmonyvm.dll!string_create(unsigned int unicode_length=0x00000033, bool eight_bit=false, ManagedObject * * str=0x0013b994, StringBuffer * buf=0x0013b980)  Line 272 + 0x9	C++
 	harmonyvm.dll!string_create_from_utf8(const char * buf=0x0013ba6c, unsigned int length=0x00000033)  Line 302 + 0x13	C++
 	harmonyvm.dll!string_create_from_utf8_h(const char * buf=0x0013ba6c, unsigned int length=0x00000033)  Line 348 + 0xd	C++
 	harmonyvm.dll!NewStringUTF(JNIEnv_External * jni_env=0x012509d8, const char * bytes=0x0013ba6c)  Line 1186 + 0x16	C++
 	hyarchive.dll!Java_java_util_zip_ZipFile_00024ZFEnum_getNextEntry(const JNINativeInterface_ * * env=0x012509d8, _jobject * recv=0x0013bb14, __int64 descriptor=0x0000000006478380, __int64 nextEntry=0x00000000000e36e8)  Line 335 + 0x16	C
 	061888ad()	
 	harmonyvm.dll!get_vm_thread(HyThread * thr=0x0013bb40)  Line 119 + 0xf	C++
 	harmonyvm.dll!get_vm_thread(HyThread * thr=0x00000000)  Line 120 + 0x7	C++
 	0038a050()	

I'm going to continue investigating the issue.

> [classlib] EUT intermittently fail in org.eclipse.jdt.core.tests.compiler.parser.TestAll
> ----------------------------------------------------------------------------------------
>
>                 Key: HARMONY-3054
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3054
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>         Environment: Win and Lnx
>            Reporter: Aleksey Ignatenko
>
> org.eclipse.jdt.core.tests.compiler.parser.TestAll suit intermittently fails.
> Stack trace of crash:
> SIGSEGV in VM code.]]></message>
> Stack trace:]]></message>
> 1: zipCachePool_release (../shared/zcpool.c:284)]]></message>
> 2: zip_closeZipFile (../shared/zipsup.c:1129)]]></message>
> 3: Java_java_util_zip_ZipFile_closeZipImpl (../shared/zip.c:191)]]></message>
> 4: IP is 0x8533E71C <native code>]]></message>
> 5: java/util/zip/ZipFile.close()V (ZipFile.java:140)]]></message>
> 6: java/util/zip/ZipFile.finalize()V (ZipFile.java:-1)]]></message>
> 7: vm_invoke_native_array_stub (/export/users/nrinskay/x4/trunk/cc/projects/drlvm/trunk/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)]]></message>
> 8: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (/export/users/nrinskay/x4/trunk/cc/projects/drlvm/trunk/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:199)]]></message>
> 9: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (/export/users/nrinskay/x4/trunk/cc/projects/drlvm/trunk/vm/em/src/DrlEMImpl.cpp:514)]]></message>
> 10: ExecuteMethod (/export/users/nrinskay/x4/trunk/cc/projects/drlvm/trunk/vm/em/src/em_intf.cpp:43)]]></message>
> 11: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (/export/users/nrinskay/x4/trunk/cc/projects/drlvm/trunk/vm/vmcore/src/jit/ini.cpp:51)]]></message>
> 12: Objects_To_Finalize::do_finalization(int) (/export/users/nrinskay/x4/trunk/cc/projects/drlvm/trunk/vm/vmcore/src/init/finalize.cpp:419)]]></message>
> 13: vm_do_finalization(int) (/export/users/nrinskay/x4/trunk/cc/projects/drlvm/trunk/vm/vmcore/src/init/finalize.cpp:511)]]></message>
> 14: Java_java_lang_FinalizerThread_doFinalization (/export/users/nrinskay/x4/trunk/cc/projects/drlvm/trunk/vm/vmcore/src/kernel_classes/native/java_lang_FinalizerThread.cpp:65)]]></message>
> 15: IP is 0x843670A7 <native code>]]></message>
> 16: java/lang/FinalizerThread.run()V (??:-1)]]></message>
> 17: java/lang/Thread.runImpl()V (??:-1)]]></message>
> 18: vm_invoke_native_array_stub (/export/users/nrinskay/x4/trunk/cc/projects/drlvm/trunk/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)]]></message>
> 19: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (/export/users/nrinskay/x4/trunk/cc/projects/drlvm/trunk/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:199)]]></message>
> 20: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (/export/users/nrinskay/x4/trunk/cc/projects/drlvm/trunk/vm/em/src/DrlEMImpl.cpp:514)]]></message>
> 21: ExecuteMethod (/export/users/nrinskay/x4/trunk/cc/projects/drlvm/trunk/vm/em/src/em_intf.cpp:43)]]></message>
> 22: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (/export/users/nrinskay/x4/trunk/cc/projects/drlvm/trunk/vm/vmcore/src/jit/ini.cpp:51)]]></message>
> 23: call_method_no_ref_result (/export/users/nrinskay/x4/trunk/cc/projects/drlvm/trunk/vm/vmcore/src/jni/jni_method.cpp:188)]]></message>
> 24: CallVoidMethodA(JNIEnv_External*, _jobject*, _jmethodID*, jvalue*) (/export/users/nrinskay/x4/trunk/cc/projects/drlvm/trunk/vm/vmcore/src/jni/jni_method.cpp:226)]]></message>
> 25: wrapper_proc (/export/users/nrinskay/x4/trunk/cc/projects/drlvm/trunk/vm/thread/src/thread_java_basic.c:101)]]></message>
> 26: thread_start_proc (/export/users/nrinskay/x4/trunk/cc/projects/drlvm/trunk/vm/thread/src/thread_native_basic.c:723)]]></message>
> 27: dummy_worker (threadproc/unix/thread.c:139)]]></message>
> 28: start_thread (??:-1)]]></message>
> 29: clone (??:-1)]]></message>
> <end of stack trace>]]></message>

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