Bug 7018 - 3.0.4.6 hot fix causes MonoDevelop to hang during use
Summary: 3.0.4.6 hot fix causes MonoDevelop to hang during use
Status: RESOLVED FEATURE
Alias: None
Product: Xamarin Studio
Classification: Desktop
Component: Text Editor ()
Version: 3.0.x
Hardware: Macintosh Mac OS
: Normal normal
Target Milestone: ---
Assignee: Mike Krüger
URL:
Depends on:
Blocks:
 
Reported: 2012-09-09 12:46 UTC by Michael Thwaite
Modified: 2012-11-27 10:04 UTC (History)
1 user (show)

Tags:
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:
Status:
RESOLVED FEATURE

Description Michael Thwaite 2012-09-09 12:46:56 UTC
Since applying the hot fix 3.0.4.6 over 3.0.4.5 on Mac OX X 10.8.1 Mono Develop has become sluggish during code completion and will often become unresponsive when saving open files. CPU will max out but the environment will recover within 2 - 20 seconds.
Comment 1 Mike Krüger 2012-09-10 03:33:10 UTC
Can you try to gixe a kill -QUIT <pid> output ?
Comment 2 Michael Thwaite 2012-09-10 08:40:53 UTC
Nothing from Kill -QUIT 424 - seems to be ignored by the app, though a straight 'Kill 424' quits as soon as the app becomes responsive.

Right now, I have a two core cpu with cpu at 100% whilst the app is at rest but it's jumping to 200% during save operations when it becomes unresponsive.
Comment 3 Mikayla Hutchinson [MSFT] 2012-09-10 12:07:09 UTC
The kill -QUIT output is printed not to the terminal in which you run the kill command, but to the MonoDevelop log file, which you can find in ~/Library/Logs/MonoDevelop-3.0.
Comment 4 Michael Thwaite 2012-09-18 09:23:07 UTC
Ah, thanks:


Starting MonoDevelop
   Loading Workbench
ERROR [2012-09-18 09:21:06Z]: ANDROID: Error finding Mono for Android SDK
System.ArgumentNullException: Argument cannot be null.
Parameter name: path1
  at System.IO.Path.Combine (System.String path1, System.String path2) [0x00000] in <filename unknown>:0 
  at Xamarin.AndroidTools.MonoDroidSdkUnix.FindFramework (System.String sdk) [0x00000] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/md-addins/MonoDevelop.MonoDroid/external/androidtools/Xamarin.AndroidTools/Sdks/MonoDroidSdkUnix.cs:51 
  at Xamarin.AndroidTools.MonoDroidSdkBase.Initialize (System.String mfaSdkPath, System.String mfaFrameworkPath) [0x0000e] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/md-addins/MonoDevelop.MonoDroid/external/androidtools/Xamarin.AndroidTools/Sdks/MonoDroidSdkBase.cs:56 
  at Xamarin.AndroidTools.MonoDroidSdk.Refresh (System.String mfaSdkPath, System.String mfaFrameworkPath) [0x00037] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/md-addins/MonoDevelop.MonoDroid/external/androidtools/Xamarin.AndroidTools/MonoDroidSdk.cs:120 
      Initializing Main Window
WARNING [2012-09-18 09:21:08Z]: First run content index not found.
MacDir exists
Basedir=/Library/Frameworks/Mono.framework/Versions/2.10.9/lib/monodoc
Full thread dump:

"IO Threadpool worker" tid=0x0xb07f9000 this=0x0x6a38dc8 thread handle 0x422 state : interrupted state owns ()

"Threadpool worker" tid=0x0xb0f89000 this=0x0xabab000 thread handle 0x478 state : interrupted state owns ()

"Threadpool worker" tid=0x0xb110d000 this=0x0xc869d20 thread handle 0x47c state : interrupted state owns ()

"Threadpool worker" tid=0x0xb097d000 this=0x0x5e98150 thread handle 0x425 state : interrupted state owns ()

"Threadpool worker" tid=0x0xb07b5000 this=0x0x63b5a80 thread handle 0x420 state : interrupted state owns ()

"Threadpool worker" tid=0x0xb0d85000 this=0x0xec0e2a0 thread handle 0x468 state : interrupted state owns ()

"Threadpool worker" tid=0x0xb0e87000 this=0x0xcb78000 thread handle 0x46b state : interrupted state owns ()

