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

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.

Issue

First we looked into when this error occurred and identified the PowerShell in question.

Solution

I found this 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)
{

}

 

Advertisements

Please leave a comment or feedback

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

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