mrward/monodevelop-dnx-addin

MonoDevelop from master freeze with branch roslyn on Linux

fogzot opened this issue · 9 comments

I usually run development MonoDevelop with the DNX addin using a command line like:

MONODEVELOP_DEV_ADDINS=/home/fog/Workspaces/monodevelop/monodevelop-dnx-addin/bin/merged make run

MonoDevelop starts fine but when opening a DNX solution it freezes with the UI saying "Loading...". The UI Is completely frozen, no animation, can't open menu or click anywhere. The last few log lines are:

WARNING [2016-03-31 10:53:18Z]: Cannot deserialise unregistered policy name 'ChangeLogPolicy'
WARNING [2016-03-31 10:53:18Z]: Cannot deserialise unregistered policy name 'FSharpFormattingPolicy'
Process ID 14679
Listening on port 39281
Client accepted 127.0.0.1:39281
Client accepted 127.0.0.1:39281

Any idea about how to debug this?

try running kill -QUIT $PID_OF_MONODEVELOP_PROCESS it should output stacktraces of all threads in console... Which should be helpful...

It seems the GUI thread is dead-locked at a Wait() call. Maybe it tries to initialize the DNX system 2 times in a row? Thinking about the two lines:

Client accepted 127.0.0.1:39281
Client accepted 127.0.0.1:39281

Full trace follows.

"<unnamed thread>"  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) System.IO.InotifyWatcher.ReadFromFD (intptr,byte[],intptr) <IL 0x00026, 0xffffffff>
  at System.IO.InotifyWatcher.Monitor () <IL 0x0001e, 0x00067>
  at System.Threading.ThreadHelper.ThreadStart_Context (object) <0x00099>
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x0016e>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x00020>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object) <0x00059>
  at System.Threading.ThreadHelper.ThreadStart () <0x0002e>
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <IL 0x00056, 0xffffffff>

"Threadpool worker"
"<unnamed thread>"  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) System.Threading.Thread.SleepInternal (int) <IL 0x0000d, 0xffffffff>
  at System.Threading.Thread.Sleep (int) <0x00016>
  at OmniSharp.ProcessExtensions.WatchProcesses () [0x0007c] in /home/fog/Workspaces/monodevelop/monodevelop-dnx-addin/src/MonoDevelop.Dnx/Omnisharp/Utilities/ProcessExtensions.cs:119
  at System.Threading.ThreadHelper.ThreadStart_Context (object) <0x00099>
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x0016e>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x00020>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object) <0x00059>
  at System.Threading.ThreadHelper.ThreadStart () <0x0002e>
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <IL 0x00056, 0xffffffff>

"Threadpool worker"
"NuGet background dispatcher"  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (System.Threading.WaitHandle,intptr,int,bool) <IL 0x0001c, 0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <0x0005c>
  at MonoDevelop.PackageManagement.PackageManagementBackgroundDispatcher.RunDispatcher () [0x00055] in /home/fog/Workspaces/monodevelop/monodevelop/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement/PackageManagementBackgroundDispatcher.cs:67
  at System.Threading.ThreadHelper.ThreadStart_Context (object) <0x00099>
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x0016e>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x00020>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object) <0x00059>
  at System.Threading.ThreadHelper.ThreadStart () <0x0002e>
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <IL 0x00056, 0xffffffff>

