How to recover from MonoDevelop crashing on launch (OSX)?

After upgrading my OSX svn client to 1.7, my MonoDevelop started crashing either just after loading the last open project, or just after the application has been launched. Seems to be random which one happens.

The last open project was previously checked out with svn client version 1.6.

  • Reinstalling Unity and MonoDevelop
    doesn’t help.
  • Also, checking out a fresh copy of the whole Unity project
    from svn doesn’t help.
  • Deleting MonoDevelop solution/project files to prevent opening the crashing solution doesn’t get me anywhere, because opening the re-created solution still crashes.

I would appreciate any help on getting my MonoDevelop working again. Can I e.g. prevent MonoDevelop from using svn (I don’t really need that functionality anyways)?

Here’s the exception thrown in case MonoDevelop doesn’t crash immediately:

MonoDevelop.VersionControl.Subversion.SubversionException: sqlite: library routine called out of sequence
  at MonoDevelop.VersionControl.Subversion.Unix.SvnClient.CheckError (IntPtr error) [0x0007e] in /BuildAgent/work/cdfd0d7b6e2d2330/monodevelop/main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion.Unix/MonoDevelop.VersionControl.Subversion.Unix/SvnClient.cs:970 
  at MonoDevelop.VersionControl.Subversion.Unix.SvnClient+<Status>c__Iterator0.MoveNext () [0x000a3] in /BuildAgent/work/cdfd0d7b6e2d2330/monodevelop/main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion.Unix/MonoDevelop.VersionControl.Subversion.Unix/SvnClient.cs:391 
  at MonoDevelop.VersionControl.Subversion.SubversionVersionControl.GetDirStatus (MonoDevelop.VersionControl.Repository repo, FilePath localPath, Boolean getRemoteStatus) [0x00065] in /BuildAgent/work/cdfd0d7b6e2d2330/monodevelop/main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion/SubversionVersionControl.cs:140 
  at MonoDevelop.VersionControl.Subversion.SubversionVersionControl.GetVersionInfo (MonoDevelop.VersionControl.Repository repo, FilePath localPath, Boolean getRemoteStatus) [0x00025] in /BuildAgent/work/cdfd0d7b6e2d2330/monodevelop/main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion/SubversionVersionControl.cs:101 
  at MonoDevelop.VersionControl.Subversion.SubversionRepository+<OnGetVersionInfo>c__Iterator0.MoveNext () [0x00059] in /BuildAgent/work/cdfd0d7b6e2d2330/monodevelop/main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion/MonoDevelop.VersionControl.Subversion/SubversionRepository.cs:97 
  at System.Linq.Enumerable.First[VersionInfo] (IEnumerable`1 source, System.Func`2 predicate, Fallback fallback) [0x00000] in <filename unknown>:0 
  at System.Linq.Enumerable.FirstOrDefault[VersionInfo] (IEnumerable`1 source) [0x00000] in <filename unknown>:0 
  at MonoDevelop.VersionControl.Repository.GetVersionInfo (FilePath localPath, Boolean getRemoteStatus) [0x00000] in /BuildAgent/work/cdfd0d7b6e2d2330/monodevelop/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/Repository.cs:154 
  at MonoDevelop.VersionControl.VersionControlNodeExtension.GetVersionInfo (MonoDevelop.VersionControl.Repository vc, FilePath filepath, System.Object dataObject, Boolean allowCacheMiss) [0x0014e] in /BuildAgent/work/cdfd0d7b6e2d2330/monodevelop/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/VersionControlNodeExtension.cs:190 
  at MonoDevelop.VersionControl.VersionControlNodeExtension+<AddFolderOverlay>c__AnonStorey28.<>m__6A (System.Object x) [0x00000] in /BuildAgent/work/cdfd0d7b6e2d2330/monodevelop/main/src/addins/VersionControl/MonoDevelop.VersionControl/MonoDevelop.VersionControl/VersionControlNodeExtension.cs:113

Solved it myself:

  1. Delete the crashing MonoDevelop solution and project files to prevent MonoDevelop from opening them.
  2. Disable Subversion add-in: MonoDevelop-Unity → Add-in Manager… → Installed → Version Control → Subversion support → Disable

Now svn is disabled of course, which might not be satisfactory for everyone, but works for me.

Hold down the Option key while starting Unity. (Alt key in Windows.) This will open the project selection window instead of trying to open the last project.

If it still crashes, review the editor log file: Unity - Manual: Log files