I had one of our Designer savy user come down after breaking a data list view.
The error was:
Error while executing web part: System.StackOverflowException: Operation caused a stack overflow.
at Microsoft.Xslt.NativeMethod.CheckForSufficientStack()
at dvt_groupfield(XmlQueryRuntime )
at <xsl:template name="dvt_1.body">(XmlQueryRuntime , IList`1 , Double , Double )
at <xsl:template name="dvt_1">(XmlQueryRuntime , XPathNavigator )
at Root(XmlQueryRuntime )
at System.Xml.Xsl.XmlILCommand.Execute(Object defaultDocument, XmlResolver dataSources, XsltArgumentList argumentList, XmlWriter writer, Boolean closeWriter)
at System.Xml.Xsl.XmlILCommand.Execute(IXPathNavigable contextDocument, XmlResolver dataSources, XsltArgumentList argumentList, XmlWriter results)
at System.Xml.Xsl.XslCompiledTransform.Transform(IXPathNavigable input, XsltArgumentList arguments, XmlWriter results)
at Microsoft.SharePoint.WebPartPages.DataFormWebPart.ExecuteTransform(XslCompiledTransform xslCompiledTransform, XsltArgumentList xmlArguments, Boolean bDeferExecuteTransform)
at Microsoft.SharePoint.WebPartPages.DataFormWebPart.PrepareAndPerformTransform(Boolean bDeferExecuteTransform)
It turns out that the query took longer than one (1) second to complete.
I found the solution to setting the timeout to a higher value:
Check Current Setting
$farm = Get-SPFarm $farm.XsltTransformTimeOut
The default setting is 1 second. The PowerShell code below changes it to 5 seconds which should be sufficient.
Change Setting to 5 Seconds
$farm = Get-SPFarm $farm.XsltTransformTimeOut = 5 $farm.Update()