[Mono-dev] SGen stability

Roope Kangas roope at grandcrugames.com
Mon Nov 5 18:15:27 UTC 2012


Hi!

We noticed a bug in our codebase that might contribute to this. If I understand correctly the program was going through a lot of data (iterating through 3D voxel geometry comparing data) and it had a bug in equals that caused boxing.

So in we were generating _a lot_ of small classes, loosing references to those new instances and doing that on very many threads at once.
Sounds like a GC stress tester =)

Anyhow, I will try to repro the bug with more debug and file it to bugzilla.

On Nov 5, 2012, at 6:57 PM, Rodrigo Kumpera <kumpera at gmail.com> wrote:

> Yes, look in the mono man page for MONO_GC_DEBUG. We have multiple options that can help triaging bugs. Collecting on every allocation
> sometimes does help, but it depends very much on the nature of the crash. And from the looks of the report, it's not possible to say if it's a GC
> or a runtime bug or an application bug.
> 
> 
> 
> On Mon, Nov 5, 2012 at 9:58 AM, Ben Winkel <funnelweb007 at gmail.com> wrote:
> Is there a stress testing mode for SGEN? e.g. to force a GC at every allocation?  That can really help to nail GC bugs fast (at huge cost of course)
> 
> 
> On Mon, Nov 5, 2012 at 2:56 PM, Rodrigo Kumpera <kumpera at gmail.com> wrote:
> First, make sure you have symbols and gdb installed. Then, please, file a bug report with all details and
> a test case if possible.
> 
> Sgen bugs are very very hard to come by and every harder to reproduce. If you have it in your hands please
> help us nail it.
> 
> 
> On Mon, Nov 5, 2012 at 7:16 AM, Roope Kangas <roope at grandcrugames.com> wrote:
> Hi!
> 
> I am working on a MMO game thats written in C#. We are currently running load tests on mono 3.0.0 in linux environment.
> 
> I have noticed a few times that when we cause a spike the amount of threads we run the server sometimes crashes with the following output:
> 
> Native stacktrace:
> 
>         mono-sgen() [0x498441]
>         mono-sgen() [0x4ec2df]
>         mono-sgen() [0x41c217]
>         /lib64/libpthread.so.0(+0xf500) [0x7fd5a1257500]
>         mono-sgen(mono_class_is_assignable_from+0x30) [0x4ff070]
>         mono-sgen(mono_object_isinst+0x3d) [0x57033d]
>         mono-sgen() [0x463c88]
>         [0x40216c3e]
> 
> Debug info from gdb:
> 
> 
> =================================================================
> Got a SIGSEGV while executing native code. This usually indicates
> a fatal error in the mono runtime or one of the native libraries
> used by your application.
> =================================================================
> 
>  Any ideas on what to do? This kind of behaviour does not occur with Boehm GC.
> 
> --
> Roope
> Lead Server Developer
> Grand Cru Games
> http://www.grandcrugames.com
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> 
> 
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> 
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20121105/220e118d/attachment.html>


More information about the Mono-devel-list mailing list