[Mono-bugs] [Bug 655669] New: Weak GCHandle does not work and crashes in multi-AppDomain scenario

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Wed Nov 24 02:16:24 EST 2010


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

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


           Summary: Weak GCHandle does not work and crashes in
                    multi-AppDomain scenario
    Classification: Mono
           Product: Mono: Runtime
           Version: 2.8.x
          Platform: x86
        OS/Version: RHEL 5
            Status: NEW
          Severity: Critical
          Priority: P5 - None
         Component: GC
        AssignedTo: lupus at novell.com
        ReportedBy: liewang at cisco.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


Created an attachment (id=401926)
 --> (http://bugzilla.novell.com/attachment.cgi?id=401926)
Sample project to repro the bug

User-Agent:       Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1;
Trident/4.0; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR
3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)

If I create an object in a *secondary* appdomain, allocate a *weak* GCHandle
pointing to it and store its IntPtr value somewhere, then later on when I try
to to use GCHandle.FromIntPtr to get a GCHandle instance from the stored IntPtr
value, CLR runtime will give me an exception.

This does not happen to Microsoft CLR and does not happen to *normal* and
*pinned* GCHandle on MONO.

Reproducible: Always

Steps to Reproduce:
1. Unzip attached project and use xbuild to build the solution.
2. In the generated bin folder, run "mono DefaultAppDomainApp.exe"
Actual Results:  
An exception is thrown out saying:
Unhandled Exception: System.ArgumentException: GCHandle value belongs to a
different domain

Server stack trace:
at System.Runtime.InteropServices.GCHandle.op_Explicit (IntPtr value) [0x00000]
in <filename unknown>:0 
at System.Runtime.InteropServices.GCHandle.FromIntPtr (IntPtr value) [0x00000]
in <filename unknown>:0
at SecondaryAppDomainApp.Program.Main (System.String[] args) [0x00000] in
<filename unknown>:0

Expected Results:  
No exception.

-- 
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