harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gregory Shimansky (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HARMONY-3611) [drlvm][gc_cc] GC_CC crashes with assertion in OOME-related scenario
Date Mon, 21 May 2007 11:17:16 GMT

     [ https://issues.apache.org/jira/browse/HARMONY-3611?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Gregory Shimansky updated HARMONY-3611:
---------------------------------------

    Summary: [drlvm][gc_cc] GC_CC crashes with assertion in OOME-related scenario  (was: [drlvm][gc_cc]
GC_CC craches with assertion in OOME-related scenario)

> [drlvm][gc_cc] GC_CC crashes with assertion in OOME-related scenario
> --------------------------------------------------------------------
>
>                 Key: HARMONY-3611
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3611
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Xiao-Feng Li
>
> The problem was found during HARMONY-2298 related investigations:
> For the following test:
> try {
>             for (int i=0;i<1000*1000;i++) {
>                 ThreadLocal t = new ThreadLocal();
>                 t.set(new Object());
>                 t.set(null);
>             }
>             System.out.println("PASSED");
>         } catch (OutOfMemoryError e) {
>             System.out.println("FAILED");
>         } 
> When run with -Xem:jet -Xmx30m option we have a crash.
> Here is stack trace with GC+JET failure:
> > harmonyvm.dll!Class::get_allocation_handle() Line 1134 + 0x11 C++
>   harmonyvm.dll!class_get_allocation_handle(Class * ch=0x00000008) Line 2394 C++
>   gc_cc.dll!Partial_Reveal_Object::valid() Line 199 + 0xc C++
>   gc_cc.dll!gc_copy_process_reference(Slot slot={...}, int phase=2) Line 166 C++
>   gc_cc.dll!gc_copy_add_root_set_entry(Slot root={...}) Line 283 + 0xd C++
>   gc_cc.dll!gc_add_root_set_entry_slot(Slot root={...}) Line 252 + 0x9 C++
>   gc_cc.dll!gc_add_root_set_entry(void * * ref=0x04b9f8e8, unsigned int is_pinned=0)
Line 265 + 0x9 C++
>   harmonyvm.dll!vm_enumerate_root_reference(void * * ref=0x04b9f8e8, unsigned int is_pinned=0)
Line 139 + 0x10 C++
>   jitrino.dll!Jitrino::Jet::rt_enum(void * jit=0x01284478, Method * method=0x04376a98,
void * henum=0x00000000, JitFrameContext * context=0x044607bc) Line 347 + 0x11 C++
>   jitrino.dll!JIT_get_root_set_from_stack_frame(void * jit=0x01284478, Method * method=0x04376a98,
void * enum_handle=0x00000000, JitFrameContext * context=0x044607bc) Line 371 + 0x15 C++
>   harmonyvm.dll!Dll_JIT::get_root_set_from_stack_frame(Method * method=0x04376a98, void
* enum_handle=0x00000000, const JitFrameContext * context=0x044607bc) Line 104 + 0x18 C++
>   harmonyvm.dll!vm_enumerate_root_set_single_thread_on_stack(StackIterator * si=0x044607b8)
Line 257 + 0x39 C++
>   harmonyvm.dll!vm_enumerate_thread(VM_thread * thread=0x04389e40) Line 222 + 0x9 C++
>   harmonyvm.dll!stop_the_world_root_set_enumeration() Line 108 + 0xc C++
>   harmonyvm.dll!vm_enumerate_root_set_all_threads() Line 148 C++
>   gc_cc.dll!enumerate_universe() Line 136 + 0x8 C++
>   gc_cc.dll!copy_gc(int size=7340044) Line 375 + 0x16 C++
>   gc_cc.dll!select_gc(int size=7340044) Line 96 + 0x9 C++
>   gc_cc.dll!gc_alloc(unsigned int in_size=7340044, unsigned int _ah=20129088, void *
thread_pointer=0x01288cf4) Line 274 + 0x9 C++
>   harmonyvm.dll!vm_new_vector_using_vtable_and_thread_pointer(int length=1835008, unsigned
int vector_handle=20129088, void * tp=0x01288cf4) Line 217 + 0x14 C++
>   harmonyvm.dll!vm_rt_new_vector_using_vtable_and_thread_pointer(int length=1835008,
unsigned int vector_handle=20129088, void * tp=0x01288cf4) Line 112 + 0x11 C++
>   01320a35()
> After short investigation of JET/GC problem I found that JET gc report looks valid: java/lang/FinalizerThread
is being reported.
> GC fails because it founds broken references from this root-object to another ones.

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