1

I get this error after having edited a few pages in SharePoint 2010. I have to do an IISReset on both front ends to get this to resolve. I don't know how to fix it or even what else to supply here, but please let me know as the resets now happen several times per day.

Log Name:      Application
Source:        ASP.NET 2.0.50727.0
Date:          1/26/2011 11:12:48 AM
Event ID:      1309
Task Category: Web Event
Level:         Warning
Keywords:      Classic
User:          N/A
Computer:      PINTSPSFE02.samcstl.org
Description:
Event code: 3005 Event message: An unhandled exception has occurred. Event time: 1/26/2011 11:12:48 AM Event time (UTC): 1/26/2011 5:12:48 PM Event ID: c52fb336b7f147a3913fff3617a99d57 Event sequence: 4965 Event occurrence: 2178 Event detail code: 0  Application information:     Application domain: /LM/W3SVC/1449762715/ROOT-2-129405348166941887     Trust level: WSS_Minimal     Application Virtual Path: /     Application Path: C:\inetpub\wwwroot\wss\VirtualDirectories\80\     Machine name: PINTSPSFE02  Process information:     Process ID: 5928     Process name: w3wp.exe     Account name: SAMC\MossAppPool  Exception information:     Exception type: AccessViolationException     Exception message: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.  Request information:     Request URL: http://mosscluster/Pages/Home.aspx     Request path: /Pages/Home.aspx     User host address: 10.3.60.26     User: SAMC\BARNMD     Is authenticated: True     Authentication Type: NTLM     Thread account name: SAMC\MossAppPool  Thread information:     Thread ID: 110     Thread account name: SAMC\MossAppPool     Is impersonating: False     Stack trace:    at Microsoft.Office.Server.ObjectCache.SPCache.MossObjectCache_Tracked.Delete(String key, Boolean recursive, DeletionReason reason)
   at Microsoft.Office.Server.ObjectCache.SPCache.MossObjectCache_Tracked.Get(String key)
   at Microsoft.Office.Server.ObjectCache.SPCache.Get(String objectTypeName, String id)
   at Microsoft.Office.Server.Administration.UserProfileServiceProxy.GetPartitionPropertiesCache(Guid applicationID)
   at Microsoft.Office.Server.Administration.UserProfileApplicationProxy.get_PartitionPropertiesCache()
   at Microsoft.Office.Server.Administration.UserProfileApplicationProxy.DataCache.get_PartitionProperties()
   at Microsoft.Office.Server.Administration.UserProfileApplicationProxy.GetMySitePortalUrl(SPUrlZone zone, Guid partitionID)
   at Microsoft.Office.Server.Administration.UserProfileApplicationProxy.GetMySitePortalUrl(SPUrlZone zone, SPServiceContext serviceContext)
   at Microsoft.Office.Server.WebControls.MyLinksRibbon.EnsureMySiteUrls()
   at Microsoft.Office.Server.WebControls.MyLinksRibbon.get_PortalMySiteUrlAvailable()
   at Microsoft.Office.Server.WebControls.MyLinksRibbon.OnLoad(EventArgs e)
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
  Custom event details: 
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="ASP.NET 2.0.50727.0" />
    <EventID Qualifiers="32768">1309</EventID>
    <Level>3</Level>
    <Task>3</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2011-01-26T17:12:48.000000000Z" />
    <EventRecordID>35834</EventRecordID>
    <Channel>Application</Channel>
    <Computer>PINTSPSFE02.samcstl.org</Computer>
    <Security />
  </System>
  <EventData>
    <Data>3005</Data>
    <Data>An unhandled exception has occurred.</Data>
    <Data>1/26/2011 11:12:48 AM</Data>
    <Data>1/26/2011 5:12:48 PM</Data>
    <Data>c52fb336b7f147a3913fff3617a99d57</Data>
    <Data>4965</Data>
    <Data>2178</Data>
    <Data>0</Data>
    <Data>/LM/W3SVC/1449762715/ROOT-2-129405348166941887</Data>
    <Data>WSS_Minimal</Data>
    <Data>/</Data>
    <Data>C:\inetpub\wwwroot\wss\VirtualDirectories\80\</Data>
    <Data>PINTSPSFE02</Data>
    <Data>
    </Data>
    <Data>5928</Data>
    <Data>w3wp.exe</Data>
    <Data>SAMC\MossAppPool</Data>
    <Data>AccessViolationException</Data>
    <Data></Data>
    <Data>http://mosscluster/Pages/Home.aspx</Data>
    <Data>/Pages/Home.aspx</Data>
    <Data>10.3.60.26</Data>
    <Data>SAMC\BARNMD</Data>
    <Data>True</Data>
    <Data>NTLM</Data>
    <Data>SAMC\MossAppPool</Data>
    <Data>110</Data>
    <Data>SAMC\MossAppPool</Data>
    <Data>False</Data>
    <Data>   at Microsoft.Office.Server.ObjectCache.SPCache.MossObjectCache_Tracked.Delete(String key, Boolean recursive, DeletionReason reason)
   at Microsoft.Office.Server.ObjectCache.SPCache.MossObjectCache_Tracked.Get(String key)
   at Microsoft.Office.Server.ObjectCache.SPCache.Get(String objectTypeName, String id)
   at Microsoft.Office.Server.Administration.UserProfileServiceProxy.GetPartitionPropertiesCache(Guid applicationID)
   at Microsoft.Office.Server.Administration.UserProfileApplicationProxy.get_PartitionPropertiesCache()
   at Microsoft.Office.Server.Administration.UserProfileApplicationProxy.DataCache.get_PartitionProperties()
   at Microsoft.Office.Server.Administration.UserProfileApplicationProxy.GetMySitePortalUrl(SPUrlZone zone, Guid partitionID)
   at Microsoft.Office.Server.Administration.UserProfileApplicationProxy.GetMySitePortalUrl(SPUrlZone zone, SPServiceContext serviceContext)
   at Microsoft.Office.Server.WebControls.MyLinksRibbon.EnsureMySiteUrls()
   at Microsoft.Office.Server.WebControls.MyLinksRibbon.get_PortalMySiteUrlAvailable()
   at Microsoft.Office.Server.WebControls.MyLinksRibbon.OnLoad(EventArgs e)
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
</Data>
  </EventData>
