SharePoint 2010 publishing site quick launch items randomly duplicating RRS feed

  • Question

  • Our SharePoint 2010 publishing site keeps creating 1000's of duplicate heading nodes in various sub site quick launch menus. This then causes the site to become very slow until it no longer functions.

    When and where this happens is very random. Currently we fix this issue using powershell to delete the duplicate nodes.

    We cant seem to narrow down what is causing the issue, although I suspect it has something to do with quick launch headings been added by our publishers.

    If anyone has experienced this or has any ideas of what we can do to fix this issue it would be greatly appreciated.

    Thanks Mark


    Tuesday, November 13, 2012 11:04 AM


All replies

  • Hi,

    I have some questions regarding the situation that you are facing: are you using a custom or default tempate to create the site collections? also have you deployed any solutions?

    If your site collection has a custom template what i would advise you would be to create a separate site collection and make the same steps to create other site collections within that separate site created see if you have the same problem.

    It might be related to a job that is triggered, the job can be observed after creating that separate site and see exactly what job is running making those duplicates.

    Thank you

    Tuesday, November 13, 2012 12:37 PM
  • Hi,

    Thanks for getting back so quick. Yes we are using a custom template that is deployed using a wsp.

    The issue has now started on our test environment where I have managed to identify the below ULS entries. At this point users were simply navigating around the site with no publishing activity. Around 500 extra nodes were created over a 2 minute period at which point the duplicates stopped been created.


    TIME: 14:59:48.21
    PROCESS: w3wp.exe

    System.Data.SqlClient.SqlException: Transaction (Process ID 76) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.   
     at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)   
     at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)   
     at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)   
     at System.Data.SqlClient.SqlDataReader.HasMoreRows()   
     at System.Data.SqlClient.SqlDataReader.ReadInternal(Boolean setTimeout)   
     at Microsoft.SharePoint.SPSqlClient.ExecuteQueryInternal(Boolean retryfordeadlock)   
     at Microsoft.SharePoint.SPSqlClient.ExecuteQuery(Boolean retryfordeadlock)


    TIME: 14:59:48.21
    PROCESS: w3wp.exe

    Unexpected query execution failure in navigation query, HResult -2146232060. Query text (if available): "BEGIN TRAN DECLARE @abort int SET @abort = 0 DECLARE @EidBase int,@EidHome int SET @EidBase = 0 SET @EidHome = NULL IF @abort = 0 BEGIN EXEC @abort = proc_GetWebNavStructNodeByIds '1CA27B52-5021-4CE1-AE8A-C553F62481C5','26F979ED-9769-4F91-B29C-CC45C798D393',13730 SELECT @wssp0 = @abort END IF @abort <> 0 BEGIN ROLLBACK TRAN END ELSE BEGIN COMMIT TRAN END IF @abort = 0  BEGIN EXEC proc_UpdateDiskUsed '1CA27B52-5021-4CE1-AE8A-C553F62481C5' END "


    TIME: 14:59:48.21
    PROCESS: w3wp.exe

    An unexpected error occured while manipulating the navigational structure of this Web.


    TIME: 14:59:48.21
    PROCESS: w3wp.exe

    Leaving Monitored Scope (PortalSiteMapNode: Populating navigation children for web: /POLICIES). Execution Time=68179.3099402298


    PROCESS: w3wp.exe

    PortalSiteMapProvider was unable to fetch children for node
     at URL: /Policies, message: An unexpected error occured while manipulating the navigational structure of this Web., stack trace:  
     at Microsoft.SharePoint.SPGlobal.HandleComException(COMException comEx)   
     at Microsoft.SharePoint.Library.SPRequest.UpdateNavigationNode(String bstrUrl, Int32 lNodeId, DateTime dateParented, String bstrName, String bstrNodeUrl, Object& pvarProperties, String& pbstrDateModified)   
     at Microsoft.SharePoint.Navigation.SPNavigationNode.Update()   
     at Microsoft.SharePoint.Publishing.Navigation.SPNavigationSiteMapNode.UpdateSPNavigationNode(SPNavigationNode node, SPNavigationNode previous, String name, String url, String description, String target, String audience, Boolean forceCreate)   
     at Microsoft.SharePoint.Publishing.Navigation.SPNavigationSiteMapNode.UpgradeDraftSPNavigationNode(SPNavigationNode draftNode, SPNavigationNode previous)   
     at Microsoft.SharePoint.Publishing.Navigation.PortalWebSiteMapNode.<>c__DisplayClass2.<UpdateNavigationNodes>b__0()   
     at Microsoft.Office.Server.Utilities.Security.SecurityUtilities.RunWithAllowUnsafeUpdates(SPWeb web, Action secureCode)   
     at Microsoft.SharePoint.Publishing.CmsSecurityUtilities.RunWithAllowUnsafeUpdates(SPWeb web, CodeToRun secureCode)   
     at Microsoft.SharePoint.Publishing.Navigation.PortalWebSiteMapNode.PopulateNavigationChildrenInner(NodeTypes includedTypes)   
     at Microsoft.SharePoint.Publishing.Navigation.PortalWebSiteMapNode.PopulateNavigationChildren(NodeTypes includedTypes)   
     at Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapNode.GetNavigationChildren(NodeTypes includedTypes, NodeTypes includedHiddenTypes, Boolean trimmingEnabled, OrderingMethod ordering, AutomaticSortingMethod method, Boolean ascending, Int32 lcid)   
     at Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapNode.GetNavigationChildren(NodeTypes includedTypes, NodeTypes includedHiddenTypes, OrderingMethod ordering, AutomaticSortingMethod method, Boolean ascending, Int32 lcid)   
     at Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapNode.GetNavigationChildren(NodeTypes includedHiddenTypes)   
     at Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapProvider.GetChildNodes(PortalSiteMapNode node, NodeTypes includedHiddenTypes)



    Tuesday, November 13, 2012 4:44 PM
  • Hi Mark,

    Did you get any solution to this problem?

    We are getting exactly same problem on our production site, When checking the ULS logs, we are getting all the errors which you are getting..... We are trying to solve the issue from last 1 weak but still cant find anything...............

    If you get any lead then please share...... And if I'll find I'll share it with you.


    Inderjeet Singh

    Monday, November 19, 2012 7:38 AM
  • Did you install, "August Cumulative Update" ?

    Because this is the only change which we did to our website....



    Monday, November 19, 2012 9:00 AM
  • Has anyone made any progress on this? We are seeing a similar issue on a client's environment.

    Manually-added nav nodes are being duplicated to the tune of 3 or 4 thousand before queries begin to fail and the site falls over. The only solutions are powershell or (if the app servers are too overloaded) cleaning up the NavNodes table manually.

    The environment is running the latest CU.

    Wednesday, November 21, 2012 3:15 AM
  • Hi Markgergs,

    We faced the same problem in our development enviorment. We checked ULS logs and found many log including message that "navigation is likely to be corrupted" and for a single page PAWS.aspx in Pages library for one of the subsite there was lot of entry in ULS. We doubted that page might be cause of issue. So we wrote powershell command to delete the page by deleteing that listitem from library.

    Suprisingly, everything worked but still we don't know what is the cause of this problem. We are still analysing the issue but no lead.



    Enjoying life... But these code fixing ...... fix all.

    • Edited by Om Rahul Friday, November 23, 2012 1:49 PM
    Friday, November 23, 2012 9:32 AM
  • Hi guys!

    This problem have occured in our enviorment recently (SP 2010-farm, 1 FE, 1 APP). It seems as this problem came when we patched to the latest CU (Aug 2012 CU). I suspect that this "bug" (?) appers when we are doing manipulation of the navigation structure (Move links in quick launch?). I have yet to confirm this to narrow down the precice action so we can reproduce. This web application is not working anymore and bombs out with a "unexpected error has occured". We had to restor the content database to a time before we did the above action. It would be nice to know the exact reason to why this is happening. Has anyone contaced MS Support on this?

    Here is a part of our ULS:

    11/24/2012 08:49:51.34  w3wp.exe (0x08B8)                        0x09C4 SharePoint Foundation          Database                       5586 Critical Unknown SQL Exception 1205 occurred. Additional error information from SQL Server is included below.  Transaction (Process ID 108) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction. 40aa2f5f-b5c2-4634-8c45-a7953a3893c6

    11/24/2012 08:49:51.34  w3wp.exe (0x08B8)                        0x09C4 SharePoint Foundation          Database                       8z23 Unexpected Unexpected query execution failure in navigation query, HResult -2146232060. Query text (if available): "BEGIN TRAN DECLARE @abort int SET @abort = 0 DECLARE @EidBase int,@EidHome int SET @EidBase = 0 SET @EidHome = NULL IF @abort = 0 BEGIN EXEC @abort = proc_PutWebNavStructNode @SiteId='0387C0E2-7A99-48BF-BB21-32A2A239C5FF',@WebId='7FE2C69B-2EDE-45B7-B5C9-166969DCF9D4',@Eid=23740,@DateModified=N'20121124 07:49:50',@DirName=N'TOOLSRESOURCES/Pages',@LeafName=N'Vinge-Live.aspx',@UrlExternal=N'/TOOLSRESOURCES/Pages/Vinge-Live.aspx',@EidHome=@EidHome,@EidBase=@EidBase,@@DateModifiedReally=@wssp0 OUTPUT SELECT @wssp1=@abort END IF @abort = 0 BEGIN EXEC @abort = proc_PutWebNavStructNode @SiteId='0387C0E2-7A99-48BF-BB21-32A2A239C5FF',@WebId='7FE2C69B-2EDE-45B7-B5C9-166969DCF9D4',@Eid=23740,@EidBa... 40aa2f5f-b5c2-4634-8c45-a7953a3893c6
    11/24/2012 08:49:51.34* w3wp.exe (0x08B8)                        0x09C4 SharePoint Foundation          Database                       8z23 Unexpected, @EidHome=@EidHome,@Name=N'Vinge Live',@@DateModifiedReally=@wssp2 OUTPUT,@WantOldName=1 SELECT @wssp3=@abort END IF @abort = 0 BEGIN EXEC @abort = proc_PutWebNavStructNode @SiteId='0387C0E2-7A99-48BF-BB21-32A2A239C5FF',@WebId='7FE2C69B-2EDE-45B7-B5C9-166969DCF9D4',@Eid=23740,@SetMetaInfo=1,@NodeMetaInfo=@wssp4,@NonNavPage=0,@NavSequence=0,@EidBase=@EidBase,@EidHome=@EidHome,@@DateModifiedReally=@wssp5 OUTPUT SELECT @wssp6=@abort END IF @abort = 0 BEGIN EXEC proc_NavStructLogChangesAndUpdateSiteChangedTime @wssp7, @wssp8, NULL END IF @abort <> 0 BEGIN ROLLBACK TRAN END ELSE BEGIN COMMIT TRAN END IF @abort = 0  BEGIN EXEC proc_UpdateDiskUsed '0387C0E2-7A99-48BF-BB21-32A2A239C5FF' END " 40aa2f5f-b5c2-4634-8c45-a7953a3893c6
    11/24/2012 08:49:51.34  w3wp.exe (0x08B8)                        0x09C4 Web Content Management         Publishing                     8vzf Unexpected PortalSiteMapProvider was unable to fetch children for node at URL: /TOOLSRESOURCES, message: An unexpected error occured while manipulating the navigational structure of this Web., stack trace:    at Microsoft.SharePoint.SPGlobal.HandleComException(COMException comEx)     at Microsoft.SharePoint.Library.SPRequest.UpdateNavigationNode(String bstrUrl, Int32 lNodeId, DateTime dateParented, String bstrName, String bstrNodeUrl, Object& pvarProperties, String& pbstrDateModified)     at Microsoft.SharePoint.Navigation.SPNavigationNode.Update()     at Microsoft.SharePoint.Publishing.Navigation.SPNavigationSiteMapNode.UpdateSPNavigationNode(SPNavigationNode node, SPNavigationNode previous, String name, String url, String description, String target, String audience, Boolean forceCreate)     at Micr... 40aa2f5f-b5c2-4634-8c45-a7953a3893c6
    11/24/2012 08:49:51.34* w3wp.exe (0x08B8)                        0x09C4 Web Content Management         Publishing                     8vzf Unexpected ...osoft.SharePoint.Publishing.Navigation.SPNavigationSiteMapNode.UpgradeDraftSPNavigationNode(SPNavigationNode draftNode, SPNavigationNode previous)     at Microsoft.SharePoint.Publishing.Navigation.PortalWebSiteMapNode.<>c__DisplayClass2.<UpdateNavigationNodes>b__0()     at Microsoft.Office.Server.Utilities.Security.SecurityUtilities.RunWithAllowUnsafeUpdates(SPWeb web, Action secureCode)     at Microsoft.SharePoint.Publishing.CmsSecurityUtilities.RunWithAllowUnsafeUpdates(SPWeb web, CodeToRun secureCode)     at Microsoft.SharePoint.Publishing.Navigation.PortalWebSiteMapNode.PopulateNavigationChildrenInner(NodeTypes includedTypes)     at Microsoft.SharePoint.Publishing.Navigation.PortalWebSiteMapNode.PopulateNavigationChildren(NodeTypes includedTypes)     at Microsoft.SharePoint.Publishing.... 40aa2f5f-b5c2-4634-8c45-a7953a3893c6
    11/24/2012 08:49:51.34* w3wp.exe (0x08B8)                        0x09C4 Web Content Management         Publishing                     8vzf Unexpected ...Navigation.PortalSiteMapNode.GetNavigationChildren(NodeTypes includedTypes, NodeTypes includedHiddenTypes, Boolean trimmingEnabled, OrderingMethod ordering, AutomaticSortingMethod method, Boolean ascending, Int32 lcid)     at Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapNode.GetNavigationChildren(NodeTypes includedTypes, NodeTypes includedHiddenTypes, OrderingMethod ordering, AutomaticSortingMethod method, Boolean ascending, Int32 lcid)     at Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapNode.GetNavigationChildren(NodeTypes includedHiddenTypes)     at Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapProvider.GetChildNodes(PortalSiteMapNode node, NodeTypes includedHiddenTypes) 40aa2f5f-b5c2-4634-8c45-a7953a3893c6
    11/24/2012 08:49:51.34  w3wp.exe (0x08B8)                        0x09C4 Web Content Management         Publishing                     ck1b Medium   Populating navigation children for web: /ORGANISATION 40aa2f5f-b5c2-4634-8c45-a7953a3893c6
    11/24/2012 08:49:51.43  w3wp.exe (0x08B8)                        0x09C4 Web Content Management         Publishing                     ck1b Medium   Populating navigation children for web: /ORGANISATION/ASSISTENTER 40aa2f5f-b5c2-4634-8c45-a7953a3893c6
    11/24/2012 08:49:51.48  w3wp.exe (0x08B8)                        0x09C4 Web Content Management         Publishing                     ck1b Medium   Populating navigation children for web: /ORGANISATION/DELAGARE 40aa2f5f-b5c2-4634-8c45-a7953a3893c6
    11/24/2012 08:49:51.52  w3wp.exe (0x08B8)                        0x09C4 Web Content Management         Publishing                     ck1b Medium   Populating navigation children for web: /ORGANISATION/EKONOMI 40aa2f5f-b5c2-4634-8c45-a7953a3893c6
    11/24/2012 08:49:51.65  w3wp.exe (0x08B8)                        0x09C4 Web Content Management         Publishing                     ck1b Medium   Populating navigation children for web: /ORGANISATION/KM 40aa2f5f-b5c2-4634-8c45-a7953a3893c6
    11/24/2012 08:49:51.71  w3wp.exe (0x08B8)                        0x09C4 Web Content Management         Publishing                     7fov Medium   Caught a thread abort exception in TemplateRedirectionPage.ProcessRequest, the exception may be expected. stack trace=   at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)     at System.Web.UI.Page.ProcessRequest()     at System.Web.UI.Page.ProcessRequest(HttpContext context)     at Microsoft.SharePoint.Publishing.TemplateRedirectionPage.ProcessRequest(HttpContext context) 40aa2f5f-b5c2-4634-8c45-a7953a3893c6

    Best regards


    Saturday, November 24, 2012 8:39 AM
  • We've got the exact same issue. We recently updated our Site to CU August 2012, and roughly two weeks later this issue started. We're also not 100% sure how to replicate the error, but it seems that a certain event causes a page to be duplicated in the NavNodes table hundreds of times. This causes deadlocks, etc. and eventually all the pages on the site times out when you try to open them. We can get the site back by using the following Powershell script to delete the NavNodes:

    Add-PSSnapin Microsoft.SharePoint.PowerShell
    #$web = Get-SPWeb http://<site>/<sub-site-with-broken-page>/;
    $pubWeb = [Microsoft.SharePoint.Publishing.PublishingWeb]::GetPublishingWeb($web);
    $qlNav = $pubWeb.Navigation.CurrentNavigationNodes;
    $brokenNodes = $qlNav | where { $_.url -eq "<url of broken page>" }
    for($i = $brokenNodes.Count - 1; $i -ge 0; $i--)
        Write-Host "Deleting " $brokenNodes[$i].Title " " $brokenNodes[$i].id;    

    Or to unpublish the page - we used Reflector to see what' happening, and basically the PortalWebSiteMapNode class method ProcessSPNavigationNode doesn't process the page/node if it doesn't have a published version:

    public PortalSiteMapNode ProcessSPNavigationNode(SPNavigationNode node, SPNavigationNode previousSibling, PortalSiteMapNode parentNode)
    if ((web != null) && file.Exists)
                                    strB = file.ServerRelativeUrl;
                                    if (string.Compare(node.Url, strB, StringComparison.OrdinalIgnoreCase) != 0)
                                        node.Url = strB;
                                    if (file.Item.HasPublishedVersion)
                                        this.nodesToUpgrade.Add(new SPNavigationNode[] { node, previousSibling });

    But this isn't a long term fix as we still not sure what causes it in the first place. 

    Monday, November 26, 2012 12:48 AM
  • Great info DaFlons!

    It fist precise to our problem. We have a publishing page with no previous published version and when we hit publish - bam! Thanx for the PS-script. Hope MS gets this sorted out.

    Best regards



    Monday, November 26, 2012 12:19 PM
  • I have just had a support ticket open (and closed) for this very issue.  We also just applied the August 2012 CU last month but haven't found any relation to that so far.

    The same scenario happened to us recently when we were doing the Visual upgrade to our publishing site which has a custom masterpage and custom default/home page.  The database had been upgraded to 2010 a year ago.  At the same time we also hid a new subsite in the global navigation and then were editing web parts on the home page so it is hard to pinpoint the exact moment it started blowing up. After querying the database we found our home navigation nodes had increase from 15 to 3697! 

    Even after sending this thread to MS for review the outcome for us atleast was still that it was our customizations that caused it.  We will have to revert the site back to defaults (masterpages, css, site definitions) in order to do the visual upgrade then reapply any customizations.

    Not a good answer but thought I'd share Microsoft's answer in our case.

    Allison Bates

    Wednesday, November 28, 2012 8:58 PM
  • Site Actions --> Site Settings & found that both the Subsites as well as Pages were already unchecked.

    Logged onto the server using the farm account.

    $subsite=get-spweb ">http://<URL>

    function tree ( $start )
        $recurse = $true
        foreach ( $child in $start.children )
            Write-host $('+-'+ '-------' * $tabs ) $child.Title
            if ( $child.children -ne $null -and $recurse -eq $true )
                tree($child )

    foreach ( $node in $web.Navigation.GlobalNodes)
        Write-host `n`n
        Write-host $node.title
        tree ($node)


    Saved the above as nav_dev.ps1 & did run it on the server from the "C:\" as : .\nav_dev.ps1

    To delete the entry from PowerShell Nav node ID 79823 :


    The above command will display the error : "You cannot call a method on a null-valued expression."

    So, did run directly from SharePoint 2010 Management Shell :

    $web = get-spweb ">http://<URL>


    Check if still the same error is being displayed.

    Enable Verbose Logging for the category "Web Content Management" & note the time.

    Try to browse the URL <a href="http://">http://<URL> & note the time.

    The above steps should help.

    • Edited by ameysm Wednesday, December 5, 2012 1:42 PM formatting
    Wednesday, December 5, 2012 1:39 PM
  • Hello all.

    I want to add my experience to this thread, because I think it's obvious that this is a SharePoint issue and NOT a single client issue.  Some kind of update has caused us all to experience this misery.  I have a client who has been experiencing this issue for months now, and we cannot reproduce the issue in our development envirnoments.  But, every now and then, a user publishes page(s), we get thousands of duplicate heading nodes in the navigation, and sites crash.  We have to programmatically delete nodes (which keep on getting created) until the sites will respond enough to get in there and delete the bad headings (which then stabilize the site).

    Environment:  SharePoint 2010 Enterprise, publishing environment, 3 server farm, has all the latest updates.

    YES, we have custom master pages.  YES, we have many, many customizations and some third party solutions.  HOWEVER, we all started experiencing this around the same time.  And, even if by some miracle of coincidence we have all made the same customization that is causing this problem, shouldn't someone at Microsoft be able to help us correct the problem?

    If I ever find the silver bullet, I will most certainly share it.  Good luck everyone, I hope one of us is able to find a permanent solution.

    Thursday, December 6, 2012 11:31 AM
  • I have two more bits of information to share.  Best to have as much information out there as possible.

    1) We installed the August CU the weekend of September 29/30.  We first started experiencing this problem in early October.

    2) We believe the problem lies within the actual Publish function.  The number of bad navigation node headings always matches the number of pages published, typically using the Manage Content and Structure tool.  For example, earlier this week a user published 6 pages, and 6 duplicate headings were created in Navigation (once deleted, the thousands of duplicate nodes went away as usual).  In October and November, we had instances where 2 pages were published (2 duplicate node headings created) and 3 pages were published (3 duplicate node headings created).

    Thursday, December 6, 2012 6:47 PM
  • I'm not so sure that it is related to number of items published.

    Just today we had this issue. The publishing site that gave the error had over 600 nodes in the quick launch but all of the libraries within that site combined don't have that many items. They have closed to 400.

    To "fix" the issue, we have to delete all items from the Quick Launch using PowerShell, similar to what ameysm describes. This time though, before deleting all the nodes, I looped over them and output them to a text file. I've looked through it and can't yet see anything that makes them appear corrupted.

    One weird thing I noticed is that each node has a LastModified value that seems to be in the future (or in a different time zone?).

    Also, not all of the nodes have the same Properties. Some only have "vti_navsequencechild" in the Properties HashTable. Others have many more.

    Sorry if this is all irrelevant. Just thought as much information as possible would be better. I'll update if I think of anything else.

    Monday, December 10, 2012 11:10 PM
  • Hi Guys

    This is no doubt a bug in the 2012 AUG CU. It is extremly unlikelly that we all have an unsupported modification that produces this error.

    Anyway. In our case the problem often occur when we publish a page with an unpublished version. Then we get "unexpected" errors in the ULS relating to the transaction. Our workaround is to open the site in SPD (since the web GUI is unresponsive)and delete the page. Then we restore it from the recycle bin and all works fine again. Just another day in the SP-world ;-)



    Tuesday, December 11, 2012 8:08 AM
  • Hi everyone!

    I'm having the same problem. Has anyone found a solution for it?

    Has anyone tried to install the 2012 Oct CU? Do you know if it solves this problem?



    Friday, December 21, 2012 10:23 AM
  • According to Microsoft, the bug is also present in the Oct 2012 CU. We have an open ticket with them and they've confirmed that this is a known issue caused by a bug in Aug and Oct 2012 CUs. They told me the product team is currently working on removing the bug from these two CUs but they couldn't say when a fix would be publicly available. One engineer guessed it might be fixed by the Feb 2013 CU, but that was just a guess.

    They also haven't really given more information on how exactly to reproduce the issue. As others on this forum have suggested, it seems to be publishing pages that are multiplying. We've had pages appear repeatedly in the quick launch when no items are supposed to appear at all. We've also had them multiply in the top navigation.

    Their workaround is to unpublish or delete the affected pages. We've been able to identify the affected site from the ULS logs, and then by enumerating some of the SPSite.Navigation.QuickLaunch collection, you can see which pages are duplicating. We then delete the pages using SP Designer and normally the multiple navigation nodes go away. If they don't we run a PS script against them until they are back to 0. We've then been able to restore the deleted pages from the recycle bin.

    Thanks to DevNull for suggesting to use SPD to delete the pages. It is much easier than using PowerShell sometimes.

    Friday, December 21, 2012 3:25 PM
  • Hi guys,

    This should be resolved in the December 2012 CU (although I can't confirm it currently). It's available @;EN-US;2596955.



    Thursday, January 3, 2013 1:39 PM
  • Hi Sam,

    Maybe I overlooked it but I couldn't see anything in the Dec 2012 CU list of fixes that describes this issue. Should I see that written somewhere or do you have more information than what is on the CU page?


    Thursday, January 3, 2013 4:21 PM
  • Hi

    i am facing the same problem. it happens when you publish pages.

    I installed the December 2012 CU.But it Doesn't  solve The Problem.

    Saturday, January 12, 2013 3:12 PM
  • We still have a case open with Microsoft and they confirmed that the December CU doesn't fix this problem
    Saturday, January 12, 2013 3:35 PM
  • Lance, have you had any resqponse from MS yet?

    We are facing the exact same issue at a customer site, and I will create a support case today. Do you have any references to your Microsoft Case that you would be able to share?

    You can send them to me off-line at hda(at)delegate(dot)dk

    Thanks in advance.


    Monday, January 28, 2013 12:19 PM
  • We encountered the very same issue recently and logged a case with Premier Support. They confirmed that this is a known bug and offered the following advice:

    The product team are working on the issue and the hotfix are scheduled to release on April CU 2013.



    We have a basic understanding of what's causing the duplicate nodes in the SQL table. Draft documents, which have navigation nodes pointing to them, get to the published state and this means that the navigation nodes pointing to them need to go from an external type to an internal type. PortalSiteMapProvider executes the following logic:

    1.       It attempts to first create a new (internal) node pointing to the same document.
    2.       It copies the draft node's children to the new node.
    3.       It copies the metadata from the old node to the new node.
    4.       The draft nodes is then deleted.

    The call stack in the ULS logs for the incidents we have reviewed indicate that it is a failure when executing the Update operation when updating the metadata which causes the deadlock.

    A simple SQL query against the content database with the affected problem site will reveal that the performance / site-down issue is coming from too many quick-launch navigation entries for a recently published item:

    SELECT TOP(20) Count(nav.Eid) AS 'DuplicateCount', nav.DocId, ad.Dirname, ad.Leafname FROM NavNodes AS nav with(nolock) INNER JOIN AllDocs AS ad with(nolock) ON nav.Docid = ad.Id WHERE nav.EidParent = 1025 AND DocID IS NOT NULL GROUP BY nav.DocId, ad.DirName, ad.LeafName ORDER BY 'DuplicateCount' DESC



    We recommend one of the following two options to allow the customer to get rid of the duplicate quick-launch navigation entries:

    1.       Unpublish or delete the published item(s) using Manage Content and Structure wizard (/_layouts/sitemanager.aspx).
    2.       Use the attached PS script -> DeleteDupeNodes.ps1 to remove the duplicates one-by-one for the affected site – e.g.:

    .\DeleteDupeNodes.ps1 -url 'http://sharepoint/sites/debug/HelpSupport'

    Code in DeleteDupeNodes.ps1:

        $url = $(Read-Host -Prompt "Web Url")
    Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

    function tryDeleteNode

        $title = $node.Title
            if($dictionary[$title] -eq $node.Url)
                if($node.Children.Count -eq 0)
                    echo "Deleting Duplicate Node $title"
                    $global:didDelete= $true
                    echo "Dupe Node $title has children, Skipping..."
                echo "Duplicate title $title found, but mismatched link, Skipping..."

    function deleteNodesRecurse
        $nodes = @{}
        foreach($node in $quickLaunch)
            $childNodes = @{}
            foreach($child in $node.Children)
                tryDeleteNode -node $child -dictionary $childNodes -nodeCollection $node.Children

            tryDeleteNode -node $node -dictionary $nodes -nodeCollection $quickLaunch

        $web = get-spweb $url
        $quickLaunch = $web.Navigation.QuickLaunch
        $global:didDelete = $false

    • Edited by asembler Wednesday, January 30, 2013 6:26 AM
    Wednesday, January 30, 2013 6:24 AM
  • Our workaround resembles the first workaround mentioned:

    • Using PowerShell (or job/page using C#): search duplicate nodes
         $web = Get-SPWeb "url"
         $web.Navigation.QuickLaunch|group Url|?{$_.Count -gt 10}|ft Count,Name -auto
         $was = Get-SPWebApplication|?{$_.Name -imatch "pattern hosts"}
         foreach($wa in $was){
            Write-Output $wa.Name
            foreach($site in $wa.Sites){
               foreach($web in $site.AllWebs){
                  $web.Navigation.QuickLaunch|group Url|?{$_.Count -gt 10}|ft Count,Name -auto
    • Using SharePoint Designer: delete page(s) with duplicate nodes ("Manage Content and Structure" could be unavailable: site down)
    • At SharePoint Site (available again): recycle page(s) ...

    Greetings, De Keyser Alain

    • Edited by ADE_70 Wednesday, January 30, 2013 9:25 AM
    Wednesday, January 30, 2013 9:20 AM
  • Thanks for sharing assembler. 
    Wednesday, February 6, 2013 10:15 AM
  • We just had a call today with Microsoft, who verified it is a bug in in August 2012 CU, and we are currently using the PowerShell script posted by Asembler as a workaround. My questions for everyone on this thread are:

    1. Has anyone noticed the duplication occurring at specific days/times? In our case, it appears to happen over the weekend, which points to a possible timer job that maybe triggers the issue.

    2. Our navigation is completely custom. If I ask the developers to create a solution that does not use current (Quick Launch) navigation for anything, will that help avoid the problem? I noticed that if I switch the master to minimal.master when the problem occurs, the site no longer times out. I assume this is because minimal.master only uses the top nav, not quick nav.


    Kim Ryan, SharePoint Consultant kim.ryan@[no spam]

    Friday, February 8, 2013 8:40 PM
  • I have also have the same problem on my SharePoint 2010 environment.
    1. I'm not sure if it has a specific time period.
    2. Our navigation is also completely custom.

    Is it true that this problem will be solved in the Cumulative update of April 2013?

    Did anyone have any response from Microsoft about this issue?

    Monday, February 11, 2013 11:06 AM
  • PrePascal -- The last time I spoke with the Microsoft Technician, he said it might be solved in April 2013, or maybe later. He was quite vague. The only thing he could say for sure was that it is on the Bug List.

    Kim Ryan, SharePoint Consultant kim.ryan@[no spam]

    Monday, February 11, 2013 2:36 PM
  • Just received some info from our Microsoft rep. A hotfix is available: Looks like it will solve our problem!

    Kim Ryan, SharePoint Consultant kim.ryan@[no spam]

    Tuesday, February 12, 2013 3:58 PM
  • Hi:

    I install this HotFix:  and the problem is solved!!!  :)

    Please try installig this hotfix to repair the issue.

    I hope this help!

    Tuesday, February 12, 2013 4:14 PM
  • Hi All,

    In our case this was a very nasty issue as it crashed the Web Front End server and brought down all of our live Intranets.

    This would happen when too many user requests would hit the "faulty" site. This would make the server work too hard to render navigation elements (timing out) and the w3wp.exe process would end up using 100% CPU, RAM would go up, etc.

    We do have the August 2012 CU in place and simply cannot bring down the entire farm and install more recent CUs or this hotfix without thoroughly testing it.

    I would rather wait for the April 2013 CU to be out and thoroughly test that on our staging farm.

    In the meantime I would like to share the script that I have been using to fix our issue.

    One of our sites' "Navigation" admin stopped working (because of 100's of entries in the quick launch bar for it)

    Had to run the PowerShell script below to "list" and then "delete" the broken nodes:

    if ( (Get-PSSnapin -Name Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue) -eq $null ) { Add-PSSnapin Microsoft.SharePoint.PowerShell }
    $siteUrl = "http://<some_web_url>"
    $spWeb = Get-SPWeb $siteUrl -ErrorAction Stop
    # Loop through the parents in the Quick launch (you could do the same with "Global Navigation")...
    Foreach($node in ($spWeb.Navigation.QuickLaunch))
        write-host "This node title is: " $node.Title
    	# Children...
    	if ($node.Children.Count -ge 0) {
    		write-host "	THIS NODE HAS CHILDREN!"
    		Foreach($node1 in ($node.Children))
    		    write-host "	The child node title is: " $node1.Title
    			if ($node1.Title -eq "<The Title of the Corrupt Link>") { 
    				write-host "ABOUT TO DELETE THIS NODE!"

    While the script was running I also did something naughty and checked directly against the relevant content DB if the deletes were working and how many more links I had to delete... Just sharing it again from other places on the web


    DECLARE @siteUrl varchar(500), @siteId varchar(50);
    SET @siteUrl = '<some_relative_web_url_without_the_first_slash>';
    -- Get Site ID from SharePoint database
    SELECT @siteId =SiteId FROM Webs WHERE FullUrl = @siteUrl
    -- Get the NavNodes
    SELECT * FROM [NavNodes] WHERE SiteId= @siteId

    Really hope this will help others in the community.

    Over & out, until next one :)


    Thursday, March 21, 2013 10:34 AM
  • Hi,

    Just wondering if anyone else has installed the hot fix ( and verified it resolved the problem.

    Friday, March 29, 2013 5:12 PM
  • Hi,

    Very useful thread, we got to the same issue at a customer site.

    Just like NgKenneth I'm curious if anyone has experience with installing the hotfix?

    - Dennis | Netherlands | Blog | Twitter

    Thursday, April 4, 2013 6:42 AM
  • We are experiencing the same problem in SharePoint 2013.

    Hopefully, this is fixed there in the April CU!?

    Tuesday, April 9, 2013 3:21 PM
  • Hi All,

    Have anyone installed the April CU and verified that it does fix the NavNodes issue?

    We are experiencing the same problem as above, but can't find a link to the HotFix. We would like to install the hot fix today and the CU sometimes next week.

    - Does anyone know where I can request the HotFix or find it for download?


    Thursday, April 11, 2013 10:45 AM
  • Hello Jais,

    You can find the link in the blog from Joerg Sinemus:

    The April 2013 CU is now available

    Hope this helps

    - Dennis | Netherlands | Blog | Twitter

    • Edited by Expiscornovus Monday, April 15, 2013 11:41 AM removed hotfix link
    Thursday, April 11, 2013 2:37 PM
  • Hi Expiscornovus

    We installed the April CU. The NavNodes  issue disappeared.

    We got two other issues.

    1. Opening a page with TaxonomyFieldi gav us a popup for each TaxonomyField saying 'There was an error processing the request'

    2. Tagging a page did not work. 'Failed
    tagging this page'

    After consulting Microsoft we got a solution back:


    Current List of Workarounds seen to work in these instances:

    There are 3 possible workarounds noted as of now, and are listed below, with each one affecting a specific scope. When applying any workarounds, it is important to start from the lowest scope, so as to restrict the scope of the change.

    1)      Page Level: Adding a Content Web Part to the page that is having the problem, and using a custom script with it.
    a)     Save the following JavaScript to a .txt file and upload the file to any document library in the root of the site. 
    <Script Type="text/javascript"> 
    function CustomUpdateFormDigest() 

    if(window._spPageContextInfo != null) 

    var $v_2 = window._spPageContextInfo; 
    var $v_3 = $v_2.webServerRelativeUrl; 
    var $v_4 = window._spFormDigestRefreshInterval; 
    UpdateFormDigest($v_3, $v_4); 

    b)    Add a “Content Editor” web part from “Media and Content” web parts category to the page not rendering web parts.
    c)     Edit the “Content Editor” web part and link its content to the .txt file path we created and uploaded in Step 1 using the "Content Link" field.
    d)    Hide the web part by checking “Hidden” under “Layout”.
    e)     Save and publish the page.

    2)      Site Level: Adding the above script to the Master Page
    a)     Save the following JavaScript to a CustomUpdateFormDigest.js file and put the file under the Layouts folder. 
    <Script Type="text/javascript"> 
    function CustomUpdateFormDigest() 

    if(window._spPageContextInfo != null) 

    var $v_2 = window._spPageContextInfo; 
    var $v_3 = $v_2.webServerRelativeUrl; 
    var $v_4 = window._spFormDigestRefreshInterval; 
    UpdateFormDigest($v_3, $v_4); 


    b)    In the Master page (v4.master or any custom master page they might have), insert the reference to the file above inside the BODY tag, as follows.
    <script src="/_layouts/CustomFormDigestUpdate.js "></script>

    3)      Web Application Level: Turn off Security Validation for the pages from Central Admin -> Web Application -> General Settings.

    NOTE: The Web Page Security Validation feature helps enhance security by imposing a time limit on Web pages when a user submits information to the server. When a user tries to submit information to the server after the validation time-out expires, the user receives the error message.

    However, you already confirmed the 3rd workaround as undesirable. Please test with the 1st or 2nd method as a temporary workaround to avoid the error message.

    None of the above workarounds constitute a long term fix for this problem, and the order above is listed in the order they would be preferable, as the scope of the change they make to the page/site/webapp increases in terms of undesirability as you go down the list. If possible, make the change only at the page level, until we come up with a long term solution here.


    I hope this will help others.

    Share More Do More with Sharepoint 


    • Edited by Jais Tuesday, April 16, 2013 8:26 AM
    Tuesday, April 16, 2013 8:26 AM
  • Hello Jais,

    Thanks for your reply.

    We are in the process of planning to installation of the April 2013 CU. I will keep you posted.

    - Dennis | Netherlands | Blog | Twitter

    Tuesday, April 16, 2013 8:32 AM
  • Hi all !

    I'm facing the very same issue in SharePoint 2013...

    Unpublishing / deleting the page and removing everything in Actual Navigation just leave me with an empty navigation bar that I can no longer modify.

    Hope the April CU for 2013 will fix this ! It is said to be coming soon:

    Tuesday, April 16, 2013 2:13 PM
  • Has anyone verified that this issue has been resolved in an official CU from MS for SP 2010?

    I have seen posts that some say it should have been resolved with the April 2013 CU but others say it is still an issue in the latest CUs for both SP 2010 and SP 2013. I have yet to find an official KB from MS that even talks about this issue.

    • Edited by Matt Ingle Monday, November 11, 2013 6:20 PM
    Monday, November 11, 2013 6:19 PM
  • Thank you asembler. Your answer helped me.



    Thursday, October 6, 2016 8:40 PM