Fix in the February 2012 CU for Stack Overflows with DVWPs Running Over One Second Limit Imposed by the August 2011 CU

An assassin bug
Image via Wikipedia

If you’ve been bitten by the issue I described in my post called August Cumulative Update Causing Stack Overflows with DVWPs Running Over One Second, then you’ll be happy to know that there may be a solution available to you.

An anonymous reader left a comment on the above post the today letting me know that there is a new option provided in the February CU that allows you to increase the timeout from the rather nonsensical one second introduced in the August CU to something more reasonable.

I don’t have a setup where I can test this right now, so treat it as unconfirmed information, but it looks to be from someone named Joerg Sinemus, who works at Microsoft Germany GmbH.

Check out his post with a more complete description of the fix here:

https://blogs.msdn.com/b/joerg_sinemus/archive/2012/03/07/xslt-and-timeout-problem-when-transforming-runs-more-than-one-second.aspx

Here’s the full text of his post in case it disappears for some reason. Full credit due, of course. That’s an assassin bug photo. It seemed appropriate.

If you run into the problem described in:

2639184 SharePoint 2010: DataForm Web Part displays “Unable to display this Web Part”
http://support.microsoft.com/default.aspx?scid=kb;EN-US;2639184

we might have another solution for you.

Our KB article 2597136 contains the following line that describes the issue but needs some more steps after you have installed the hotfix.

When you try to open a large .xsl file by using a Data Form Web Part (DFWP) on a SharePoint Foundation site, the DFWP does not display the file.

We highly recommend to use the following steps to change the behavior:
Install February 2012 cumulative update (Full Server package) for Microsoft SharePoint Foundation 2010 or SharePoint Server 2010
http://blogs.msdn.com/b/joerg_sinemus/archive/2012/03/07/sharepoint-2010-and-february-2012-cu.aspx

The code change is in the Microsoft.SharePoint.DLL with build 14.0.6117.5002 and later also on higher builds as usual.

Now you need to test which value might be a better one than One Second timeout.

On SharePoint Server log in with your Farm Account.
Start PowerShell in an elevated mode; check http://blogs.msdn.com/b/joerg_sinemus/archive/2010/08/16/what-is-the-difference-between-local-administrator-and-machine-administrator.aspxfor more information.

The following code lines will set the timeout to five seconds:

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

In a discussion forum I read that two seconds are also a good value but everything depends as usual on the overall performance on the server side.

Enhanced by Zemanta

7 Comments

  1. Hey Marc,

    We had a customer recently that decided to go all maverick and apply the February CU already. He was really keen to get the stackoverflow/dataviews on large lists exhibiting “unable to display this web part” to go away. Sure enough, it helped once the XsltTransformTimeOut was set to 5 – most larger lists, presented as dataviews would display.

    Internally on our systems, I decided it was time to eat our own dog food and we applied the February CU (we had pre-August prior). Sure enough, a couple of pages with heavy dataviews would present correlation ID’s indicating “unable to display this web part”. We applied the XsltTransformTimeOut of 5 seconds and the data views would be fine with the 5 seconds.

    However, clicking on the context menu for these items would result in 1 out of X times resulting in a “This item is no longer available. It may have been deleted by another user. Click ‘OK’ to refresh the page. We increased the limit to 10 seconds and we can no longer reproduce it. I’m not saying 10 seconds is a good setting, but on our internal platform (cobblers shoes for hardware of course), it was an acceptable workaround. I’m sure if I threw more horsepower at the situation, it would have worked itself out as well.

    Hope this helps someone.
    Sean

    ps. it was nice chatting with you during Paintball ;)
    Have a great weekend,
    Sean

    Reply
    • Sean:

      Thanks for the info. Because the timeout is so arbitrary (clock time rather than CPU time), I’m not sure that there’s a “smart” setting for it. If it’s up to me, i’ll set it long, as you did.

      Great to see you in Redmond, as well.

      M.

      Reply
  2. Oh boy, it does not work for me. I still get the stack overflow regardless of what timeout I configure..

    Any Ideas? When I remove 6 fields from the XSLT it starts working again…

    Cheers!
    Jack

    Reply
    • Jack:

      Sorry, but this is the best option I know. It’s certainly possible that your DVWP is getting stuck in some sort of loop; I’ve managed to do that to myself in recursive templates.

      M.

      Reply
      • Well, I had a nice chat with our secretary and she agrees on removing six fields from the xslt.. That’ll buy me the time to move to infopath forms..

        Cheers!
        Jack

        Reply

Have a thought or opinion?