2

フレームワーク 3.5 sp1、WPF アプリケーションは、XP および win 7 マシンで以下の例外を除いてランダムにハングします。数百人のユーザーがいますが、これは誰にとってもランダムに発生し、例外の発生にパターンは見られません. MS による 3.5 パッチ リリースがあり、この問題を修正する予定の 3.5 sp1 にも含まれていますが、ご覧のとおり、まだ発生しています。

エラー 2012-12-10 08:56:12,348[UI]: ホスト: アプリケーション ErrorSystem.InvalidOperationException: レンダリング スレッドで不明なエラーが発生しました。
   System.Windows.Media.MediaContext.NotifyPartitionIsZombie (Int32 failureCode) で
   System.Windows.Media.MediaContext.NotifyChannelMessage() で
   System.Windows.Interop.HwndTarget.HandleMessage (Int32 メッセージ、IntPtr wparam、IntPtr lparam) で
   System.Windows.Interop.HwndSource.HwndTargetFilterMessage (IntPtr hwnd、Int32 msg、IntPtr wParam、IntPtr lParam、ブール値 & 処理) で
   MS.Win32.HwndWrapper.WndProc (IntPtr hwnd、Int32 msg、IntPtr wParam、IntPtr lParam、ブール値 & 処理) で
   MS.Win32.HwndSubclass.DispatcherCallbackOperation (オブジェクト o) で
   System.Windows.Threading.ExceptionWrapper.InternalRealCall (デリゲート コールバック、オブジェクト引数、ブール値 isSingleParameter) で
   System.Windows.Threading.ExceptionWrapper.TryCatchWhen (オブジェクト ソース、デリゲート コールバック、オブジェクト引数、ブール値 isSingleParameter、デリゲート catchHandler) で

Renderthread上記の例外がスローされる前に、以下の例外が 10 ~ 15 回繰り返しログに記録されていることがログに表示されます。また、例外が発生し始める前に、ログに短い時間 (10 ~ 15 分) の非アクティブな状態があることにも気付きます。

エラー 2012-12-04 10:38:30,854[UI]: ホスト: アプリケーション ErrorSystem.Runtime.InteropServices.COMException (0x88980406): HRESULT からの例外: 0x88980406
   System.Windows.Media.Composition.DUCE.Channel.SyncFlush() で
   System.Windows.Media.Composition.DUCE.CompositionTarget.UpdateWindowSettings (ResourceHandle hCompositionTarget、RECT windowRect、色 colorKey、単一定数Alpha、MILWindowLayerType windowLayerType、MILTransparencyFlags transparentMode、ブール値 isChild、ブール値 isRTL、ブール値 renderEnabled、Int32 disableCookie、チャネル チャネル) で
   System.Windows.Interop.HwndTarget.UpdateWindowSettings (ブール値の enableRenderTarget、Nullable`1 channelSet) で
   System.Windows.Interop.HwndTarget.UpdateWindowSettings (ブール値の enableRenderTarget) で
   System.Windows.Interop.HwndTarget.UpdateWindowPos (IntPtr lParam) で
   System.Windows.Interop.HwndTarget.HandleMessage (Int32 メッセージ、IntPtr wparam、IntPtr lparam) で
   System.Windows.Interop.HwndSource.HwndTargetFilterMessage (IntPtr hwnd、Int32 msg、IntPtr wParam、IntPtr lParam、ブール値 & 処理) で
   MS.Win32.HwndWrapper.WndProc (IntPtr hwnd、Int32 msg、IntPtr wParam、IntPtr lParam、ブール値 & 処理) で
   MS.Win32.HwndSubclass.DispatcherCallbackOperation (オブジェクト o) で
   System.Windows.Threading.ExceptionWrapper.InternalRealCall (デリゲート コールバック、オブジェクト引数、ブール値 isSingleParameter) で
   System.Windows.Threading.ExceptionWrapper.TryCatchWhen (オブジェクト ソース、デリゲート コールバック、オブジェクト引数、ブール値 isSingleParameter、デリゲート catchHandler) で

アプリケーションを再起動すると問題が解決します。しかし、これは急速に私たちの優先課題になりつつあります。この問題を整理するのに役立つ指針を本当に感謝します。

4

1 に答える 1