"Threapool monitor" tid=0x0xb06b3000 this=0x0x63b5b28 thread handle 0x41f state : interrupted state owns ()

"Threadpool worker" tid=0x0xb0c83000 this=0x0xc5fb690 thread handle 0x465 state : interrupted state owns ()

"<threadpool thread>" tid=0x0xb07d7000 this=0x0x6a38e70 thread handle 0x421 state : interrupted state owns ()

"Syntax highlighting" tid=0x0xb0a7f000 this=0x0x5e987e0 thread handle 0x443 state : interrupted state owns ()
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (System.Threading.WaitHandle,intptr,int,bool) <IL 0x00030, 0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <IL 0x00023, 0x0005f>
  at Mono.TextEditor.Highlighting.SyntaxModeService.ProcessQueue () [0x00047] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/src/core/Mono.Texteditor/Mono.TextEditor.Highlighting/SyntaxModeService.cs:327
  at System.Threading.Thread.StartInternal () <IL 0x00021, 0x00059>
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <IL 0x0004e, 0xffffffff>

"Background dispatcher" tid=0x0xb040b000 this=0x0x7b8888 thread handle 0x40b state : interrupted state owns ()
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (System.Threading.WaitHandle,intptr,int,bool) <IL 0x00030, 0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <IL 0x00023, 0x0005f>
  at MonoDevelop.Ide.DispatchService.backgroundDispatcher () [0x00055] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/DispatchService.cs:303
  at System.Threading.Thread.StartInternal () <IL 0x00021, 0x00059>
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <IL 0x0004e, 0xffffffff>

"Autosave" tid=0x0xb0b81000 this=0x0x999bdc8 thread handle 0x448 state : interrupted state owns ()
  at (wrapper managed-to-native) System.Threading.WaitHandle.WaitOne_internal (System.Threading.WaitHandle,intptr,int,bool) <IL 0x00030, 0xffffffff>
  at System.Threading.WaitHandle.WaitOne () <IL 0x00023, 0x0005f>
  at MonoDevelop.SourceEditor.AutoSave.AutoSaveThread () [0x00005] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/AutoSave.cs:137
  at System.Threading.Thread.StartInternal () <IL 0x00021, 0x00059>
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <IL 0x0004e, 0xffffffff>

"<unnamed thread>" tid=0x0xb0691000 this=0x0x63b5dc8 thread handle 0x41c state : interrupted state owns ()
  at (wrapper managed-to-native) System.Threading.Thread.Sleep_internal (int) <IL 0x00021, 0xffffffff>
  at System.Threading.Thread.Sleep (int) <IL 0x00018, 0x00017>
  at System.IO.KeventWatcher.Monitor () <IL 0x000bb, 0x0023b>
  at System.Threading.Thread.StartInternal () <IL 0x00021, 0x00059>
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <IL 0x0004e, 0xffffffff>

