Jul 23, 2013

Error while executing web part: System.StackOverflowException: Operation caused a stack overflow

Once again SharePoint and Designer has given me the oportunity to search the Interwebs for other peoples hard earned knowledge.

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()


No comments:

Post a Comment