"<threadpool thread>"
"<threadpool thread>"
"GUI Thread"  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) System.Threading.Monitor.Monitor_wait (object,int) <IL 0x0000e, 0xffffffff>
  at System.Threading.Monitor.Wait (object,int) <0x00042>
  at System.Threading.ManualResetEventSlim.Wait (int,System.Threading.CancellationToken) <0x002f7>
  at System.Threading.ManualResetEventSlim.Wait () <0x00028>
  at OmniSharp.Dnx.DnxProjectSystem.Initalize () [0x000b5] in /home/fog/Workspaces/monodevelop/monodevelop-dnx-addin/src/MonoDevelop.Dnx/Omnisharp/Dnx/DnxProjectSystem.cs:418
  at MonoDevelop.Dnx.DnxProjectService.LoadDnxProjectSystem (MonoDevelop.Projects.Solution) [0x00042] in /home/fog/Workspaces/monodevelop/monodevelop-dnx-addin/src/MonoDevelop.Dnx/MonoDevelop.Dnx/DnxProjectService.cs:119
  at MonoDevelop.Dnx.DnxProjectService.OnSolutionLoaded (MonoDevelop.Projects.Solution) [0x00010] in /home/fog/Workspaces/monodevelop/monodevelop-dnx-addin/src/MonoDevelop.Dnx/MonoDevelop.Dnx/DnxProjectService.cs:91
  at MonoDevelop.Dnx.DnxProjectService.SolutionLoaded (object,MonoDevelop.Projects.SolutionEventArgs) [0x00008] in /home/fog/Workspaces/monodevelop/monodevelop-dnx-addin/src/MonoDevelop.Dnx/MonoDevelop.Dnx/DnxProjectService.cs:84
  at (wrapper delegate-invoke) System.EventHandler`1<TKey_REF>.invoke_void_object_TEventArgs (object,TKey_REF) <IL 0x00074, 0xffffffff>
  at MonoDevelop.Ide.RootWorkspace.OnItemLoaded (MonoDevelop.Projects.WorkspaceItem) [0x00033] in /home/fog/Workspaces/monodevelop/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/RootWorkspace.cs:1106
  at MonoDevelop.Ide.RootWorkspace.NotifyDescendantItemAdded (object,MonoDevelop.Projects.WorkspaceItemEventArgs) [0x00063] in /home/fog/Workspaces/monodevelop/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/RootWorkspace.cs:1087
  at MonoDevelop.Ide.RootWorkspace.NotifyItemAddedGui (MonoDevelop.Projects.WorkspaceItem,bool) [0x0004a] in /home/fog/Workspaces/monodevelop/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/RootWorkspace.cs:913
  at MonoDevelop.Ide.RootWorkspace.NotifyItemAdded (MonoDevelop.Projects.WorkspaceItem) [0x0004a] in /home/fog/Workspaces/monodevelop/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/RootWorkspace.cs:894
  at MonoDevelop.Ide.RootWorkspaceItemCollection.OnItemsAdded (System.Collections.Generic.IEnumerable`1<MonoDevelop.Projects.WorkspaceItem>) [0x00025] in /home/fog/Workspaces/monodevelop/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/RootWorkspace.cs:1324
  at MonoDevelop.Projects.ItemCollection`1<TKey_REF>.Add (TKey_REF) [0x00012] in /home/fog/Workspaces/monodevelop/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ItemCollection.cs:64
  at MonoDevelop.Ide.RootWorkspace/<BackgroundLoadWorkspace>c__async6.MoveNext () [0x002d5] in /home/fog/Workspaces/monodevelop/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/RootWorkspace.cs:554
  at System.Runtime.CompilerServices.AsyncMethodBuilderCore/MoveNextRunner.InvokeMoveNext (object) <0x000b5>
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x0016e>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x00020>
  at System.Runtime.CompilerServices.AsyncMethodBuilderCore/MoveNextRunner.Run () <0x000d1>
  at System.Threading.Tasks.AwaitTaskContinuation.InvokeAction (object) <0x0003c>
  at System.Threading.Tasks.AwaitTaskContinuation.RunCallback (System.Threading.ContextCallback,object,System.Threading.Tasks.Task&) <0x00064>
  at System.Threading.Tasks.SynchronizationContextAwaitTaskContinuation.Run (System.Threading.Tasks.Task,bool) <0x00131>
  at System.Threading.Tasks.Task.FinishContinuations () <0x0023e>
  at System.Threading.Tasks.Task.FinishStageThree () <0x00068>
  at System.Threading.Tasks.Task`1<TKey_REF>.TrySetResult (TKey_REF) <0x000a2>
  at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1<TKey_REF>.SetResult (TKey_REF) <0x0008d>
  at MonoDevelop.Projects.ProjectService/<ReadWorkspaceItem>c__AnonStorey1B/<ReadWorkspaceItem>c__async1A.MoveNext () [0x00216] in /home/fog/Workspaces/monodevelop/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectService.cs:188
  at System.Runtime.CompilerServices.AsyncMethodBuilderCore/MoveNextRunner.InvokeMoveNext (object) <0x000b5>
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x0016e>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x00020>
  at System.Runtime.CompilerServices.AsyncMethodBuilderCore/MoveNextRunner.Run () <0x000d1>
  at System.Threading.Tasks.SynchronizationContextAwaitTaskContinuation.<s_postCallback>m__0 (object) <0x0003c>
  at MonoDevelop.Ide.DispatchService/GtkSynchronizationContext/<Post>c__AnonStorey0.<>m__0 (object,System.EventArgs) [0x00000] in /home/fog/Workspaces/monodevelop/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/DispatchService.cs:52
  at Gtk.Application/InvokeCB.Invoke () <IL 0x00012, 0x00021>
  at GLib.Timeout/TimeoutProxy.Handler () <IL 0x0000d, 0x0003f>
  at (wrapper native-to-managed) GLib.Timeout/TimeoutProxy.Handler () <IL 0x00031, 0xffffffff>
  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) Gtk.Application.gtk_main () <IL 0x0000e, 0xffffffff>
  at Gtk.Application.Run () <IL 0x00000, 0x0000b>
  at MonoDevelop.Ide.IdeApp.Run () [0x00000] in /home/fog/Workspaces/monodevelop/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/Ide.cs:376
  at MonoDevelop.Ide.IdeStartup.Run (MonoDevelop.Ide.MonoDevelopOptions) [0x00742] in /home/fog/Workspaces/monodevelop/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/IdeStartup.cs:281
  at MonoDevelop.Ide.IdeStartup.Main (string[],MonoDevelop.Ide.Extensions.IdeCustomizer) [0x000a3] in /home/fog/Workspaces/monodevelop/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/IdeStartup.cs:592
  at MonoDevelop.Startup.MonoDevelopMain.Main (string[]) [0x00000] in /home/fog/Workspaces/monodevelop/monodevelop/main/src/core/MonoDevelop.Startup/MonoDevelop.Startup/MonoDevelopMain.cs:39
  at (wrapper runtime-invoke) <Module>.runtime_invoke_int_object (object,intptr,intptr,intptr) <IL 0x00064, 0xffffffff>

