Leaked record detected with address …, name (unknown), and thread local refcount

The following error is generated by a PowerShell script:

Leaked record detected with address 000000001D5ED488, name (unknown), and thread local refcount 73. To see AddRef/Release callstacks for this leak, run stsadm -o setproperty -pn refcountcallstacktrackingenabled -pv true.

The Solution

I found an article showing the same error:
https://social.msdn.microsoft.com/Forums/en-US/7a5bc510-1cf4-452f-848c-e98820eeb50e/getting-attempted-to-use-an-object-that-has-ceased-to-exist-after-upgrade-to-sp-2013-on-site?forum=sharepointadmin

However this wasn’t our problem.

I ran the PowerShell script in question in the ISE PowerShell Debugger and found the problem with this code:

foreach ($item in $List.Items)

{

….

}

Suddenly this was filling up my memory.

$List.Items loads all the list items and for a list with about 5000 items that is not a good idea. Running something like this is a better idea:

$spqQuery = New-Object Microsoft.SharePoint.SPQuery
$spqQuery.Query =
“<Where>

</Where>”
$spqQuery.ViewFields = “<FieldRef Name=’ID’ /><FieldRef Name=’Title’ />”
$spqQuery.ViewFieldsOnly = $true
$splListItems = $ulsList.GetItems($spqQuery)

foreach ($splListItem in $splListItems)
{

}

Avatar for Pieter Veenstra

By Pieter Veenstra

Business Applications Microsoft MVP working as the Head of Power Platform at Vantage 365. You can contact me using contact@sharepains.com

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Discover more from SharePains by Microsoft MVP Pieter Veenstra

Subscribe now to keep reading and get access to the full archive.

Continue reading