Bug 14581 - Version control blocks UI thread during work - again
Summary: Version control blocks UI thread during work - again
Alias: None
Product: Xamarin Studio
Classification: Desktop
Component: Version Control ()
Version: unspecified
Hardware: PC Linux
: --- normal
Target Milestone: master
Assignee: Bugzilla
: 14063 15207 ()
Depends on:
Reported: 2013-09-10 01:13 UTC by Mike Krüger
Modified: 2014-03-13 11:52 UTC (History)
3 users (show)

Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.

Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:

Description Mike Krüger 2013-09-10 01:13:58 UTC
"GUI Thread" tid=0x0x7f1a4e02a780 this=0x0x7f1a4cdbc010 thread handle 0x403 state : not waiting owns ()
  at (wrapper unknown) Gtk.TreeIter.PtrToStructure (intptr,object) <IL 0x0000c, 0xffffffff>
  at (wrapper runtime-invoke) <Module>.runtime_invoke_void_intptr_object (object,intptr,intptr,intptr) <IL 0x0005c, 0xffffffff>
  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) System.Runtime.InteropServices.Marshal.PtrToStructure (intptr,System.Type) <IL 0x0000e, 0xffffffff>
  at Gtk.TreeIter.New (intptr) [0x0001c] in /home/mkrueger/work/gtk-sharp/gtk/generated/TreeIter.cs:24
  at GtkSharp.TreeIterCompareFuncWrapper.NativeCallback (intptr,intptr,intptr,intptr) [0x00002] in /home/mkrueger/work/gtk-sharp/gtk/generated/GtkSharp.TreeIterCompareFuncNative.cs:61
  at (wrapper native-to-managed) GtkSharp.TreeIterCompareFuncWrapper.NativeCallback (intptr,intptr,intptr,intptr) <IL 0x00031, 0xffffffff>
  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) Gtk.TreeStore.gtk_tree_store_set_value (intptr,intptr,int,intptr) <IL 0x00012, 0xffffffff>
  at Gtk.TreeStore.SetValue (Gtk.TreeIter,int,GLib.Value) [0x00019] in /home/mkrueger/work/gtk-sharp/gtk/generated/TreeStore.cs:89
  at Gtk.TreeStore.SetValue (Gtk.TreeIter,int,object) [0x00009] in /home/mkrueger/work/gtk-sharp/gtk/generated/TreeStore.custom:263
  at Gtk.TreeStore._AppendValues (Gtk.TreeIter,System.Array) [0x0001e] in /home/mkrueger/work/gtk-sharp/gtk/generated/TreeStore.custom:271
  at Gtk.TreeStore.AppendValues (System.Array) [0x00008] in /home/mkrueger/work/gtk-sharp/gtk/generated/TreeStore.custom:288
  at Gtk.TreeStore.AppendValues (object[]) [0x00001] in /home/mkrueger/work/gtk-sharp/gtk/generated/TreeStore.custom:293
  at MonoDevelop.VersionControl.Views.StatusView.AppendFileInfo (MonoDevelop.VersionControl.VersionInfo) [0x001b4] in /home/mkrueger/work/monodevelop/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.Views/StatusView.cs:581
  at MonoDevelop.VersionControl.Views.StatusView.Update () [0x00080] in /home/mkrueger/work/monodevelop/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.Views/StatusView.cs:532
  at MonoDevelop.VersionControl.Views.StatusView.LoadStatus (System.Collections.Generic.List`1<MonoDevelop.VersionControl.VersionInfo>) [0x00121] in /home/mkrueger/work/monodevelop/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.Views/StatusView.cs:475
  at MonoDevelop.VersionControl.Views.StatusView/<StartUpdate>c__AnonStorey6.<>m__D () [0x0001d] in /home/mkrueger/work/monodevelop/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl.Views/StatusView.cs:450
  at MonoDevelop.Ide.GenericMessageContainer.Run () [0x00008] in /home/mkrueger/work/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/DispatchService.cs:452
  at MonoDevelop.Ide.DispatchService.guiDispatcher () [0x0009b] in /home/mkrueger/work/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/DispatchService.cs:278
  at GLib.Timeout/TimeoutProxy.Handler () [0x0000e] in /home/mkrueger/work/gtk-sharp/glib/Timeout.cs:70
  at (wrapper native-to-managed) GLib.Timeout/TimeoutProxy.Handler () <IL 0x0002d, 0xffffffff>
  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) Gtk.Application.gtk_main () <IL 0x0000e, 0xffffffff>
  at Gtk.Application.Run () [0x00001] in /home/mkrueger/work/gtk-sharp/gtk/Application.cs:135
  at MonoDevelop.Ide.IdeApp.Run () [0x00000] in /home/mkrueger/work/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/Ide.cs:387
  at MonoDevelop.Ide.IdeStartup.Run (MonoDevelop.Ide.MonoDevelopOptions) [0x007ae] in /home/mkrueger/work/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/IdeStartup.cs:295
  at MonoDevelop.Ide.IdeStartup.Main (string[]) [0x00086] in /home/mkrueger/work/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/IdeStartup.cs:541
  at MonoDevelop.Startup.MonoDevelopMain.Main (string[]) [0x00000] in /home/mkrueger/work/monodevelop/main/src/core/MonoDevelop.Startup/MonoDevelop.Startup/MonoDevelopMain.cs:17
  at (wrapper runtime-invoke) <Module>.runtime_invoke_int_object (object,intptr,intptr,intptr) <IL 0x0005c, 0xffffffff>
Comment 1 Marius Ungureanu 2013-09-22 12:49:44 UTC
Mike, can you give me a repro for this? As in, what repository were you working on, what did you also have open except Status View and what did you do to trigger it.
Comment 2 Mike Krüger 2013-09-22 13:15:15 UTC
I worked on monodevelop itself - I don't remember exactly how I triggered it :/
Comment 3 Alan McGovern 2013-10-22 22:52:33 UTC
How big was the list of files it was adding? Is it possible that you were adding a few hundred files and Gtk just really sucks at adding that many files when sorting is enabled on the treestore/model?
Comment 4 Alan McGovern 2013-10-22 22:52:44 UTC

*** This bug has been marked as a duplicate of bug 14063 ***
Comment 5 Alan McGovern 2013-10-22 22:53:25 UTC
whoops, wrong thing marked duplicate.
Comment 6 Alan McGovern 2013-10-22 22:53:38 UTC
*** Bug 15207 has been marked as a duplicate of this bug. ***
Comment 7 Alan McGovern 2013-10-22 22:53:45 UTC
*** Bug 14063 has been marked as a duplicate of this bug. ***
Comment 8 Alan McGovern 2013-10-22 22:59:17 UTC
Something which looks like your issue is really easy to repro:

1) delete all the cs files in your monodevelop checkout
2) Open Main.sln in a monodevelop instance
3) Click on 'Review Status' for the root node. 

Result: The ide will hang while the status dialog populates.
Comment 9 Marius Ungureanu 2014-03-13 11:52:06 UTC
Fixed in master.