Pavel Novotný

.NET Framework, SharePoint, Dynamics CRM, RC Helicopters, Honda VFR CrossRunner

SharePoint: Unable to display this Web Part / System.StackOverflowException: Operation caused a stack overflow

Pokud SharePoint na nějakém webu zobrazuje místo obsahu webparty následující hlášku:

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

 

a v ULS logu je výjimka:

Error while executing web part: System.StackOverflowException: Operation caused a stack overflow.
at Microsoft.Xslt.NativeMethod.CheckForSufficientStack()
at SyncToNavigator(XPathNavigator , XPathNavigator )
at (XmlQueryRuntime , IList`1 , Double , XPathNavigator )
at (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)

 

Zpracování XSLT trvalo déle než nakonfigurovaná maximální doba, defaultně je pouze 1 sekunda, což na SharePoint s velkým množstvím dat není mnoho Obličej s očima v sloup

PowerShellem je potřebu upravit timeout (počet sekund) maximální délky zpracování XSLT transformací:

$farm = Get-SPFarm
$farm.XsltTransformTimeOut = 5
$farm.Update()

 

a restartovat IIS příkazem IISRESET.EXE

Přidat komentář

Loading