[Mono-devel-list] Mono crashes with stack overflow exception at GC_clear_stack_inner()

vasantha selvi vasanthp_2000 at hotmail.com
Mon Nov 17 08:59:29 EST 2003


Hi,

    I tried running an application  using mono-0.28 on   Windows with GC 
turned on. The code crashes with a stack overflow execption at the following 
line



BZERO(dummy, CLEAR_SIZE*sizeof(word)); inside GC_clear_stack_inner(). 
(mono-0.28\libgc\misc.c)

I am not sure what could be the possible causes for the crash. I am 
attaching the call stack. Could anyone please have a look at the same and 
help me with this problem? Is it something that usually happens while using 
the GC or am I missing something in here.

Thanks in anticipation,
With Regards,
VS

Final Call Stack Messages before the crash:

gc.dll!GC_clear_stack_inner()
  gc.dll!GC_clear_stack_inner()
  gc.dll!GC_clear_stack_inner()
  gc.dll!GC_clear_stack_inner()
  gc.dll!GC_clear_stack_inner()
  gc.dll!GC_clear_stack_inner()
  gc.dll!GC_clear_stack_inner()
  gc.dll!GC_clear_stack_inner()
  gc.dll!GC_clear_stack_inner()
  gc.dll!GC_clear_stack()  C
  gc.dll!GC_gcj_malloc(unsigned int lb=0x00000030, void * 
ptr_to_struct_containing_descr=0x02d43b50)
  mono_object_allocate_spec(unsigned int size=0x00000030, void * 
gcdescr=0x02d43b50)
  mono_object_new_alloc_specific(MonoVTable * vtable=0x02d43b50)
  mono_object_new_specific(MonoVTable * vtable=0x02d43b50)
  mono_object_new(_MonoDomain * domain=0x00cb2f80, _MonoClass * 
klass=0x02d53290)
  mono_exception_from_name(_MonoImage * image=0x00c4a000, const char * 
name_space=0x00553984, const char * name=0x0055396c)
  out_of_memory(unsigned int size=0x00000030)
char * name_space=0x00553984, const char * name=0x0055396c)
  out_of_memory(unsigned int size=0x00000030)
  mono_object_allocate_spec(unsigned int size=0x00000030, void * 
gcdescr=0x02d43b50)
  mono_object_new_alloc_specific(MonoVTable * vtable=0x02d43b50)
  mono_object_new_specific(MonoVTable * vtable=0x02d43b50)
  mono_object_new(_MonoDomain * domain=0x00cb2f80, _MonoClass * 
klass=0x02d53290)
  mono_exception_from_name(_MonoImage * image=0x00c4a000, const char * 
name_space=0x00553984, const char * name=0x0055396c)
  out_of_memory(unsigned int size=0x00000030)
   mono_object_allocate_spec(unsigned int size=0x00000030, void * 
gcdescr=0x02d43b50)
  mono_object_new_alloc_specific(MonoVTable * vtable=0x02d43b50)
  mono_object_new_specific(MonoVTable * vtable=0x02d43b50)
  mono_object_new(_MonoDomain * domain=0x00cb2f80, _MonoClass * 
klass=0x02d53290)
  mono_exception_from_name(_MonoImage * image=0x00c4a000, const char * 
name_space=0x00553984, const char * name=0x0055396c)
  out_of_memory(unsigned int size=0x00000030)
  mono_object_allocate_spec(unsigned int size=0x00000030, void * 
gcdescr=0x02d43b50)
  mono_object_new_alloc_specific(MonoVTable * vtable=0x02d43b50)
  mono_object_new_specific(MonoVTable * vtable=0x02d43b50)
  mono_object_new(_MonoDomain * domain=0x00cb2f80, _MonoClass * 
klass=0x02d53290)
  mono_exception_from_name(_MonoImage * image=0x00c4a000, const char * 
name_space=0x00553984, const char * name=0x0055396c)

Call Stack Messages before first call to out of memory function:

mono_object_allocate_spec(unsigned int size=0x000001aa, void * 
gcdescr=0x00c46480)
  mono_string_new_size(_MonoDomain * domain=0x00cb2f80, int len=0x000000cc)
  mono_string_new_utf16(_MonoDomain * domain=0x00cb2f80, const unsigned 
short * text=0x02d96578, int len=0x000000cc)
  mono_string_new(_MonoDomain * domain=0x00cb2f80, const char * 
text=0x02db1bb0)
  mono_arch_handle_exception(sigcontext * ctx=0x02c2fcc4, void * 
obj=0x00cbcb40, int test_only=0x00000001)
  mono_arch_handle_exception(sigcontext * ctx=0x02c2fd34, void * 
obj=0x00cbcb40, int test_only=0x00000000)
  throw_exception(unsigned long eax=0x00cbcb40, unsigned long 
ecx=0x00cbcb40, unsigned long edx=0x02daa739, unsigned long ebx=0x02486000, 
unsigned long esi=0x00000010, unsigned long edi=0x02486000, unsigned long 
ebp=0x02c2fd90, MonoObject * exc=0x00cbcb40, unsigned long eip=0x004415ec, 
unsigned long esp=0x02c2fd88)
  _mono_worker_threads()
  out_of_memory(unsigned int size=0x00000020)
  mono_object_allocate_spec(unsigned int size=0x00000020, void * 
gcdescr=0x027ad738)
  mono_object_new_fast(MonoVTable * vtable=0x027ad738)
  00c48538()
  mono_class_vtable(_MonoDomain * domain=0x00000000, _MonoClass * 
class=0x02c2ff04)
  mono_jit_runtime_invoke(MonoMethod * method=0x027cda80, void * 
obj=0x00000000, void * * params=0x02c2ff04, MonoObject * * exc=0x00000000)
  mono_runtime_invoke(MonoMethod * method=0x027cda80, void * obj=0x00000000, 
void * * params=0x02c2ff04, MonoObject * * exc=0x00000000)
  mono_runtime_exec_main(MonoMethod * method=0x027cda80, MonoArray * 
args=0x00cb4f90, MonoObject * * exc=0x00000000)
  mono_runtime_run_main(MonoMethod * method=0x027cda80, int argc=0x00000000, 
char * * argv=0x024b33d8, MonoObject * * exc=0x00000000)
  mono_jit_exec(_MonoDomain * domain=0x00cb2f80, MonoAssembly * 
assembly=0x02760ac0, int argc=0x00000001, char * * argv=0x024b33d4)
  main_thread_handler(void * user_data=0x0012fe80)
  start_wrapper(void * data=0x027cd580)
  KERNEL32.DLL!7c4e987c()

_________________________________________________________________
Garfield on your mobile. Download now. http://server1.msn.co.in/sp03/gprs/ 
How cool can life get?




More information about the Mono-devel-list mailing list