You may experience one of the following issues when you render graphics by using Windows Presentation Foundation (WPF) in a .NET Framework 3.5 Service Pack 1 (SP1)-based application.

Issue 1

When you change the value of the VisualBrush.Visual property in a WPF application, the application crashes.

Issue 2

A memory leak occurs in the render thread of a WPF application when you perform one of the following actions:

  • You use the software-rendering pipeline to render a 3D scene that includes a VisualBrush object or a DrawingBrush object. For example, you are using the software-rendering pipeline when you perform one of the following actions:

    • You render the scene by using the RenderTargetBitmap class.

    • You print the scene.

    • You set the rendering tier property to 0.

    • You render the scene over a remote desktop connection.

  • You render a scene by using the WriteableBitmap class on a computer that does not use the Windows Display Driver Model (WDDM).

  • You use the hardware-rendering pipeline to render a scene by using a tiled VisualBrush object or a tiled DrawingBrush object on a computer that does not use the WDDM.

Issue 3

WPF applications that use layered windows crash when you perform one of the following actions:

  • You put a computer that uses the Windows XP Display Driver Model (XPDDM) into standby, and then you resume the computer from standby.

  • You switch to the full-screen console mode on Windows XP.


Cause 1

This issue occurs because a generic error is returned from a render thread when the operations in the thread are ordered incorrectly. These operations cause child objects to detach from a null parent object.

For example, a Visual object must be removed from a VisualBrush object before it is detached from the VisualBrush object. However, the operations to remove the Visual object may be ordered incorrectly. Therefore, the Visual object detaches from a null parent object.

Cause 2

This issue occurs because of a reference counting error in the render thread.

Cause 3

This issue occurs because a Win32 error code is handled incorrectly.


To resolve this issue, apply the hotfix package that is described in the following Microsoft Knowledge Base article:

2667241An update rollup is available for Windows Presentation Foundation (WPF) for Microsoft .NET Framework 3.5

More Information

Stack output

System.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)


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

What affected your experience?

Thank you for your feedback!