Sharepoint Timer Service Error
Hello,
the timer service of our standalone WSS 3.0 installation (Server 2008, WSS 3.0 SP2) is causing problems recently. The ULS reads :
06/09/2010 08:59:15.67 OWSTIMER.EXE (0x10CC) 0x14B8 Windows SharePoint Services
Topology 75dz High The SPPersistedObject
with Name , Id ce343736-0f86-467d-8fb7-585bc4d009f1, Parent b38011d4-08ea-49d0-bca2-3a94762dd108 failed to initialize with the following error: System.ArgumentException: Item has already been added. Key in dictionary: '322' Key being added: '322'
at System.Collections.Hashtable.Insert(Object key, Object nvalue, Boolean add) at Microsoft.SharePoint.Administration.SPAutoSerializingObject.DeserializeBasicObject(XmlElement xmlValue) at Microsoft.SharePoint.Administration.SPAutoSerializingObject.SetStateXml(XmlNodeList
childNodes) at Microsoft.SharePoint.Administration.SPAutoSerializingObject.SetStateXml(XmlDocument value) at Microsoft.SharePoint.Administration.SPPersistedObject.Initialize(SPConfigurationDatabase configurationDatabase,
Guid id, Guid pa...
06/09/2010 08:59:15.67* OWSTIMER.EXE (0x10CC) 0x14B8 Windows SharePoint Services
Topology 75dz High ...rentId, String name, SPObjectStatus
status, Int64 version, XmlDocument state)
06/09/2010 08:59:15.67 OWSTIMER.EXE (0x10CC) 0x14B8 Windows SharePoint Services
Topology 8xqx High Exception in RefreshCache. Exception
message :Item has already been added. Key in dictionary: '322' Key being added: '322'
06/09/2010 08:59:15.67 OWSTIMER.EXE (0x10CC) 0x14B8 Windows SharePoint Services
Timer 5utx Unexpected The timer service could not initialize
its configuration, please check the configuration database. Will retry later.
When i try to perform a backup of my site it says :
The backup/restore job failed because there is already another job scheduled. Delete the timer job from the Timer Job Definitions page, and then restart the backup/restore job.
Things i have already tried :
Deleted all xml files in the config cache and set the number in cache.ini to 1.
After doing that, the timer job definitions/status page don't work anymore (Exception in RefreshCache. Exception message :Item has already been added. Key in dictionary: '322' Key being added: '322' ).
I digged deep in the filesystem to find out what objects are causing the problem. The id in the ULS is ce343736-0f86-467d-8fb7-585bc4d009f1. The corresponding xml file doesn't get recreated in the cache after i delete it. I restored the xml from the
recycle bin and this is the content :
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<PersistedObject id="ce343736-0f86-467d-8fb7-585bc4d009f1" parentId="b38011d4-08ea-49d0-bca2-3a94762dd108" classId="cb4d9dfd-60cf-4d6a-8615-f8a8448452cb" name="" status="0" version="2271">
<object type="Microsoft.SharePoint.Administration.SPDiagnosticsService, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"><sFld type="String" name="m_LogLocation">C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS\</sFld><sFld type="Int32" name="m_LogsToKeep">0</sFld><sFld type="Int32" name="m_LogCutInterval">0</sFld><fld name="m_Versions" type="null" /><fld name="m_UpgradeContext" type="null" /><fld type="System.Collections.Hashtable, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="m_UpgradedPersistedFields" /><fld name="m_Properties" type="null" /><sFld type="String" name="m_LastUpdatedUser">CCS-HH-EWI\admin</sFld><sFld type="String" name="m_LastUpdatedProcess">psconfigui</sFld><sFld type="String" name="m_LastUpdatedMachine">CCS-SHARE</sFld><sFld type="DateTime" name="m_LastUpdatedTime">2010-05-14T16:48:52</sFld></object>
</PersistedObject>
The parentId is the SharePoint_Config.
Please help me. I'm reluctant to reinstall WSS because i fear that all content is gone as i cannot backup my site.
Thanks in advance.
June 9th, 2010 10:55am
Hi,
First question - did you remove the 'Backup and Restore' timer job defination from the Central Admin > Operations > Timer Job Definitions ? This is a common issue when a backup has failed.
Have you also tried re-running the SharePoint configruation wizard or even the SharePoint binary install 'Repair' wizard? If i was you, if the timer defintion job doesn't help I would 'Repair' the installation on each of your servers and then run the 'SharePoint
Configuration Wizard' to make sure the config DB is upto date.
Regards, Aaron www.aaron-rendell.co.uk
Free Windows Admin Tool Kit Click here and download it now
June 9th, 2010 11:39am
I can't remove the timer job definition, when i press delete it also says
"Item has already been added. Key in dictionary: '322' Key being added: '322'"
The config wizard also stops with the same error message.
When i "repair" the WSS installation, does that impact my current site collections in any way ?
June 9th, 2010 11:46am
No, you should be fine. Its only touching the binaries - however i stronging advise you ensure your SQL backups have been run before hand.
Are you running on VM or physical hardwre?Regards, Aaron www.aaron-rendell.co.uk
Free Windows Admin Tool Kit Click here and download it now
June 9th, 2010 11:53am
It's not running on a VM. What databases should i backup ? Both Config and Content ?
June 9th, 2010 12:04pm
Yes, all SharePoint related DB's.
I asked about VM vs Physical as you could have taken a snap-shot.
Regards, Aaron www.aaron-rendell.co.uk
Free Windows Admin Tool Kit Click here and download it now
June 9th, 2010 12:11pm
Ok i repaired the WSS installation and rebootet the server. Ran the configuration wizard, which failed at step 6 of 8:
Failed to provision the SharePoint Central Administration Web Application.
An exception of type System.ArgumentException was thrown. Additional exception information: Item has already been added. Key in dictionary: '322' Key being added: '322'
I'll post the part of interest from the configuration log :
06/09/2010 11:28:04 7 INF Entering function CentralAdministrationSiteTask.ProvisionAdminVs
06/09/2010 11:28:04 7 INF Entering function Command.this[string key]
06/09/2010 11:28:04 7 INF Entering function CommandCollectionBase.Get
06/09/2010 11:28:04 7 INF Found value in collection for key port
06/09/2010 11:28:04 7 INF Leaving function CommandCollectionBase.Get
06/09/2010 11:28:04 7 INF Found parameter port in collection
06/09/2010 11:28:04 7 INF Leaving function Command.this[string key]
06/09/2010 11:28:04 7 INF Entering function Command.this[string key]
06/09/2010 11:28:04 7 INF Entering function CommandCollectionBase.Get
06/09/2010 11:28:04 7 INF Found value in collection for key provision
06/09/2010 11:28:04 7 INF Leaving function CommandCollectionBase.Get
06/09/2010 11:28:04 7 INF Found parameter provision in collection
06/09/2010 11:28:04 7 INF Leaving function Command.this[string key]
06/09/2010 11:28:04 7 INF Entering function Command.this[string key]
06/09/2010 11:28:04 7 INF Entering function CommandCollectionBase.Get
06/09/2010 11:28:04 7 INF Found value in collection for key unprovision
06/09/2010 11:28:04 7 INF Leaving function CommandCollectionBase.Get
06/09/2010 11:28:04 7 INF Found parameter unprovision in collection
06/09/2010 11:28:04 7 INF Leaving function Command.this[string key]
06/09/2010 11:28:04 7 INF Entering function Command.this[string key]
06/09/2010 11:28:04 7 INF Entering function CommandCollectionBase.Get
06/09/2010 11:28:04 7 INF Found value in collection for key windowsauthprovider
06/09/2010 11:28:04 7 INF Leaving function CommandCollectionBase.Get
06/09/2010 11:28:04 7 INF Found parameter windowsauthprovider in collection
06/09/2010 11:28:04 7 INF Leaving function Command.this[string key]
06/09/2010 11:28:04 7 INF Entering function get CommandCollection.this[string key]
06/09/2010 11:28:04 7 INF Entering function CommandCollectionBase.Get
06/09/2010 11:28:04 7 INF Found value in collection for key initialize
06/09/2010 11:28:04 7 INF Leaving function CommandCollectionBase.Get
06/09/2010 11:28:04 7 INF Found command initialize in collection
06/09/2010 11:28:04 7 INF Leaving function get CommandCollection.this[string key]
06/09/2010 11:28:04 7 INF Entering function Command.this[string key]
06/09/2010 11:28:04 7 INF Entering function CommandCollectionBase.Get
06/09/2010 11:28:04 7 INF Found value in collection for key SINGLESERVER
06/09/2010 11:28:04 7 INF Leaving function CommandCollectionBase.Get
06/09/2010 11:28:04 7 INF Found parameter SINGLESERVER in collection
06/09/2010 11:28:04 7 INF Leaving function Command.this[string key]
06/09/2010 11:28:04 7 INF Entering function Farm.IsJoinedToFarm
06/09/2010 11:28:04 7 INF Entering function Farm.TryIsJoinedToFarm
06/09/2010 11:28:04 7 INF Leaving function Farm.TryIsJoinedToFarm
06/09/2010 11:28:04 7 INF Leaving function Farm.IsJoinedToFarm
06/09/2010 11:28:12 7 ERR Task adminvs has failed with an unknown exception
06/09/2010 11:28:12 7 ERR Exception: System.ArgumentException: Item has already been added. Key in dictionary:
'322' Key being added: '322'
at System.Collections.Hashtable.Insert(Object key, Object nvalue, Boolean add)
at Microsoft.SharePoint.Administration.SPAutoSerializingObject.DeserializeBasicObject(XmlElement xmlValue)
at Microsoft.SharePoint.Administration.SPAutoSerializingObject.SetStateXml(XmlNodeList childNodes)
at Microsoft.SharePoint.Administration.SPAutoSerializingObject.SetStateXml(XmlDocument value)
at Microsoft.SharePoint.Administration.SPPersistedObject.Initialize(SPConfigurationDatabase configurationDatabase, Guid id, Guid parentId, String name, SPObjectStatus status, Int64 version, XmlDocument state)
at Microsoft.SharePoint.Administration.SPConfigurationDatabase.GetObject(Guid id, Guid parentId, Guid type, String name, SPObjectStatus status, Byte[] versionBuffer, String xml)
at Microsoft.SharePoint.Administration.SPConfigurationDatabase.GetObject(SqlDataReader dr)
at Microsoft.SharePoint.Administration.SPConfigurationDatabase.RefreshCache(Int64 currentVersionOverride, List`1& newObjects, List`1& deletedObjects, Int64& newestObjectVersion)
at Microsoft.SharePoint.Administration.SPConfigurationDatabase.RefreshCache()
at Microsoft.SharePoint.Administration.SPConfigurationDatabase.StoreObject(SPPersistedObject obj, Boolean storeClassIfNecessary, Boolean ensure)
at Microsoft.SharePoint.Administration.SPConfigurationDatabase.PutObject(SPPersistedObject obj, Boolean ensure)
at Microsoft.SharePoint.Administration.SPPersistedObject.Update()
at Microsoft.SharePoint.Administration.SPServiceInstance.Update()
at Microsoft.SharePoint.Administration.SPWebServiceInstance.Provision()
at Microsoft.SharePoint.PostSetupConfiguration.CentralAdministrationSiteTask.ProvisionAdminVs()
at Microsoft.SharePoint.PostSetupConfiguration.CentralAdministrationSiteTask.Run()
at Microsoft.SharePoint.PostSetupConfiguration.TaskThread.ExecuteTask()
June 9th, 2010 12:32pm
anything else i can try ?
Free Windows Admin Tool Kit Click here and download it now
June 9th, 2010 2:25pm
Found a blog where someone has exactly the same problem.
http://tobi-23.spaces.live.com/blog/cns!1E1C102E5AB99FE0!194.entry
It's in german though, but the pictures show the proposed solution. Is it safe to delete objects from the config database like that ? Will the configuration wizard recreate them?
June 9th, 2010 3:31pm


