[Mono-dev] Status of COM interop

Jonathan Chambers joncham at gmail.com
Tue Apr 26 20:47:40 EDT 2011


Joe,

I can't find the bug # right now, but I'm assuming you are talking about
Release being called on the finalizer thread instead of the correct
creating/apartment of the COM object? I understand how it
can especially cause problems with UI controls requiring access on only the
UI thread. This is a very difficult bug to fix, due to the fact that if the
apartment of the COM object does not pump messages the application will
deadlock. Even more complicated is what message loop to use in the non-Win32
case.

I'm willing to take a look at solutions to this issue, but I can't think of
any easy ones. There are multiple blog posts on how tricky it was for MS to
avoid deadlock in their runtime, including things like randomly pumping
messages.

Ivo, Joe is right to mention this. I've made all my COM objects free
threaded to avoid this issue. If your COM objects rely on STA behavior,
you're going to run into troubles.

Thanks,
Jonathan

On Tue, Apr 26, 2011 at 8:20 PM, Joe Dluzen <jdluzen at gmail.com> wrote:

> I was under the impression that XPCOM is broken due to a GC bug. Is this
> still the case?
>
> Thanks,
> Joe
>
> _______________________________________________
> 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/20110426/975a7539/attachment.html 


More information about the Mono-devel-list mailing list