</Event>
Tom O'Connor
  • 27,480
  • 10
  • 73
  • 148
SPSamL
  • 11
  • 1
  • 2

3 Answers3

1

This might happen if you don't have enough memory on your servers or running too many applications. Recycle the application pools to get rid of the error or configure the application pools to recycle more often or cap the memory limits of the app pools.

1

My experience with this error is in a .NET executable where I'm automating documents (Excel/Word) in quick, constant succession. It will run for a week without issues then one day decide to throw this error. I deal with it by simply monitoring for when the error occurs and then resetting the app. Then off it goes for a few more weeks without an issue.

It has to be something related to the disposing of the objects/memory from the prior request. Something hangs, interferes or overlaps where they don't get properly disposed/released before the next API access occurs. I can't put a finger on it unfortunately. I dispose of the Office APIs as Microsoft suggests and even garbage collect after each request. There was one time where the error started to occur so often that I had to re-install Office and magically the error returned to just sporadic, not persistent. So that lead me to the conclusion, it's something in the Office API and/or how I'm using it that is the root cause.

Your situation sounds similar in the regards to you saying "after a few times", but probably never the first edit. This has happened on numerous boxes I've had this app on as well, ECC or no ECC the error persists and the memory always tests out fine.

Microsoft does state I should not be using office automation as I am but I really have no other choice due the requirements of my application and other options for this type of automation were too expensive. So I just coded around the error as best I can. Hope my experience can provide a little incite to the root of this issue.

Also here is a person with a similar error and his cause was a 3rd party DLL. https://stackoverflow.com/questions/4074585/attempted-to-read-or-write-protected-memory-this-is-often-an-indication-that-ot The error itself is generic though and he is not messing with Office APIs.

0

Download a memtest ISO, burn it to CD, reboot the server and leave memtest running overnight. That'll test your memory efficiently, and tell you if you've got corrupt memory. Beyond that.. I'm not sure.

Tom O'Connor
  • 27,480
  • 10
  • 73
  • 148