我们的Framework 3.5 sp1,WPF应用程序在XP上随机挂起以下异常并赢得7台机器。我们有几个100的用户,这对任何人都是随机发生的,我们在异常发生时没有看到任何模式。我们搜索了很多,MS发布了一个3.5补丁,它也包含在3.5 sp1中,可以解决这个问题,但是你看,它仍然适用于我们。
ERROR 2012-12-10 08:56:12,348[UI]: Host : Application ErrorSystem.InvalidOperationException: An unspecified error occurred on the render thread. at System.Windows.Media.MediaContext.NotifyPartitionIsZombie(Int32 failureCode) at System.Windows.Media.MediaContext.NotifyChannelMessage() at System.Windows.Interop.HwndTarget.HandleMessage(Int32 msg, IntPtr wparam, IntPtr lparam) at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(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, Boolean isSingleParameter) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
我们在日志中看到,在引发上述Renderthread
异常之前,会重复记录以下异常10-15次。在异常开始出现之前,我们还注意到日志中短暂的不活动时间(10-15分钟)
ERROR 2012-12-04 10:38:30,854[UI]: Host : Application ErrorSystem.Runtime.InteropServices.COMException (0x88980406): Exception from HRESULT: 0x88980406 at System.Windows.Media.Composition.DUCE.Channel.SyncFlush() at System.Windows.Media.Composition.DUCE.CompositionTarget.UpdateWindowSettings(ResourceHandle hCompositionTarget, RECT windowRect, Color colorKey, Single constantAlpha, MILWindowLayerType windowLayerType, MILTransparencyFlags transparencyMode, Boolean isChild, Boolean isRTL, Boolean renderingEnabled, Int32 disableCookie, Channel channel) at System.Windows.Interop.HwndTarget.UpdateWindowSettings(Boolean enableRenderTarget, Nullable`1 channelSet) at System.Windows.Interop.HwndTarget.UpdateWindowSettings(Boolean enableRenderTarget) at System.Windows.Interop.HwndTarget.UpdateWindowPos(IntPtr lParam) at System.Windows.Interop.HwndTarget.HandleMessage(Int32 msg, IntPtr wparam, IntPtr lparam) at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(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, Boolean isSingleParameter) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
重新启动应用程序可以解决问题。然而,这很快成为我们优先考虑的问题。非常感谢帮助排序这个问题的任何指示。
答案 0 :(得分:0)
这是一种红鲱鱼。这个问题已由工程团队解决。我们的用户使用虚拟机并使用Citrix连接到计算机。 Citrix支持使用客户端机器cpu / gpu卸载图形和渲染的反向无缝设置导致了这个问题。