Strange Problems with a mysteriously corrupted list
I've got some custom code which looks at a SharePoint list for data which it renders to the screen. Of course, I used the delegate controls mechanism to put the control in question on the masterpage, so it basically shows up on every page in my publishing site. Notable exceptions include the admin screens, which use a different masterpage. I was using the site in question at 1:30pm. A coworker was using the site at about 3pm. At about 3:40pm, he noticed that the site's pages wouldn't load and instead he was getting this cryptic error message:
Cannot complete this action.
Please try again.
Some digging on the server found the following error message (I changed some details to protect the innocent):
Event Type: Warning
Event Source: ASP.NET 2.0.50727.0
Event Category: Web Event
Event ID: 1309
Date: 4/2/2008
Time: 3:11:07 PM
User: N/A
Computer: APP1
Description:
Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 4/2/2008 3:11:07 PM
Event time (UTC): 4/2/2008 8:11:07 PM
Event ID: 9e324f464c8044119c3beec6f1507bc6
Event sequence: 3
Event occurrence: 1
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/1106951119/Root-1-128516406489363947
Trust level: Full
Application Virtual Path: /
Application Path: C:\Inetpub\wwwroot\wss\VirtualDirectories\site.company.com443\
Machine name: APP1
Process information:
Process ID: 996
Process name: w3wp.exe
Account name: DOMAIN\MOSS_AppPoolID
Exception information:
Exception type: SPException
Exception message: Cannot complete this action.
Please try again.
Request information:
Request URL: https://site.company.com:443/Pages/Biology.aspx
Request path: /Pages/Biology.aspx
User host address: 123.456.789.012
User: admin@domain.local
Is authenticated: True
Authentication Type: Forms
Thread account name: DOMAIN\MOSS_AppPoolID
Thread information:
Thread ID: 1
Thread account name: DOMAIN\MOSS_AppPoolID
Is impersonating: False
Stack trace: at Microsoft.SharePoint.Library.SPRequest.GetListItemDataWithCallback(String bstrUrl, String bstrListName, String bstrViewName, String bstrViewXml, SAFEARRAYFLAGS fSafeArrayFlags, ISP2DSafeArrayWriter pSACallback, ISPDataCallback pPagingCallback, ISPDataCallback pSchemaCallback)
at Microsoft.SharePoint.SPListItemCollection.EnsureListItemsData()
at Microsoft.SharePoint.SPListItemCollection.get_Count()
at CustomerAssembly.CustomUserControl.GetUserEnteredData(String emailAddress)
at CustomerAssembly.CustomUserControl.AddUserDetails()
at CustomerAssembly.CustomUserControl.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
at System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer)
at System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output)
at System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer)
at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
at System.Web.UI.Page.Render(HtmlTextWriter writer)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Custom event details:
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
Custom event details:
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
I did some research with my favorite search engine and found a pair of links which looked promising but were not really helpful:
- This sounds the closest to our issue: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=3031341&SiteID=1
- This also sounds close: http://support.microsoft.com/?id=909455
One of my coworkers noticed the following message in the SharePoint logs:
w3wp.exe (0x0C6C) 0x1544 Windows SharePoint Services General 0 High Failed to compile XML.
w3wp.exe (0x0C6C) 0x1570 Windows SharePoint Services General 8kh7 High Cannot complete this action. Please try again.
w3wp.exe (0x0C6C) 0x1570 Windows SharePoint Services General 8l1n High An SPRequest object was not disposed before the end of this thread. To avoid wasting system resources, dispose of this object or its parent (such as an SPSite or SPWeb) as soon as you are done using it. This object will now be disposed. Allocation Id: {043EED0C-7CB5-44B4-9A26-429B51270C45} To determine where this object was allocated, create a registry key at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\HeapSettings. Then create a new DWORD named SPRequestStackTrace with the value 1 under this key.
Another of my coworkers noticed, almost at the same time, that they could not view the list. The couldn't view the list, export the list, create a new view for the list, or even view the settings for the list. We either got the Cannot complete this action error or we got the even stranger <!-- #RENDER FAILED --> message. I attempted to use the Stramit CAML Viewer to look past the UI and got SoapExceptions trying to retrieve the list. Every other list worked just fine.
At this point we consider the list corrupted and are going to try to restore the site from backup to see if that helps.
Similar Posts
- SPLookupField Helper function
- When deploying code, please use Solution Packages for both our sakes
- Visual Studio reports the project location is not trusted








Comments
Matt Ranlett on on 4.08.2008 at 10:09 PM
The restore did work. We were back up and running with minimal data loss. Still, the fact that the list got so hopelessly corrupted is troubling!