[Mono-dev] sgen gc & ephemerons arrays bug

Gleb Golubitsky sectoid at gnolltech.org
Tue Nov 22 09:08:29 EST 2011


Hi all,

I met a problem when tryed to run my application with SGen GC. Googling
for similar problems led me to bug [1] describing very similar
problem. The is marked as RESOLVED but it's actually not. I've
reproduced the bug on both mono-2.10 and master branches HEADs.

Here is a patch A patch solving the problem. It's against current
mono-2.10 branch but can be adopted to master easily.

The patch is very simple -- it doesn't allow GC to skip scanning all ephemerons
arrays basing only on an array address. Such skips are big mistake, bcs if an
array allocated in different region it can contain references to the region we
scanning. So it's necessary to scan all available arrays.

Applying patch fixes problem (test case passes well).

-- 
WBR,
Gleb Golubitsky
Gnolltech



-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-sgen-Trying-to-fix-ephemerons-handling-problem.patch
Type: text/x-patch
Size: 1141 bytes
Desc: not available
Url : http://lists.ximian.com/pipermail/mono-devel-list/attachments/20111122/d062a101/attachment.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
Url : http://lists.ximian.com/pipermail/mono-devel-list/attachments/20111122/d062a101/attachment-0001.bin 


More information about the Mono-devel-list mailing list