Just posting this for anyone that has been shot in the foot by the latest December CU for SharePoint 2010.

This is from the Microsoft article KB2639184 :

Create a list or library in SharePoint 2010. Open the list / library in SharePoint Designer. Close and hide the XSLTListView Web part on the page. Insert a DataForm web part on the page. If the list contains a large number of columns or custom XSL has been applied to the DataForm web part the following error message may be displayed:

“Unable to display this Web Part. To troubleshoot the problem, open this Web page in a Microsoft SharePoint Foundation-compatible HTML editor such as Microsoft SharePoint Designer. If the problem persists, contact your Web server administrator.”

You will also see System.StackOverflowException errors in the SharePoint log.

Now this issue arose after the installation of the June CU.  Microsoft in their wisdom reduced the timeout for XSLT transformation from 5 seconds to 1 second without giving the administrator the option of increasing it manually via Powershell.  The reduction is a securtity measure to reduce the risk of successfull DoS attacks.  However if you have an internal SharePoint installaton (which many companies do) this new change is fairly pointless.

The timeout essentially causes any modified XSLTListViewWebPart and XSLTDataViewWebParts to error intermittently when viewed in the browser.

However it was meant to have been fixed in the August CU.  Here is the major issue … Installing the December CU breaks the fix from August!!  I would recommend you DO NOT INSTALL the December CU until the next (February?) CU or hotfix is released.

The solutions offered by Microsoft are at this page: http://support.microsoft.com/kb/2639184.  However none of those options are particularly viable for us.  What we need is a hotfix and I will post an update should I get hold of one.

UPDATE:

there is now a hot fix available from Microsoft to resolve this issue,  you need to log a call with them and ask for sharepointfoundation2010-kb2597136-fullfile-x64-glb.exe

Once installed use the Powershell script below to make the change to the Timeout value.  Changing it to 2 seconds for us worked and the webparts are now showing fine.

SAMPLE PowerShell to set XsltTransformTimeOut

===========================================

$farm = Get-SPFarm

$farm.XsltTransformTimeOut = 5

$farm.Update()

Cheers,

Pete.

Advertisements