[Bug] Unhandled Exception when switching to fullscreen > Crash (1 Viewer)

chefkoch

Retired Team Member
  • Premium Supporter
  • October 5, 2004
    3,129
    1,634
    Dresden / Munich / Maastricht
    Home Country
    Germany Germany
    When switching to fullscreen I had a hard crash to "Das Programm funktioniert nicht mehr". I can't reproduce it, but log is available at: https://gist.github.com/chefkoch/63b100def4b93bc4c854

    In other cases I had such a hard crash as well in the last days. Is there anything we can do to at least automatically restart MediaPortal in such cases?
    Kind of a WatchDog, but developed according to best practices for .NET applications?
     

    breese

    Retired Team Member
  • Premium Supporter
  • July 11, 2011
    3,902
    770
    65
    Arlington Heights, Illinois
    Home Country
    United States of America United States of America
    In all the testing I have been doing (using every skin) I have been using Windowed and full screen and have yet to see this error. It is interesting that is shows a DX Error.

    I will try and duplicate, what screen were you in when you switched from Windowed to Full screen?
     

    morpheus_xx

    Retired Team Member
  • Team MediaPortal
  • March 24, 2007
    12,073
    7,459
    Home Country
    Germany Germany
    Ouch, this is not an intended behavior of setting new fanart image sources:

    This means that in principle an UPnP request to server fails during Render() process. In Render() method there is no exception handling --> crash.

    I will first check my FanArtImageSourceConverter, if I can either cache the server url and/or to init the property asynchronously (not in render). Second thing is to consider better exception handling in Render() method.
    Code:
    [2013-10-21 14:34:04,036] [34515 ] [DX Render] [ERROR] - ApplicationLauncher: Unhandled exception in application
    UPnP.Infrastructure.CP.UPnPException: Error invoking action 'GetResourceServerBaseURL' ---> UPnP.Infrastructure.CP.UPnPRemoteException: Invalid content type
    bei UPnP.Infrastructure.CP.DeviceTree.CpAction.AsyncActionCallResult.GetOutParams()
    bei UPnP.Infrastructure.CP.DeviceTree.CpAction.EndInvokeAction(IAsyncResult result)
    --- Ende der internen Ausnahmestapelüberwachung ---
    bei UPnP.Infrastructure.CP.DeviceTree.CpAction.EndInvokeAction(IAsyncResult result)
    bei UPnP.Infrastructure.CP.DeviceTree.CpAction.InvokeAction(IList`1 inParameters)
    bei MediaPortal.Common.Services.ResourceAccess.UPnPResourceInformationServiceProxy.GetResourceServerBaseURL(IPAddress& localIpAddress)
    bei MediaPortal.Common.Services.ResourceAccess.RemoteResourceInformationService.GetFileHttpUrl(String nativeSystemId, ResourcePath nativeResourcePath, String& fileHttpUrl, IPAddress& localIpAddress)
    bei MediaPortal.Extensions.UserServices.FanArtService.Client.FanArtImageSource.BuildBaseUrl()
    bei MediaPortal.Extensions.UserServices.FanArtService.Client.FanArtImageSource.UpdateSource(AbstractProperty property, Object oldvalue)
    bei MediaPortal.Common.General.SProperty.Fire(Object oldValue)
    bei MediaPortal.Common.General.AbstractProperty.SetValue(Object value)
    bei MediaPortal.Extensions.UserServices.FanArtService.Client.FanArtImageSourceConverter.Convert(Object val, Type targetType, Object parameter, CultureInfo culture, Object& result)
    bei MediaPortal.UI.SkinEngine.MarkupExtensions.BindingDependency.Convert(Object val, Type targetType, Object& result)
    bei MediaPortal.UI.SkinEngine.MarkupExtensions.BindingDependency.UpdateTarget()
    bei MediaPortal.UI.SkinEngine.MarkupExtensions.BindingDependency..ctor(IDataDescriptor sourceDd, IDataDescriptor targetDd, Boolean autoAttachToSource, UpdateSourceTrigger updateSourceTrigger, UIElement parentUiElement, IValueConverter customValueConverter, Object customValueConverterParameter)
    bei MediaPortal.UI.SkinEngine.MarkupExtensions.BindingMarkupExtension.UpdateBinding()
    bei MediaPortal.UI.SkinEngine.MarkupExtensions.BindingMarkupExtension.Activate()
    bei MediaPortal.UI.SkinEngine.MpfElements.DependencyObject.ActivateBindings()
    bei MediaPortal.UI.SkinEngine.Controls.Visuals.UIElement.OnUpdateElementState()
    bei MediaPortal.UI.SkinEngine.Controls.Visuals.FrameworkElement.OnUpdateElementState()
    bei MediaPortal.UI.SkinEngine.Controls.Visuals.SetElementStateAction.Execute(UIElement element)
    bei MediaPortal.UI.SkinEngine.Controls.Visuals.UIElement.ForEachElementInTree_BreadthFirst(IUIElementAction action)
    bei MediaPortal.UI.SkinEngine.Controls.Brushes.VisualBrush.PrepareVisual()
    bei MediaPortal.UI.SkinEngine.Controls.Brushes.VisualBrush.SetupBrush(FrameworkElement parent, PositionColoredTextured[]& verts, Single zOrder, Boolean adaptVertsToBrushTexture)
    bei MediaPortal.UI.SkinEngine.Controls.Panels.Panel.PerformLayout(RenderContext localRenderContext)
    bei MediaPortal.UI.SkinEngine.Controls.Panels.Panel.RenderOverride(RenderContext localRenderContext)
    bei MediaPortal.UI.SkinEngine.Controls.Visuals.FrameworkElement.Render(RenderContext parentRenderContext)
    bei MediaPortal.UI.SkinEngine.Controls.Panels.Panel.RenderChildren(RenderContext localRenderContext)
    bei MediaPortal.UI.SkinEngine.Controls.Panels.Panel.RenderOverride(RenderContext localRenderContext)
    bei MediaPortal.UI.SkinEngine.Controls.Visuals.FrameworkElement.Render(RenderContext parentRenderContext)
    bei MediaPortal.UI.SkinEngine.ScreenManagement.Screen.Render()
    bei MediaPortal.UI.SkinEngine.ScreenManagement.ScreenManager.Render()
    bei MediaPortal.UI.SkinEngine.DirectX.RenderPipelines.AbstractRenderPipeline.Render()
    bei MediaPortal.UI.SkinEngine.DirectX.GraphicsDevice.Render(Boolean doWaitForNextFame)
    bei MediaPortal.UI.SkinEngine.GUI.MainForm.RenderLoop()
    bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
    bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    bei System.Threading.ThreadHelper.ThreadStart()
     

    Users who are viewing this thread

    Top Bottom