SourceTree 2.3.1.0 fails to start on Windows 10
Asked by veksler:

I've tried uninstalling, deleting all folders in AppData\\Local\\Atlassian\\ \& AppData\\Local\\SourceTree\* and reinstalling.

Here's the error:

ERROR \[2017-09-21 09:52:45,165\] \[1\] \[SourceTree.App\] \[.ctor\] - finish EnsureSquirrelExecutionStubIsCopied  
ERROR \[2017-09-21 09:52:45,278\] \[1\] \[SourceTree.App\] \[OnStartup\] - Failed to start  
System.NullReferenceException: Object reference not set to an instance of an object.  
at SourceTree.Notifications.NotificationsManager.SetOwner(NotificationDialogWindow notificationWindow)  
at SourceTree.Notifications.NotificationsManager.ShowNotificationDialog\[T\](NotificationDialogWindow notificationWindow, Tuple\`2 customAction, VistaTaskDialogIcon icon)  
at SourceTree.Notifications.NotificationsManager.ShowNotificationDialog\[T\](String title, String message, Tuple\`2 customAction, String cancelLabel, String suppressionSetting, Action\`1 suppressionChangedAction, Object contentControl, String contentCommandLabel, Action contentAction)  
at SourceTree.Notifications.NotificationsManager.ShowNotificationDialogWithYesConfirmation(String title, String message, String details)  
at SourceTree.Configuration.WpfSpellCheckerPreFlightCheck.Run()  
at SourceTree.AppRoot.RunPreFlightChecks()  
at SourceTree.AppRoot.OnStartup(StartupEventArgs e)  
at SourceTree.App.OnStartup(StartupEventArgs e)


Answers:
author: Mike Corsaro
body: Hello! This is a known issue that will be fixed pretty soon. Please see this thread: <https://community.atlassian.com/t5/Sourcetree-questions/SourceTree-will-no-longer-start/qaq-p/642054>

Thanks!

comments: author: Ana Retamal
body: Hi everyone! As an update for this topic, we have just started the progressive rollout of Sourcetree v2.3.5.0 which includes a fix for this issue. You should be prompted to upgrade sometime over the next 14 days or, alternatively, you can download the update directly from <https://downloads.atlassian.com/software/sourcetree/windows/ga/SourceTreeSetup-2.3.5.0.exe>

Have a nice day!

Ana


author: eli_boyarski
body: Thanks for the update Ana! 2.3.5.0 fixed the problem for me.


author: Matthew Lieder
body: The download on the main site is still 2.3.1.0 BTW


author: veksler
body: Also tried deleting TEMP folder and rebooting.

Running Windows 10 Version 1703 (Build 15063)

comments: author: Blake Pell
body: I had this exact same issue with the exact same exception. I had to go back to version 2.1.2.5 after uninstalling and clearing out all of the AppData folders.


author: Andrew McInnes
body: The latest update has corrupted the user.config file:

ERROR \[2017-10-24 11:12:04,950\] \[1\] \[SourceTree.App\] \[SetStartupJIT\] - Startup JIT encountered an error...  
System.Configuration.ConfigurationErrorsException: '.', hexadecimal value 0x00, is an invalid character. Line 15, position 1. (C:\\Users\\Your Name\\AppData\\Local\\Atlassian\\SourceTree.exe_Url_m4ivkf15eougxqtrrllkpk35k320qcmm\\2.3.1.0\\user.config line 15) ---\> System.Xml.XmlException: '.', hexadecimal value 0x00, is an invalid character. Line 15, position 1.  
at System.Xml.XmlTextReaderImpl.Throw(Exception e)  
at System.Xml.XmlTextReaderImpl.ParseText(Int32\& startPos, Int32\& endPos, Int32\& outOrChars)  
at System.Xml.XmlTextReaderImpl.ParseText()  
at System.Xml.XmlTextReaderImpl.ParseElementContent()  
at System.Xml.XmlTextReaderImpl.Skip()  
at System.Configuration.XmlUtil.StrictSkipToNextElement(ExceptionAction action)  
at System.Configuration.BaseConfigurationRecord.ScanSectionsRecursive(XmlUtil xmlUtil, String parentConfigKey, Boolean inLocation, String locationSubPath, OverrideModeSetting overrideMode, Boolean skipInChildApps)  
at System.Configuration.BaseConfigurationRecord.ScanSectionsRecursive(XmlUtil xmlUtil, String parentConfigKey, Boolean inLocation, String locationSubPath, OverrideModeSetting overrideMode, Boolean skipInChildApps)  
at System.Configuration.BaseConfigurationRecord.ScanSections(XmlUtil xmlUtil)  
at System.Configuration.BaseConfigurationRecord.InitConfigFromFile()  
--- End of inner exception stack trace ---  
at System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean ignoreLocal)  
at System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(ConfigurationSchemaErrors schemaErrors)  
at System.Configuration.Configuration..ctor(String locationSubPath, Type typeConfigHost, Object\[\] hostInitConfigurationParams)  
at System.Configuration.ClientConfigurationHost.OpenExeConfiguration(ConfigurationFileMap fileMap, Boolean isMachine, ConfigurationUserLevel userLevel, String exePath)  
at System.Configuration.ConfigurationManager.OpenExeConfigurationImpl(ConfigurationFileMap fileMap, Boolean isMachine, ConfigurationUserLevel userLevel, String exePath, Boolean preLoad)  
at SourceTree.App.SetStartupJIT()

Basically about 12 lines down in the user.config file the config ends with a row of nulls.

I fixed this by copying the contents of a user.config file from a previous version and replacing it.

Atlassian do you do any QA before you drop a release, like the time the popup modal test was rolled out as an option in the view menu and it would display 50 test popups?