HRESULT 0x80040E14
Today I was trying to debug an annoying error that we were getting in one of our projects. We created a custom list with about 25 custom content types that all inherit from the built-in event type. These content types contain many columns on each one so there are probably a couple hundred columns on the list. When we tried running our application that worked with this list and a couple of other lists, there is a place where a user can enter a Task owner. When we would add an owner and then click the button to update the list item we would get the Unexpected error. HRESULT 0x80040E14. I did some research on the topic and found a couple of posts and blogs and even a KB article. It appears that this is a generic error for many issues. Below are the blogs or articles and I will explain which case will be fixed with each link.
http://support.microsoft.com/kb/841216
This Knowledge Base article describes the error message as being an issue with installing Service Pack 1 and then uninstalling it. The article recommends running the stsadm -o upgrade command. This did not apply to our issue but it could be a possibility if you receive this error message.
http://www.sharepointblogs.com/ajp/archive/2007/11/21/hresult-0x80040e14-when-added-items-to-sharepoint.aspx
This link indicates that there may be an issue when the SQL server data drive is full or the mdf and ldf database files may have reached their full allocation size. This did not apply to our issue but it is another option.
http://www.themssforum.com/WindowsServices/HRESULT-WHEN/
This post appeared to be the answer for our issue. When I turned versioning off on the list I did not receive the HRESULT error. The minute that I added the versioning back to the list, the error appeared again. It only happened when we modified an item in the list using the ItemAdded event receiver. Although this appears to be an answer, it does not help if you want to turn versioning on the list that is having the problem. I will be keeping my eyes out for any word from Microsoft about fixes for this issue.
UPDATE:
Today I had another client that was receiving the HRESULT error when they tried to add an item to a calendar. I began poking around in the the SharePoint install and tried adding items to other existing lists and got the error. So then I tried creating a new list and still got the error. The next logical thing for me to do was to poke into the SharePoint logs and there is where I found my answer. The logs had a database entry that had the following error message. "The log file for database 'SharePoint_Config' is full. Back up the transaction log for the database to free up some log space."
Apparently the HRESULT error is a generic one for Database errors that could include many different things. If you find that you can't add any items to a list or even create a new list, then check the SharePoint logs to see if there is a meaningful error that could lead you in the right direction.
Labels: HRESULT 0x80040E14, List Versioning Error, Sharepoint 2007
6 Comments:
Did you disable event recursioning on the list when you made the update from within your event reciever ?
I am not sure what you mean by disabling event recursioning. If you mean turning versions off on the list, the client wanted versions so they could run some reports against the list.
It would be good if you post the code ItemAdded Even Receiver that would help me to understand your problem. But if you are calling item.Update() methos, then it is the problem and you sould have to call item.SystemUpdate() method. Basically, when you call item.Update() this method updates the version as well so when item itslef tries to update the version there would be a conflict and MOSS throws an HRESULT expetion.
Suleman,
Thank you for the tip about the item.SystemUpdate(). That does seem to do the trick. The only issue with using that as a solution is that item.SystemUpdate() does not update the version for the list item. Our client would like versions to be maintained when the item is being edited by our code. Is there a way to update the item, keep versions intact, and avoid the HRESULT error?
The definitive solution is to install the hotfix from february:
http://support.microsoft.com/kb/948945/en-us
The you can use de custom content types and have version control.
in my case it was duplicating a ColName in the list schema file
Post a Comment
Subscribe to Post Comments [Atom]
<< Home