Event viewer shows
Application: Sonos.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(BitmapSource source, ColorContext sourceColorContext, ColorContext destinationColorContext, PixelFormat format)
at System.Windows.Media.Imaging.BitmapImage.FinalizeCreation()
at System.Windows.Media.Imaging.BitmapImage.EndInit()
at Sonos.Controller.Desktop.SCLib.ViewModel.Artwork.ArtworkDataEventSink.GenerateEventArgs(SCIArtworkData sender)
at Sonos.Controller.Desktop.SCLib.EventWrapper`2.OnEvent(TSender sender, EventHandler`1 handler)
at Sonos.Controller.Desktop.SCLib.EventWrapper`2.add_Event(EventHandler`1 value)
at Sonos.Controller.Desktop.SCLib.ViewModel.Artwork.AbstractArtItem.Initialize(ArtworkDataEventSink artworkData, ImageSource initialArtwork, SCAlbumArtType artType, String artUrl)
at Sonos.Controller.Desktop.SCLib.ViewModel.Artwork.BrowseArtItem.Initialize(ArtworkDataEventSink artworkData, ImageSource placeholderArtwork, String trackNumber, Boolean holdSpace, Boolean useSmallerSize, SCAlbumArtType artType, String artUrl)
at Sonos.Controller.Desktop.SCLib.ViewModel.Artwork.ArtworkFinder.GetBrowseArtItem(ArtworkDataEventSink artworkData, ImageSource placeholderArtwork, String trackNumber, Boolean holdSpace, Boolean useSmallerSize, SCAlbumArtType artType, String artUrl)
at Sonos.Controller.Desktop.SCLib.ViewModel.Artwork.ArtworkFinder.GenerateBrowseArtItem(FrameworkElement resourceFinder, String url, SCAlbumArtType artType, SCLogoArtSize logoSize, Boolean isInfoView)
at Sonos.Controller.Desktop.SCLib.ViewModel.Artwork.ArtworkFinder.FindBrowseArt(SCIBrowseItem browseItem, FrameworkElement resourceFinder)
at Sonos.Controller.Desktop.SCLib.ViewModel.BrowseItemWrapper.DownloadArt()
at Sonos.Controller.Desktop.SCLib.ViewModel.BrowseItemWrapper.ItemChanged_Event(Object sender, BrowseItemEventArgs e)
at Sonos.Controller.Desktop.SCLib.EventWrapper`2.OnEvent(TSender sender, EventHandler`1 handler)
at Sonos.Controller.Desktop.SCLib.EventWrapper`2.add_Event(EventHandler`1 value)
at Sonos.Controller.Desktop.SCLib.ViewModel.BrowseItemWrapper.UpdateEventSink()
at Sonos.Controller.Desktop.SCLib.ViewModel.BrowseItemWrapper.set_BrowseItem(SCIBrowseItem value)
at Sonos.Controller.Desktop.SCLib.ViewModel.BrowseItemCollection.GetWrapper(UInt32 index, Boolean loadData)
at Sonos.Controller.Desktop.SCLib.ViewModel.BrowseItemCollection.LoadWrapperWithData(Int32 i, BrowseItemWrapper wrapperToChange)
at Sonos.Controller.Desktop.Utilities.CustomVirtualizingStackPanel.FillWithData(BrowseItemWrapper currentWrapper, BrowseItemCollection itemCollection)
at Sonos.Controller.Desktop.Utilities.CustomVirtualizingStackPanel.RefreshWrapper(BrowseItemWrapper wrapper)
at Sonos.Controller.Desktop.Utilities.CustomVirtualizingStackPanel.OnVisualChildrenChanged(DependencyObject visualAdded, DependencyObject visualRemoved)
at System.Windows.Media.Visual.AddVisualChild(Visual child)
at System.Windows.Media.VisualCollection.ConnectChild(Int32 index, Visual value)
at System.Windows.Media.VisualCollection.Add(Visual visual)
at System.Windows.Controls.UIElementCollection.AddInternal(UIElement element)
at System.Windows.Controls.VirtualizingStackPanel.InsertContainer(Int32 childIndex, UIElement container, Boolean isRecycled)
at System.Windows.Controls.VirtualizingStackPanel.AddContainerFromGenerator(Int32 childIndex, UIElement child, Boolean newlyRealized, Boolean isBeforeViewport)
at System.Windows.Controls.VirtualizingStackPanel.MeasureChild(IItemContainerGenerator& generator, IContainItemStorage& itemStorageProvider, IContainItemStorage& parentItemStorageProvider, Object& parentItem, Boolean& hasUniformOrAverageContainerSizeBeenSet, Double& computedUniformOrAverageContainerSize, Double& computedUniformOrAverageContainerPixelSize, Boolean& computedAreContainersUniformlySized, Boolean& hasAnyContainerSpanChanged, IList& items, Object& item, IList& children, Int32& childIndex, Boolean& visualOrderChanged, Boolean& isHorizontal, Size& childConstraint, Rect& viewport, VirtualizationCacheLength& cacheSize, VirtualizationCacheLengthUnit& cacheUnit, Int64& scrollGeneration, Boolean& foundFirstItemInViewport, Double& firstItemInViewportOffset, Size& stackPixelSize, Size& stackPixelSizeInViewport, Size& stackPixelSizeInCacheBeforeViewport, Size& stackPixelSizeInCacheAfterViewport, Size& stackLogicalSize, Size& stackLogicalSizeInViewport, Size& stackLogicalSizeInCacheBeforeViewport, Size& stackLogicalSizeInCacheAfterViewport, Boolean& mustDisableVirtualization, Boolean isBeforeFirstItem, Boolean isAfterFirstItem, Boolean isAfterLastItem, Boolean skipActualMeasure, Boolean skipGeneration, Boolean& hasBringIntoViewContainerBeenMeasured, Boolean& hasVirtualizingChildren)
at System.Windows.Controls.VirtualizingStackPanel.MeasureOverrideImpl(Size constraint, Nullable`1& lastPageSafeOffset, List`1& previouslyMeasuredOffsets, Nullable`1& lastPagePixelSize, Boolean remeasure)
at System.Windows.Controls.VirtualizingStackPanel.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.ContextLayoutManager.UpdateLayout()
at System.Windows.UIElement.UpdateLayout()
at System.Windows.Controls.TextBlock.EnsureComplexContent(ITextContainer textContainer)
at System.Windows.Documents.TextElementCollection`1.get_TextContainer()
at System.Windows.Documents.TextElementCollection`1.Clear()
at Sonos.Controller.Desktop.Utilities.TextHyperlinkHelper.UpdateInlines(InlineCollection inlines, String realText, Brush hyperlinkForeground, Boolean detectLinks, FrameworkElement textBlock)
at Sonos.Controller.Desktop.Utilities.TextHyperlinkHelper.UpdateTextWithHyperlinks(DependencyObject d)
at Sonos.Controller.Desktop.Utilities.TextHyperlinkHelper.OnPaneTextChanged(DependencyObject d, DependencyPropertyChangedEventArgs args)
at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.Controls.TextBlock.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
at System.Windows.DependencyObject.InvalidateProperty(DependencyProperty dp, Boolean preserveCurrentValue)
at System.Windows.Data.BindingExpressionBase.Invalidate(Boolean isASubPropertyChange)
at System.Windows.Data.BindingExpression.TransferValue(Object newValue, Boolean isASubPropertyChange)
at System.Windows.Data.BindingExpression.ScheduleTransfer(Boolean isASubPropertyChange)
at MS.Internal.Data.ClrBindingWorker.NewValueAvailable(Boolean dependencySourcesChanged, Boolean initialValue, Boolean isASubPropertyChange)
at MS.Internal.Data.PropertyPathWorker.UpdateSourceValueState(Int32 k, ICollectionView collectionView, Object newValue, Boolean isASubPropertyChange)
at MS.Internal.Data.ClrBindingWorker.OnSourcePropertyChanged(Object o, String propName)
at MS.Internal.Data.PropertyPathWorker.OnPropertyChanged(Object sender, PropertyChangedEventArgs e)
at System.Windows.WeakEventManager.ListenerList`1.DeliverEvent(Object sender, EventArgs e, Type managerType)
at System.ComponentModel.PropertyChangedEventManager.OnPropertyChanged(Object sender, PropertyChangedEventArgs args)
at Sonos.Controller.Desktop.SCLib.ViewModel.AbstractViewModel`1.OnPropertyChanged(String propertyName)
at Sonos.Controller.Desktop.SCLib.ViewModel.AbstractViewModel`1.set_IsModelValid(Boolean value)
at Sonos.Controller.Desktop.SCLib.ViewModel.BrowseViewModel.BrowseChanged(Object sender, BrowseDataSourceEventArgs e)
at Sonos.Controller.Desktop.SCLib.EventWrapper`2.OnEvent(TSender sender)
at Sonos.Controller.Desktop.SCLib.EventSink`1.dispatchEvent(SCIObj pSender, String sEventID)
at Sonos.SCLib.Interop.SCIEventSinkSwigBase.SwigDirectordispatchEvent(IntPtr pSender, String sEventID)
at Sonos.SCLib.Interop.sclibPINVOKE.SCILibrary_SCLibUIThreadCallback(HandleRef jarg1)
at Sonos.SCLib.Interop.SCILibrary.SCLibUIThreadCallback()
at Sonos.Controller.Desktop.SCLib.LibraryManager.<CallUIThread>b__42_0()
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
Exception Info: Sonos.Controller.Desktop.Utilities.BugsenseWrappedException
at Sonos.Controller.Desktop.App.worker_RunWorkerCompleted(Exception ex)
Exception Info: System.Reflection.TargetInvocationException
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object/] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Objectj] parameters, Objectn] arguments)
at System.Delegate.DynamicInvokeImpl(Objectu] args)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at System.Windows.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at System.Windows.Application.Run(Window window)
at Sonos.Controller.Desktop.Startup.Glue.WpfLauncher.DoLaunch(String ] args)
at System.AppDomain.RunInitializer(AppDomainSetup setup)
at System.AppDomain.Setup(Object arg)
at System.AppDomain.nCreateDomain(System.String, System.AppDomainSetup, System.Security.Policy.Evidence, System.Security.Policy.Evidence, IntPtr)
at System.AppDomain.InternalCreateDomain(System.String, System.Security.Policy.Evidence, System.AppDomainSetup)
at System.AppDomain.CreateDomain(System.String, System.Security.Policy.Evidence, System.AppDomainSetup)
at Sonos.Controller.Desktop.Startup.Glue.WpfLauncher.DoAppDomainSetup(System.Object)
at System.Threading.ThreadHelper.ThreadStart_Context(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Threading.ThreadHelper.ThreadStart(System.Object)
and also 1 second later
Faulting application name: Sonos.exe, version: 6.0.0.34230, time stamp: 0x453d4bd8
Faulting module name: KERNELBASE.dll, version: 10.0.19041.572, time stamp: 0x979ddb1d
Exception code: 0xe0434352
Fault offset: 0x00129ab2
Faulting process ID: 0x5260
Faulting application start time: 0x01d6bb33d7d32812
Faulting application path: C:\Program Files (x86)\SonosV2\Sonos.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report ID: 86b59e74-8ca0-4e31-901d-00e7e73db779
Faulting package full name:
Faulting package-relative application ID:
Hey folks hitting this: based on this callstack, the issue is something to do with the album artwork, so please try this:
Power cycle all Sonos speakers and wait a minute or two for them to come back up (or if you have a working mobile app, Clear Queue on every group instead).
Start the PC app - it should say “no music selected]” for every player. Crucially none of them should have any album artwork showing, so I believe the app will not crash at this point.
One by one resume playback on each group, taking note, if you can, of the source of your music (Spotify, local, TIDAL etc) and ideally the track too. When it crashes, please try and list the source and, ideally, the track.
I am hoping these steps will provide more useful diagnostic information, and if I can reproduce it (which I cannot yet) then we should be able to get a better idea of what is going on.
It would be nice if Sonos would take a look, but that doesn’t seem to be happening yet, so meanwhile lets try the self-help approach.