Question: I'm trying to set a textview's text from other thread than the main one,so I've written in the constructor:

```
    Thread myth = new Thread (new ThreadStart (set_txt));
    myth.Start ();

```

and of course set\_txt is a method contains 

```
    textview1.Buffer.Text = "Whatever";

```

The probleme is that When I run the code most time it stops and gives an error:

```
    =================================================================
    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.
    =================================================================

```

What should I do??

Answer: 
You need to update the GTK# text view from the GUI thread. You can do this by using Gtk.Application.Invoke:

```
 Gtk.Application.Invoke (delegate {
     textview1.Buffer.Text = "Whatever";
 });

```
You need to update the UI from the UI thread. Just use `Gtk.Application.Invoke` passing it a lambda or a delegate:

```
Gtk.Application.Invoke(() => { textview1.Buffer.Text = "Whatever"; });

```