harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavel Ozhdikhin (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-4215) [drlvm][jit] assert in JIT while unwinding stack (during enumeration)
Date Thu, 21 Jun 2007 08:48:26 GMT

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

Pavel Ozhdikhin commented on HARMONY-4215:
------------------------------------------

One more stack trace from the failure of ZlibTest:

 	harmonyvm.dll!_NMSG_WRITE(int rterrnum=10)  Line 195	C
 	harmonyvm.dll!abort()  Line 44 + 0x7	C
>	harmonyvm.dll!ReleasePrimitiveArrayCritical(JNIEnv_External * jni_env=0x02d42420, _jobject
* array=0x04e2f624, void * carray=0x02fc6458, int mode=0)  Line 1315	C++
 	hyarchive.dll!Java_java_util_zip_Deflater_deflateImpl(const JNINativeInterface_ * * env=0x02d42420,
_jobject * recv=0x04e2f620, _jobject * buf=0x04e2f624, int off=0, int len=1024, __int64 handle=65024096,
int flushParm=4)  Line 209	C
 	033f522a()	
 	harmonyvm.dll!get_vm_thread(HyThread * thr=0x04e2f650)  Line 193 + 0xb	C++
 	harmonyvm.dll!get_vm_thread(HyThread * thr=0x00000000)  Line 194 + 0x7	C++

The interesting thing that in ReleasePrimitiveArrayCritical at the point of failure array_clss->get_name()
contains the string "java/util/zip/Inflater". That means array_clss was changed between these
2 lines in the same method:
    ...
    assert(array_clss->get_name()->bytes[0]=='[');
    switch (array_clss->get_name()->bytes[1]) {
    ...

It looks like the problem is that gc_gen does not implement object pinning (gc_pin_object())
which is used  in GetPrimitiveArrayCritical/ReleasePrimitiveArrayCritical pair in the method
Java_java_util_zip_Deflater_deflateImpl().





> [drlvm][jit] assert in JIT while unwinding stack (during enumeration)
> ---------------------------------------------------------------------
>
>                 Key: HARMONY-4215
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4215
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Win 2003
>            Reporter: Aleksey Ignatenko
>         Attachments: 2rel_tests_fail.dmp
>
>
> 2 reliablity tests failed on assertion in jit:
> 1. CharsetSyncCacheTest
> 2. ZlibTest
> svn rev 548320
> Call stack:
>  	jitrino.dll!_assert(const char * expr=0x01ba9f08, const char * filename=0x01ba9eb0,
unsigned int lineno=0x000000ac)  Line 295	C
> >	jitrino.dll!Jitrino::Ia32::StackInfo::read(Jitrino::MethodDesc * pMethodDesc=0x03bef720,
unsigned int eip=0x00000000, bool isFirst=false)  Line 172 + 0x1a	C++
>  	jitrino.dll!Jitrino::Ia32::RuntimeInterface::unwindStack(Jitrino::MethodDesc * methodDesc=0x03bef720,
JitFrameContext * context=0x02de90d4, bool isFirst=false)  Line 40	C++
>  	jitrino.dll!Jitrino::Jitrino::UnwindStack(Jitrino::MethodDesc * methodDesc=0x03bef720,
JitFrameContext * context=0x02de90d4, bool isFirst=false)  Line 280 + 0x1e	C++
>  	jitrino.dll!JIT_unwind_stack_frame(void * jit=0x012a6a48, Method * method=0x02cb3668,
JitFrameContext * context=0x02de90d4)  Line 362 + 0x18	C++
>  	harmonyvm.dll!Dll_JIT::unwind_stack_frame(Method * method=0x02cb3668, JitFrameContext
* context=0x02de90d4)  Line 94 + 0x14	C++
>  	harmonyvm.dll!si_goto_previous(StackIterator * si=0x02de90d0, bool over_popped=false)
 Line 315 + 0x32	C++
>  	harmonyvm.dll!vm_enumerate_root_set_single_thread_on_stack(StackIterator * si=0x02de90d0)
 Line 339 + 0xb	C++
>  	harmonyvm.dll!vm_enumerate_thread(VM_thread * thread=0x02d7e088)  Line 224 + 0x9	C++
>  	harmonyvm.dll!stop_the_world_root_set_enumeration()  Line 110 + 0xc	C++
>  	harmonyvm.dll!vm_enumerate_root_set_all_threads()  Line 150	C++
>  	gc_gen.dll!gc_reclaim_heap(GC * gc=0x014d5de8, unsigned int gc_cause=0x00000003)  Line
295 + 0x8	C++
>  	gc_gen.dll!gc_force_gc()  Line 138 + 0xd	C++
>  	harmonyvm.dll!Java_java_lang_VMMemoryManager_runGC(JNIEnv_External * __formal=0x02d9e240,
JNIEnv_External * __formal=0x02d9e240)  Line 138 + 0x8	C++
>  	03bf33ef()	
>  	harmonyvm.dll!get_vm_thread(HyThread * thr=0x03bef9ec)  Line 193 + 0xb	C++
>  	harmonyvm.dll!get_vm_thread(HyThread * thr=0x00000001)  Line 194 + 0x7	C++
> To reproduce onee needs to run these tests with 30 min cycle (set     <property name="test.duration"
value="1800" />  parameter in build.xml of reliablity tests).

-- 
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