[Mono-dev] SEGV in runtime related to GC

Thong Nguyen tum at veridicus.com
Tue Feb 14 04:35:00 EST 2006


Hi Lupis,

I have traced the problem down to arrays of generic structs.  It doesn't not
occur on arrays of non-generic structs.  This may or may not be related to
bug #75479 (also mentioned in object.c).

Pretty weird and maybe related to the vtable pointer and generic class
related pointers referenced within (though theoretically the boehm gc
shouldn't even scan the vtable as AFAIK, it isn't allocated on the gc-heap).

I don't have a simple test case yet but I'm working on it...

Patch to make non-generic structs not allocated ptrfree attached...

^Tum

> -----Original Message-----
> From: mono-devel-list-bounces at lists.ximian.com [mailto:mono-devel-list-
> bounces at lists.ximian.com] On Behalf Of Paolo Molaro
> Sent: Tuesday, 14 February 2006 2:41 a.m.
> To: mono-devel-list at lists.ximian.com
> Subject: Re: [Mono-dev] SEGV in runtime related to GC
> 
> On 02/14/06 Thong Nguyen wrote:
> > I've been getting some memory corruption running an application after
> the GC
> > runs.  I've tracked it down to the allocation of primitive arrays (in
> > metadata/object.c) using GC_ALLOC_ATOMIC (or the mono equivalent).  Now,
> > theoretically it should be fine, but changing it to a normal GC_ALLOC
> seems
> > to fix (or maybe hide) the issue.
> 
> It is very likely only hiding the issue.
> 
> > Do mono objects contain links to any GC allocated memory?  A primitive
> array
> > might not contain any managed references but the object header *may*
> contain
> > some pointers.  I know at one point mono objects used to heap allocate
> > object monitors but that doesn't appear to be the case anymore so that
> > doesn't appear to be the issue...
> 
> Right, the object header doesn't contain references to objects.
> 
> > Any ideas?
> 
> A test case that replicates the issue would be the best way to allow us to
> debug and see where the real problem is.
> 
> lupus
> 
> --
> -----------------------------------------------------------------
> lupus at debian.org                                     debian/rules
> lupus at ximian.com                             Monkeys do it better
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
-------------- next part --------------
A non-text attachment was scrubbed...
Name: objectarray.diff
Type: application/octet-stream
Size: 1547 bytes
Desc: not available
Url : http://lists.ximian.com/pipermail/mono-devel-list/attachments/20060214/7ebfc847/attachment.obj 


More information about the Mono-devel-list mailing list