"GUI Thread" tid=0x0xac070a28 this=0x0x7b8f18 thread handle 0x403 state : not waiting owns ()
  at (wrapper managed-to-native) System.Diagnostics.StackFrame.get_frame_info (int,bool,System.Reflection.MethodBase&,int&,int&,string&,int&,int&) <IL 0x0002c, 0xffffffff>
  at System.Diagnostics.StackFrame..ctor (int,bool) <IL 0x0003c, 0x0008b>
  at System.Diagnostics.StackTrace.init_frames (int,bool) <IL 0x00035, 0x00077>
  at System.Diagnostics.StackTrace..ctor (int,bool) <IL 0x00009, 0x0001b>
  at System.Environment.get_StackTrace () <IL 0x00002, 0x00027>
  at ICSharpCode.NRefactory.CSharp.AstFormattingVisitor/TextReplaceAction..ctor (int,int,string) [0x00027] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/contrib/ICSharpCode.NRefactory.CSharp/Formatter/AstFormattingVisitor.cs:61
  at ICSharpCode.NRefactory.CSharp.AstFormattingVisitor.AddChange (int,int,string) [0x00013] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/contrib/ICSharpCode.NRefactory.CSharp/Formatter/AstFormattingVisitor.cs:1324
  at ICSharpCode.NRefactory.CSharp.AstFormattingVisitor.FixIndentation (ICSharpCode.NRefactory.TextLocation,int) [0x00080] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/contrib/ICSharpCode.NRefactory.CSharp/Formatter/AstFormattingVisitor.cs:2137
  at ICSharpCode.NRefactory.CSharp.AstFormattingVisitor.FixIndentation (ICSharpCode.NRefactory.TextLocation) [0x00000] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/contrib/ICSharpCode.NRefactory.CSharp/Formatter/AstFormattingVisitor.cs:2123
  at ICSharpCode.NRefactory.CSharp.AstFormattingVisitor.VisitPropertyDeclaration (ICSharpCode.NRefactory.CSharp.PropertyDeclaration) [0x00326] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/contrib/ICSharpCode.NRefactory.CSharp/Formatter/AstFormattingVisitor.cs:554
  at ICSharpCode.NRefactory.CSharp.PropertyDeclaration.AcceptVisitor (ICSharpCode.NRefactory.CSharp.IAstVisitor) [0x00000] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/contrib/ICSharpCode.NRefactory.CSharp/Ast/TypeMembers/PropertyDeclaration.cs:70
  at ICSharpCode.NRefactory.CSharp.AstFormattingVisitor.VisitChildren (ICSharpCode.NRefactory.CSharp.AstNode) [0x00065] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/contrib/ICSharpCode.NRefactory.CSharp/Formatter/AstFormattingVisitor.cs:132
  at ICSharpCode.NRefactory.CSharp.DepthFirstAstVisitor.VisitTypeDeclaration (ICSharpCode.NRefactory.CSharp.TypeDeclaration) [0x00000] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/contrib/ICSharpCode.NRefactory.CSharp/Ast/DepthFirstAstVisitor.cs:134
  at ICSharpCode.NRefactory.CSharp.AstFormattingVisitor.VisitTypeDeclaration (ICSharpCode.NRefactory.CSharp.TypeDeclaration) [0x000df] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/contrib/ICSharpCode.NRefactory.CSharp/Formatter/AstFormattingVisitor.cs:330
  at ICSharpCode.NRefactory.CSharp.TypeDeclaration.AcceptVisitor (ICSharpCode.NRefactory.CSharp.IAstVisitor) [0x00000] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/contrib/ICSharpCode.NRefactory.CSharp/Ast/GeneralScope/TypeDeclaration.cs:107
  at ICSharpCode.NRefactory.CSharp.AstFormattingVisitor.VisitChildren (ICSharpCode.NRefactory.CSharp.AstNode) [0x00065] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/contrib/ICSharpCode.NRefactory.CSharp/Formatter/AstFormattingVisitor.cs:132
  at ICSharpCode.NRefactory.CSharp.DepthFirstAstVisitor.VisitCompilationUnit (ICSharpCode.NRefactory.CSharp.CompilationUnit) [0x00000] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/contrib/ICSharpCode.NRefactory.CSharp/Ast/DepthFirstAstVisitor.cs:49
  at ICSharpCode.NRefactory.CSharp.AstFormattingVisitor.VisitCompilationUnit (ICSharpCode.NRefactory.CSharp.CompilationUnit) [0x00000] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/contrib/ICSharpCode.NRefactory.CSharp/Formatter/AstFormattingVisitor.cs:204
  at ICSharpCode.NRefactory.CSharp.CompilationUnit.AcceptVisitor (ICSharpCode.NRefactory.CSharp.IAstVisitor) [0x00000] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/contrib/ICSharpCode.NRefactory.CSharp/Ast/CompilationUnit.cs:112
  at MonoDevelop.CSharp.Formatting.OnTheFlyFormatter.GetFormattingChanges (MonoDevelop.Projects.Policies.PolicyContainer,System.Collections.Generic.IEnumerable`1<string>,MonoDevelop.Ide.Gui.Document,string,ICSharpCode.NRefactory.TypeSystem.DomRegion) [0x000db] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/OnTheFlyFormatter.cs:150
  at MonoDevelop.CSharp.Formatting.OnTheFlyFormatter.Format (MonoDevelop.Projects.Policies.PolicyContainer,System.Collections.Generic.IEnumerable`1<string>,MonoDevelop.Ide.Gui.Document,int,int,bool) [0x001d1] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/OnTheFlyFormatter.cs:200
  at MonoDevelop.CSharp.Formatting.OnTheFlyFormatter.Format (MonoDevelop.Ide.Gui.Document,int,int,bool) [0x0002c] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/OnTheFlyFormatter.cs:64
  at MonoDevelop.CSharp.Formatting.CSharpFormatter.OnTheFlyFormat (MonoDevelop.Ide.Gui.Document,int,int) [0x00000] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/CSharpFormatter.cs:79
  at MonoDevelop.Ide.CodeFormatting.CodeFormatter.OnTheFlyFormat (MonoDevelop.Ide.Gui.Document,int,int) [0x00028] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeFormatting/CodeFormatter.cs:102
  at MonoDevelop.SourceEditor.SourceEditorView.Save (string,System.Text.Encoding) [0x00112] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorView.cs:418
  at MonoDevelop.SourceEditor.SourceEditorView.Save (string) [0x00000] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorView.cs:384
  at MonoDevelop.Ide.Gui.Document.Save () [0x00136] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Document.cs:312
  at MonoDevelop.Ide.Gui.ViewCommandHandlers.OnSaveFile () [0x00000] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/ViewCommandHandlers.cs:71
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <IL 0x0004e, 0xffffffff>
  at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) <IL 0x00030, 0xffffffff>
  at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) <IL 0x000db, 0x00147>
  at System.Reflection.MethodBase.Invoke (object,object[]) <IL 0x00006, 0x00022>
  at MonoDevelop.Components.Commands.CommandHandlerInfo.Run (object,MonoDevelop.Components.Commands.Command) [0x00029] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Commands/CommandManager.cs:1908
  at MonoDevelop.Components.Commands.CommandManager/<DispatchCommand>c__AnonStorey6E.<>m__B9 () [0x0003d] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Commands/CommandManager.cs:1045
  at MonoDevelop.Components.Commands.CommandManager.DispatchCommand (object,object,object,MonoDevelop.Components.Commands.CommandSource) [0x0029e] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Commands/CommandManager.cs:1062
  at MonoDevelop.Components.Commands.CommandToolButton.OnClicked () [0x00017] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Commands/CommandToolButton.cs:72
  at Gtk.ToolButton.clicked_cb (intptr) <IL 0x0000e, 0x00059>
  at (wrapper native-to-managed) Gtk.ToolButton.clicked_cb (intptr) <IL 0x0001d, 0xffffffff>
  at (wrapper managed-to-native) Gtk.Application.gtk_main () <IL 0x00022, 0xffffffff>
  at Gtk.Application.Run () <IL 0x00000, 0x0000b>
  at MonoDevelop.Ide.IdeApp.Run () [0x00000] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/Ide.cs:391
  at MonoDevelop.Ide.IdeStartup.Run (MonoDevelop.Ide.MonoDevelopOptions) [0x00683] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/IdeStartup.cs:272
  at MonoDevelop.Ide.IdeStartup.Main (string[]) [0x0004f] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/IdeStartup.cs:503
  at MonoDevelop.Startup.MonoDevelopMain.Main (string[]) [0x00000] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-3.0.4-branch/0cf43d76/source/monodevelop/main/src/core/MonoDevelop.Startup/MonoDevelop.Startup/MonoDevelopMain.cs:16
  at (wrapper runtime-invoke) <Module>.runtime_invoke_int_object (object,intptr,intptr,intptr) <IL 0x0005c, 0xffffffff>
Comment 5 Michael Thwaite 2012-09-19 08:16:28 UTC
Added output of Kill command in log.

The problem seems to be centered around the saving of large files - a 60,000 line imported wsdl caused complete lookup. It may have come out at the other end but previous builds handled large files ok.

And, there seems to be a tie into the slow response of the code completion feature. Is this an issue with the background compiler? (laymans guess!)

Thanks.
Comment 6 Michael Thwaite 2012-09-19 08:24:48 UTC
Initial look at 3.0.4.7 still seems to shows the issue.
Comment 7 Michael Thwaite 2012-09-19 08:45:24 UTC
Sorry - code completion is looking much better. Save is hanging but, working with it today doesn't have the stutters in code completion that had me out-pacing it yesterday - thanks!
Comment 8 Mike Krüger 2012-11-26 03:19:00 UTC
Turn off the format file on save feature - that should speed up things a lot.

Can you give me the file, I'll try to improve the formatting performance.
Comment 9 Michael Thwaite 2012-11-27 10:04:51 UTC
I've switched from format on save to aggressively format during editing.

Right now, the version that I'm running is not locking up as the previous version did. It may be resolved.

Thanks,
Michael.