Today, we are releasing the May 2018 Preview of Quality Rollup.
Quality and Reliability
This release contains the following quality and reliability improvements.
CLR
- Resolves an issue in WindowsIdentity.Impersonate where handles were not being explicitly cleaned up. [581052]
- Resolves an issue in deserialization when using a collection, for example, ConcurrentDictionary by ignoring casing. [524135]
- Removes case where floating-point overflow occurs in the thread pool’s hill climbing algorithm. [568704]
- Resolves instances of high CPU usage with background garbage collection. This can be observed with the following two functions on the stack:
clr!*gc_heap::bgc_thread_function
,ntoskrnl!KiPageFault
. Most of the CPU time is spent in thentoskrnl!ExpWaitForSpinLockExclusiveAndAcquire
function. This change updates background garbage collection to use the CLR implementation of write watch instead of the one in Windows. [574027]
Networking
- Fixed a problem with connection limit when using HttpClient to send requests to loopback addresses. [539851]
WPF
- A crash can occur during shutdown of an application that hosts WPF content in a separate AppDomain. (A notable example of this is an Office application hosting a VSTO add-in that uses WPF.) [543980]
- Addresses an issue that caused XAML Browser Applications (XBAP’s) targeting .NET 3.5 to sometimes be loaded using .NET 4.x runtime incorrectly. [555344]
- A WPF application can crash due to a NullReferenceException if a Binding (or MultiBinding) used in a DataTrigger (or MultiDataTrigger) belonging to a Style (or Template, or ThemeStyle) reports a new value, but whose host element gets GC’d in a very narrow window of time during the reporting process. [562000]
- A WPF application can crash due to a spurious ElementNotAvailableException. [555225]
This can arise if:- Change TreeView.IsEnabled
- Remove an item X from the collection
- Re-insert the same item X back into the collection
- Remove one of X’s subitems Y from its collection
(Step 4 can happen any time relative to steps 2 and 3, as long as it’s after step 1. Steps 2-4 must occur before the asynchronous call to UpdatePeer, posted by step 1; this will happen if steps 1-4 all occur in the same button-click handler.)
Note: Additional information on these improvements is not available. The VSTS bug number provided with each improvement is a unique ID that you can give Microsoft Customer Support, include in StackOverflow comments or use in web searches.
Getting the Update
The Preview of Quality Rollup is available via Windows Update, Windows Server Update Services, and Microsoft Update Catalog.
Microsoft Update Catalog
You can get the update via the Microsoft Update Catalog.
Product Version | Preview of Quality Rollup KB |
---|---|
Windows 8.1 Windows RT 8.1 Windows Server 2012 R2 |
Catalog 4103473 |
.NET Framework 3.5 | 4095875 |
.NET Framework 4.5.2 | 4098974 |
.NET Framework 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.1 | 4098972 |
Windows Server 2012 | Catalog 4098968 |
.NET Framework 3.5 | 4095872 |
.NET Framework 4.5.2 | 4098975 |
.NET Framework 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.1 | 4098971 |
Windows 7 Windows Server 2008 R2 |
Catalog 4103472 |
.NET Framework 3.5.1 | 4095874 |
.NET Framework 4.5.2 | 4098976 |
.NET Framework 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.1 | 4096234 |
Windows Server 2008 | Catalog 4103474 |
.NET Framework 2.0, 3.0 | 4095873 |
.NET Framework 4.5.2 | 4098976 |
.NET Framework 4.6 | 4096234 |
Previous Monthly Rollups
The last few .NET Framework Monthly updates are listed below for your convenience: