Fix for Quicken startup failure due to .NET crash from Color Management Setting

mxb
mxb Member
Posting this to hopefully save someone else a few hours of digging, and/or calls to Quicken Support/Chat. I've included the backtrace info and event error codes to make this easier for forum search to match.

(Quicken folks, this is the issue behind Ticket T1-IN-9870527.)

Problem Description:
Quicken would crash without allowing the user to interact with it. It would display
the "Splash screen"/logo, then start drawing the main ledger pane, filling in the
window's title bar, but not displaying any contents. Then it would crash,
and bring up the Quicken Error Reporting window. All in less than 10 seconds.

I followed the instructions for removing and re-installing Quicken, renaming the data file,
running without a data file, etc. Crashing continued. Contacted Quicken Chat, and they
suggested verifying the QDF file by holding Ctrl while launching Quicken. While this did
allow the program to start, and I could select a file for verification, it would crash during verification just as before.

Crash Details: Look for details in the Windows Event Viewer.
1) Fire up the Event Viewer. In Windows 10, click on the Start button, and enter "Event Viewer".
Press Enter to launch the Event Viewer App.
2) In the Event Viewer's left pane, flip down "Windows Logs"
3) Under "Windows Logs" Click on "Application"
4) In the Middle "Application" pane, look in the event list for an event with the following values in the listed columns:
Level: Error
Source: .NET Runtime
Event ID: 1026
5) Under the event list, the "General" tab showed the following information:
Application: qw.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ArithmeticException

Exception Info: System.OverflowException
at System.Windows.Media.Imaging.ColorConvertedBitmap.FinalizeCreation()
at System.Windows.Media.Imaging.ColorConvertedBitmap..ctor(System.Windows.Media.Imaging.BitmapSource, System.Windows.Media.ColorContext, System.Windows.Media.ColorContext, System.Windows.Media.PixelFormat)
at System.Windows.Media.Imaging.BitmapSource.CreateCachedBitmap(System.Windows.Media.Imaging.BitmapFrame, System.Windows.Media.Imaging.BitmapSourceSafeMILHandle, System.Windows.Media.Imaging.BitmapCreateOptions, System.Windows.Media.Imaging.BitmapCacheOption, System.Windows.Media.Imaging.BitmapPalette)
at System.Windows.Media.Imaging.BitmapFrameDecode.FinalizeCreation()
at System.Windows.Media.Imaging.BitmapFrameDecode..ctor(Int32, System.Windows.Media.Imaging.BitmapCreateOptions, System.Windows.Media.Imaging.BitmapCacheOption, System.Windows.Media.Imaging.BitmapDecoder)
at System.Windows.Media.Imaging.BitmapDecoder.SetupFrames(System.Windows.Media.Imaging.BitmapDecoder, System.Collections.ObjectModel.ReadOnlyCollection`1<System.Windows.Media.Imaging.BitmapFrame>)
at System.Windows.Media.Imaging.BitmapDecoder.get_Frames()
at System.Windows.Media.Imaging.BitmapFrame.CreateFromUriOrStream(System.Uri, System.Uri, System.IO.Stream, System.Windows.Media.Imaging.BitmapCreateOptions, System.Windows.Media.Imaging.BitmapCacheOption, System.Net.Cache.RequestCachePolicy)
at System.Windows.Media.ImageSourceConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext, System.Globalization.CultureInfo, System.Object)
at System.Windows.Baml2006.TypeConverterMarkupExtension.ProvideValue(System.IServiceProvider)
at MS.Internal.Xaml.Runtime.ClrObjectRuntime.CallProvideValue(System.Windows.Markup.MarkupExtension, System.IServiceProvider)

System.Windows.Markup.XamlParseException
at System.Windows.FrameworkTemplate.LoadTemplateXaml(System.Xaml.XamlReader, System.Xaml.XamlObjectWriter)
at System.Windows.FrameworkTemplate.LoadTemplateXaml(System.Xaml.XamlObjectWriter)
at System.Windows.FrameworkTemplate.LoadOptimizedTemplateContent(System.Windows.DependencyObject, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector, System.Collections.Generic.List`1<System.Windows.DependencyObject>, System.Windows.UncommonField`1<System.Collections.Hashtable>)
at System.Windows.FrameworkTemplate.LoadContent(System.Windows.DependencyObject, System.Collections.Generic.List`1<System.Windows.DependencyObject>)
at System.Windows.StyleHelper.ApplyTemplateContent(System.Windows.UncommonField`1<System.Collections.Specialized.HybridDictionary[]>, System.Windows.DependencyObject, System.Windows.FrameworkElementFactory, Int32, System.Collections.Specialized.HybridDictionary, System.Windows.FrameworkTemplate)
at System.Windows.FrameworkTemplate.ApplyTemplateContent(System.Windows.UncommonField`1<System.Collections.Specialized.HybridDictionary[]>, System.Windows.FrameworkElement)
at System.Windows.FrameworkElement.ApplyTemplate()
at System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)
at System.Windows.UIElement.Measure(System.Windows.Size)
at System.Windows.ContextLayoutManager.UpdateLayout()
at System.Windows.UIElement.UpdateLayout()
at System.Windows.Interop.HwndSource.SetLayoutSize()
at System.Windows.Interop.HwndSource.set_RootVisualInternal(System.Windows.Media.Visual)
at System.Windows.Interop.HwndSource.set_RootVisual(System.Windows.Media.Visual)
at QuickenWindow.ViewModels.MainViewModel.OnUserRegistrationIntroRequest(System.Object, Quicken.Interface.App.RegistrationIntroEventArgs)
at QuickenInteropNS.CQWAppManager.raise_RegIntroEvent(System.Object, Quicken.Interface.App.RegistrationIntroEventArgs)
at QuickenInteropNS.CQWAppManager.handleRegistrationIntro(System.Object, Quicken.Interface.App.RegistrationIntroEventArgs)
at QuickenInteropNS.CQMainManager.raise_RegistrationProcessIntro(System.Object, Quicken.Interface.App.RegistrationIntroEventArgs)
at QuickenInteropNS.CQMainManager.FireRegistrationIntro(Void (ProdRegIntroRetObj*), Void*)
at <Module>.QMainEvents.RegistrationProcessIntro(Void (ProdRegIntroRetObj*), Void*)
at <Module>._WinMainCRTStartup()

Diagnosis:
This appears to be a crash in the .NET framework when it's trying to decode a bitmap.

Some digging through Google (for Bitmap FinalizeCreation Overflowexception) yielded
this link, describing a similar crash and offering a solution:
https://localjoost.github.io/Crash-in-image-creation-at-System.Windows.Media.Imaging.ColorConvertedBitmap.FinalizeCreation/
Apparently the display's Color Management Profile setting can cause the .NET framework to crash.
Changing the setting to the default will eliminate the crash.

The Fix:
1) Click on the Windows/Start button
2) Enter: Color Management and press enter. This should bring up the Color Management control panel.
3) Click the Advanced Tab.
4) Look at the setting for "Device Profile".
For my display, "sRGB virtual device model profile" was the setting.
5) Select the "system default" profile from the "Device Profile" dropdown.
For my display, this was "System default (sRGB IEC61966-2.1)"
6) Click on the "Close" button.

After this setting is changed, Quicken can be launched without crashing.

Comments

This discussion has been closed.