"Timer-Scheduler"  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (System.Threading.WaitHandle,intptr,int,bool) <IL 0x0001c, 0xffffffff>
  at System.Threading.WaitHandle.WaitOne (int,bool) <0x00079>
  at System.Threading.WaitHandle.WaitOne (int) <0x0001b>
  at System.Threading.Timer/Scheduler.SchedulerThread () <0x0083b>
  at System.Threading.ThreadHelper.ThreadStart_Context (object) <0x00099>
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x0016e>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x00020>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object) <0x00059>
  at System.Threading.ThreadHelper.ThreadStart () <0x0002e>
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <IL 0x00056, 0xffffffff>

"Threadpool worker"

Thanks. I suspect this is the problem reported in issue #9 but here you have a good callstack which shows where the UI thread is stuck.

There does not seem to be two threads trying to do something on the UI thread, it is just the one thread which is stuck waiting for the event to be set by the DNX host. However there looks to be more thread information which was not posted since there last line has "Threadpool worker" but no call stack. Is there more callstacks after those posted? There might be a background thread trying to do something on the UI thread.

The call to Initialize should be moved off the UI thread so it cannot hang the IDE. However if that event is not being set then I would guess the project will not load properly, the thread may be stuck there forever, unless the problem is a background thread trying to run something on the UI thread.

No, that was the last line of the output. There are other places in the trace where there is a single "<threadpool thread>" without any other information (above "GUI Thread" for example).

