[Mono-bugs] [Bug 633454] New: Multithreaded applications in MonoDroid (and my Mono port to Android) fail to garbage collect (hang/crash)

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Sat Aug 21 13:21:12 EDT 2010


https://bugzilla.novell.com/show_bug.cgi?id=633454

https://bugzilla.novell.com/show_bug.cgi?id=633454#c0


           Summary: Multithreaded applications in MonoDroid (and my Mono
                    port to Android) fail to garbage collect (hang/crash)
    Classification: Mono
           Product: Mono: Runtime
           Version: 2.6.x
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Critical
          Priority: P5 - None
         Component: GC
        AssignedTo: gnorton at novell.com
        ReportedBy: koushik_dutta at yahoo.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


Description of Problem:

Basically, if you have a .NET Thread running in Android and the garbage
collector is started (explicitly or automatically, does not matter), the
application will hang/crash. I tracked this down to the pthread_kill in
GC_suspend_all (libgc) failing with an EPERM error when trying to stop anything
but the main thread (which was created in dalvik land). I tried a few other
signals for SIG_SUSPEND, to no avail.

Here is exactly where the failure occurs:
http://github.com/mono/mono/blob/master/libgc/pthread_stop_world.c#L342

Here is a sample application you can use to easily reproduce the problem:
http://gist.github.com/539485

How often does this happen? 
Every time the GC runs and in a multithreaded application.

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list