[Mono-list] Unload AppDomain containing GTK Window

Adrian Stern adrian.stern at screenfood.com
Tue Jul 3 05:26:53 UTC 2012


Thanks for your answer.

Do you see a way for running the flashplugin (embedded in Webkit.WebView) in a separate context/process?
We need to kill it from time to time because  it gets slower after a few hours and a crash in flash will result in a crash of the whole application.


Freundliche Grüsse / Best Regards / Meilleures salutations
Adrian Stern

______________

Adrian Stern
Software Developer

screenFOOD AG
Digital Signage Software and Multimedia Solutions
Cysatstrasse 6
CH-6004 Lucerne
SWITZERLAND

Fon +41 (0)41 444 21 41
Fax +41 (0)41 444 21 43
http://www.screenfood.com<http://www.screenfood.com/>

» NEU! screenFOOD® CS Server 4.1 mit verlinkten Animation Factories, mehr animierten Bildübergängen, Längenerkennung von Videos und Animation Factories und vielem mehr unter: http://www.screenfood.com<http://www.screenfood.com/html/pages/de_index.html>

» NEW! screenFOOD® CS Server 4.1 with linked Animation Factories, more animated image transitions, video and Animation Factory duration recognition and much more at: http://www.screenfood.com<http://www.screenfood.com/html/pages/en_index.html>

Von: Rodrigo Kumpera [mailto:kumpera at gmail.com]
Gesendet: Montag, 2. Juli 2012 19:08
An: Adrian Stern
Cc: mono-list at lists.ximian.com
Betreff: Re: [Mono-list] Unload AppDomain containing GTK Window

GTK# does not work with multiple appdomains. You must do everything from the root domain.
On Mon, Jul 2, 2012 at 10:44 AM, Adrian Stern <adrian.stern at screenfood.com<mailto:adrian.stern at screenfood.com>> wrote:
Hello

Since the Flashplugin is not very stable and on top of that leaks memory in long term use we try to run this critical part in a seperate AppDomain.
While creating and interacting with this window works fine, unloading the updomain causes the whole app to crash.

Since the unload works when i remove the Gtk.Window from the marshal object i can confirm this problem to be Gtk related (GTK Sharp)
Run on Ubuntu 11.4 and 12.4. This Bug seems to be known since 2004.

Running this sample every x seconds (loop) should just open a new window every x seconds while closing and destroying the other.

Any idey how i could accomplish this?

What i do:
#################################################
##### Class to run in other AppDomain and ist proxy class
#################################################

public class Fanta
{
  string s;

 // commenting this line out will cause the example to work!
  Gtk.Window w = new Gtk.Window(Gtk.WindowType.Toplevel);

  public Fanta(){ s = "blubb"; }

  public void echoS(){ Console.WriteLine( s );}
}

public class FantaProxy : MarshalByRefObject
{
  Fanta f = new Fanta();

  public void echoS(){
    f.GetType().InvokeMember("echoS", BindingFlags.InvokeMethod, null, f, null );
  }
}

#################################################
##### Code which causes the app to exit
#################################################

// d is a gobal AppDomain
// fp is FantaProxy  Type (also global)

d = AppDomain.CreateDomain( "FantaD");
string currentAssemblyPath = Assembly.GetExecutingAssembly().Location;
fp = d.CreateInstanceFromAndUnwrap( currentAssemblyPath, "AppDomainTest.FantaProxy" ) as FantaProxy;
fp.echoS();
AppDomain.Unload( d );
Diese E-Mail und ihre Anhänge enthalten vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail inklusive Anhänge. Das unerlaubte Kopieren sowie die unbefugte Weitergabe der Inhalte dieser Mail ist nicht gestattet.
This e-mail and any attachments may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail including the attachments. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.

_______________________________________________
Mono-list maillist  -  Mono-list at lists.ximian.com<mailto:Mono-list at lists.ximian.com>
http://lists.ximian.com/mailman/listinfo/mono-list

Diese E-Mail und ihre Anhänge enthalten vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail inklusive Anhänge. Das unerlaubte Kopieren sowie die unbefugte Weitergabe der Inhalte dieser Mail ist nicht gestattet.
This e-mail and any attachments may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail including the attachments. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-list/attachments/20120703/88b24ff3/attachment.html>


More information about the Mono-list mailing list