If this helps, I created a new DNX console application - the UI still locks. Here is the complete stack trace:

"Threadpool worker"
"Timer-Scheduler"  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (System.Threading.WaitHandle,intptr,int,bool) <IL 0x0001c, 0xffffffff>
  at System.Threading.WaitHandle.WaitOne (int,bool) <0x00079>
  at System.Threading.WaitHandle.WaitOne (int) <0x0001b>
  at System.Threading.Timer/Scheduler.SchedulerThread () <0x0083b>
  at System.Threading.ThreadHelper.ThreadStart_Context (object) <0x00099>
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x0016e>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x00020>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object) <0x00059>
  at System.Threading.ThreadHelper.ThreadStart () <0x0002e>
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <IL 0x00056, 0xffffffff>

"Threadpool worker"
"<threadpool thread>"
"<unnamed thread>"  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) System.Threading.Thread.SleepInternal (int) <IL 0x0000d, 0xffffffff>
  at System.Threading.Thread.Sleep (int) <0x00016>
  at OmniSharp.ProcessExtensions.WatchProcesses () [0x0007c] in /home/fog/Workspaces/monodevelop/monodevelop-dnx-addin/src/MonoDevelop.Dnx/Omnisharp/Utilities/ProcessExtensions.cs:119
  at System.Threading.ThreadHelper.ThreadStart_Context (object) <0x00099>
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x0016e>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x00020>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object) <0x00059>
  at System.Threading.ThreadHelper.ThreadStart () <0x0002e>
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <IL 0x00056, 0xffffffff>

"Threadpool worker"
"<threadpool thread>"
"Threadpool worker"
"NuGet background dispatcher"  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (System.Threading.WaitHandle,intptr,int,bool) <IL 0x0001c, 0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <0x0005c>
  at MonoDevelop.PackageManagement.PackageManagementBackgroundDispatcher.RunDispatcher () [0x00055] in /home/fog/Workspaces/monodevelop/monodevelop/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement/PackageManagementBackgroundDispatcher.cs:67
  at System.Threading.ThreadHelper.ThreadStart_Context (object) <0x00099>
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x0016e>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x00020>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object) <0x00059>
  at System.Threading.ThreadHelper.ThreadStart () <0x0002e>
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <IL 0x00056, 0xffffffff>

"<unnamed thread>"  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) System.IO.InotifyWatcher.ReadFromFD (intptr,byte[],intptr) <IL 0x00026, 0xffffffff>
  at System.IO.InotifyWatcher.Monitor () <IL 0x0001e, 0x00067>
  at System.Threading.ThreadHelper.ThreadStart_Context (object) <0x00099>
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x0016e>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x00020>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object) <0x00059>
  at System.Threading.ThreadHelper.ThreadStart () <0x0002e>
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <IL 0x00056, 0xffffffff>

"Syntax highlighting"  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (System.Threading.WaitHandle,intptr,int,bool) <IL 0x0001c, 0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <0x0005c>
  at Mono.TextEditor.Highlighting.SyntaxModeService.ProcessQueue () [0x00062] in /home/fog/Workspaces/monodevelop/monodevelop/main/src/core/Mono.Texteditor/Mono.TextEditor.Highlighting/SyntaxModeService.cs:373
  at System.Threading.ThreadHelper.ThreadStart_Context (object) <0x00099>
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x0016e>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x00020>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object) <0x00059>
  at System.Threading.ThreadHelper.ThreadStart () <0x0002e>
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <IL 0x00056, 0xffffffff>

"Threadpool worker"
"GUI Thread"  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) System.Threading.Monitor.Monitor_wait (object,int) <IL 0x0000e, 0xffffffff>
  at System.Threading.Monitor.Wait (object,int) <0x00042>
  at System.Threading.ManualResetEventSlim.Wait (int,System.Threading.CancellationToken) <0x002f7>
  at System.Threading.ManualResetEventSlim.Wait () <0x00028>
  at OmniSharp.Dnx.DnxProjectSystem.Initalize () [0x000b5] in /home/fog/Workspaces/monodevelop/monodevelop-dnx-addin/src/MonoDevelop.Dnx/Omnisharp/Dnx/DnxProjectSystem.cs:418
  at MonoDevelop.Dnx.DnxProjectService.LoadDnxProjectSystem (MonoDevelop.Projects.Solution) [0x00042] in /home/fog/Workspaces/monodevelop/monodevelop-dnx-addin/src/MonoDevelop.Dnx/MonoDevelop.Dnx/DnxProjectService.cs:119
  at MonoDevelop.Dnx.DnxProjectService.OnSolutionLoaded (MonoDevelop.Projects.Solution) [0x00010] in /home/fog/Workspaces/monodevelop/monodevelop-dnx-addin/src/MonoDevelop.Dnx/MonoDevelop.Dnx/DnxProjectService.cs:91
  at MonoDevelop.Dnx.DnxProjectTemplateWizard/<CreateProject>c__AnonStorey0.<>m__1 () [0x0000c] in /home/fog/Workspaces/monodevelop/monodevelop-dnx-addin/src/MonoDevelop.Dnx/MonoDevelop.Dnx/DnxProjectTemplateWizard.cs:158
  at MonoDevelop.Core.Runtime/<RunInMainThread>c__AnonStorey0.<>m__0 (object) [0x00000] in /home/fog/Workspaces/monodevelop/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Core/Runtime.cs:331
  at MonoDevelop.Ide.DispatchService/GtkSynchronizationContext/<Post>c__AnonStorey0.<>m__0 (object,System.EventArgs) [0x00000] in /home/fog/Workspaces/monodevelop/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/DispatchService.cs:52
  at Gtk.Application/InvokeCB.Invoke () <IL 0x00012, 0x00021>
  at GLib.Timeout/TimeoutProxy.Handler () <IL 0x0000d, 0x0003f>
  at (wrapper native-to-managed) GLib.Timeout/TimeoutProxy.Handler () <IL 0x00031, 0xffffffff>
  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) Gtk.Application.gtk_main () <IL 0x0000e, 0xffffffff>
  at Gtk.Application.Run () <IL 0x00000, 0x0000b>
  at MonoDevelop.Ide.IdeApp.Run () [0x00000] in /home/fog/Workspaces/monodevelop/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/Ide.cs:376
  at MonoDevelop.Ide.IdeStartup.Run (MonoDevelop.Ide.MonoDevelopOptions) [0x00742] in /home/fog/Workspaces/monodevelop/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/IdeStartup.cs:281
  at MonoDevelop.Ide.IdeStartup.Main (string[],MonoDevelop.Ide.Extensions.IdeCustomizer) [0x000a3] in /home/fog/Workspaces/monodevelop/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/IdeStartup.cs:592
  at MonoDevelop.Startup.MonoDevelopMain.Main (string[]) [0x00000] in /home/fog/Workspaces/monodevelop/monodevelop/main/src/core/MonoDevelop.Startup/MonoDevelop.Startup/MonoDevelopMain.cs:39
  at (wrapper runtime-invoke) <Module>.runtime_invoke_int_object (object,intptr,intptr,intptr) <IL 0x00064, 0xffffffff>

The UI hang should be fixed.

I am interested to know what happens after you load a project with this fix. If the DNX host is not sending information back to the addin, which looks like it may be happening, then I would suspect that no dependency information is shown and you cannot do much with the project. So there may be another problem somewhere.

The UI doesn't hang anymore but one of the projects doesn't resolve dependency information. The project is a library that depends on dotnet5.4 and net451 instead of the usual dnx... for web projects (don't know if this helps).

Anything special about the projects in the solution? Library projects seem OK for me.

I tried creating new projects from scratch and everything works. The only special thing about the project that doesn't load is that it contains a lot of errors (I was in the middle of including old code from another project and refactoring it). I'll finish the refactoring and try loading it again.