none
SharePoint 2016 - Upgrade May/June 2018 Fails RRS feed

  • Pergunta

  • Hi All,

    I try to upgrade our SharePoint 2016 single server farm, first with May 2018 CU, then June 2018 CU, however running psonfigGUI og PSConfig fails with the below message:

    06/21/2018 13:29:02  14  ERR                  Task upgradebootstrap has failed with an unknown exception
    06/21/2018 13:29:02  14  ERR                  Exception: System.MemberAccessException: Cannot create an instance of System.Collections.Generic.Dictionary`2[Microsoft.SharePoint.Administration.SPUrlZone,System.Collections.Generic.List`1[T]] because Type.ContainsGenericParameters is true.
       at System.Reflection.RuntimeConstructorInfo.CheckCanCreateInstance(Type declaringType, Boolean isVarArg)
       at System.Reflection.RuntimeConstructorInfo.ThrowNoInvokeException()
       at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
       at System.Reflection.ConstructorInfo.Invoke(Object[] parameters)
       at Microsoft.SharePoint.Administration.SPAutoSerializingObject.InvokeEmptyConstructor(Type type)
       at Microsoft.SharePoint.Administration.SPAutoSerializingObject.DeserializeBasicObject(XmlElement xmlValue, Boolean isMerge, Boolean bResolveMissingTypes)
       at Microsoft.SharePoint.Administration.SPAutoSerializingObject.SetStateXml(XmlNodeList childNodes, Boolean isMerge, Boolean bResolveMissingTypes)
       at Microsoft.SharePoint.Administration.SPAutoSerializingObject.SetStateXml(XmlDocument value, Boolean bResolveMissingTypes)
       at Microsoft.SharePoint.Administration.SPPersistedObject.Initialize(ISPPersistedStoreProvider persistedStoreProvider, 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.FetchObject(Guid id)
       at Microsoft.SharePoint.Administration.SPConfigurationDatabase.GetObject(Guid id, Boolean checkInMemoryCache, Boolean checkFileSystemCache, Boolean checkDatabase)
       at Microsoft.SharePoint.Administration.SPConfigurationDatabase.Microsoft.SharePoint.Administration.ISPPersistedStoreProvider.GetParent(SPPersistedObject persistedObject)
       at Microsoft.SharePoint.Administration.SPJobDefinition.get_WebApplication()
       at Microsoft.SharePoint.Administration.SPJobDefinition.Validate()
       at Microsoft.SharePoint.Administration.SPPersistedObject.ValidateUpdatePermission(Boolean legacyUpdate)
       at Microsoft.SharePoint.Administration.SPPersistedObject.BaseUpdateCore(Boolean legacyUpdate)
       at Microsoft.SharePoint.Administration.SPConfigurationDatabase.ResolveObjectAndClassVersions(SPLog log)
       at Microsoft.SharePoint.Upgrade.SPConfigurationDatabaseSequence2.Upgrade()
       at Microsoft.SharePoint.Upgrade.SPUpgradeSession.RunUpgraders(Object o, List`1 lstClass)
       at Microsoft.SharePoint.Upgrade.SPUpgradeSession.Upgrade(Object o, Boolean bRecurse)
       at Microsoft.SharePoint.Upgrade.SPManager.BootStrap(Guid sessionId, SPUpgradeOperationFlags flags)
       at Microsoft.SharePoint.PostSetupConfiguration.UpgradeBootstrapTask.Run()
       at Microsoft.SharePoint.PostSetupConfiguration.TaskThread.ExecuteTask()


    I've tried the following:
    1: Running with SetupUser
    2: Running with FarmAdmin
    3: Running "psconfig -cmd secureresources", which fails with same error message.
    4: Running SQL Profiler to check for any Access Denied or similar.
    5: Running Proc Mon to check for any obvious Access Denied or smilar.
    6: Granting additional permissions DB_Owner on all databases.
    7: Dismount all content databases.
    8: Upgrade-SPContent database, which succeeds on all content databases.


    Any ideas because I am really really out of ideas.....

    quinta-feira, 21 de junho de 2018 11:34

Respostas

  • Rebuilding the farm now.

    Pretty sure that there was something buggy about the Central Administration site, that preventing unprovisioning of the site, as well as patching the entire farm.

    Big bad error I tell you all :(

    • Marcado como Resposta Jesper Arnecke domingo, 24 de junho de 2018 14:10
    domingo, 24 de junho de 2018 13:58

Todas as Respostas

  • Just to add, its a production environment which has been running fine for some time, but then started to get some weird hickups.

    I suspect some faulty patching to begin with, however I am unable to get out of this knot...

    quinta-feira, 21 de junho de 2018 11:37
  • You don't need to double-hop your upgrades. You just need to deploy the latest PU you want to deploy, they're commutative. Based on the error, a couple things you might try:

    Run Install-SPApplicationContent then try running the Config Wizard again. If that doesn't work, try stopping Foundation Web Service (this will retract the Web Application(s) except for Central Admin -- this also means removal of the web.config file, if you've made manual changes, make sure to record it first). Run the Config Wizard. Start the Foundation Web Service post-Config Wizard.


    Trevor Seward

    Office Servers and Services MVP



    Author, Deploying SharePoint 2016

    This post is my own opinion and does not necessarily reflect the opinion or view of Microsoft, its employees, or other MVPs.

    • Sugerido como Resposta Ethan Liu MS sexta-feira, 22 de junho de 2018 06:56
    • Não Sugerido como Resposta Jesper Arnecke sábado, 23 de junho de 2018 14:26
    quinta-feira, 21 de junho de 2018 15:10
    Moderador
  • Hi Trevor,

    Thanks load for the suggestions, however none of them changed the error message. I would suspect that the Central administration web application would have issues.

    The error looks like something in the Web application, however following your suggestion and "dismounting" the web application did not change anything. I guess down to the Central Administration site.

    Still trying to get this to work, so any other suggestions would be very welcome :)

    sábado, 23 de junho de 2018 14:26
  • To add, it doesnt matter which psconfig command I run, it will always fail with the above.

    Right now I am trying to unprovision the Central Administration site, which seems to be somewhat of a hassle...

    Also when running the PSConfigGUI, I'm not getting any window regarding Central Administration. Looks like Central Admin site is indeed very fubar and farm is disliking any attempt to correct this...

    sábado, 23 de junho de 2018 15:35
  • Rebuilding the farm now.

    Pretty sure that there was something buggy about the Central Administration site, that preventing unprovisioning of the site, as well as patching the entire farm.

    Big bad error I tell you all :(

    • Marcado como Resposta Jesper Arnecke domingo, 24 de junho de 2018 14:10
    domingo, 24 de junho de 2018 13:58
  • Hi Jesper, Any advice on how to fix this. I have struck the same issue!!


    • Editado Jkoppen terça-feira, 21 de maio de 2019 12:00
    terça-feira, 21 de maio de 2019 11:59
  • Hiya,

    Sorry no. I ended up rebuilding the entire farm. I simply could not get that unlocked and trust me, I spend quite a lot of hours trying.

    I was 100% sure that it was relating to the Central Administration site, I just never found a better way out. I had all the scripts to rebuild, so in the end that was faster.

    quarta-feira, 22 de maio de 2019 09:31
  • Hello,

    We had a similar issue yesterday. The problem was some outdated/orphaned class was in SPConfig database. After we removed this entries from database, the upgrade was successful.

    The Upgrade log (find in the ULSLog directory) contains detailed information:

    PSCONFIG (0x0784)	0x0CB4	SharePoint Foundation Upgrade	SPConfigurationDatabaseSequence2	aj6qc	DEBUG	Retrieving and updating object c1682f58-25b3-4878-8abf-e8e7ee0a1234 because its class id 7e92f2f0-c00d-39d0-8722-15eb1a171234 is also being updated.	00000000-0000-0000-0000-000000000000
    
    PSCONFIG (0x0784)	0x0CB4	SharePoint Foundation Upgrade	SPUpgradeSession	aloot	DEBUG	Exiting IUpgrader.Upgrade() for upgrader [Microsoft.SharePoint.Upgrade.SPConfigurationDatabaseSequence2] on object [SPConfigurationDatabase]	00000000-0000-0000-0000-000000000000
    
    PSCONFIG (0x0784)	0x0CB4	SharePoint Foundation Upgrade	SPUpgradeSession	ajxnm	ERROR	Upgrade [SPConfigurationDatabase] failed.	00000000-0000-0000-0000-000000000000
    
    PSCONFIG (0x0784)	0x0CB4	SharePoint Foundation Upgrade	SPUpgradeSession	ajxnm	ERROR	Upgrade [SPConfigurationDatabase] failed.	00000000-0000-0000-0000-000000000000
    
    PSCONFIG (0x0784)	0x0CB4	SharePoint Foundation Upgrade	SPUpgradeSession	ajxnm	ERROR	Exception: Cannot create an instance of System.Collections.Generic.Dictionary`2[Microsoft.SharePoint.Administration.SPUrlZone,System.Collections.Generic.List`1[T]] because Type.ContainsGenericParameters is true.	00000000-0000-0000-0000-000000000000
    
    PSCONFIG (0x0784)	0x0CB4	SharePoint Foundation Upgrade	SPUpgradeSession	ajxnm	ERROR	   at System.Reflection.RuntimeConstructorInfo.CheckCanCreateInstance(Type declaringType, Boolean isVarArg)     at System.Reflection.RuntimeConstructorInfo.ThrowNoInvokeException()     at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)     at System.Reflection.ConstructorInfo.Invoke(Object[] parameters)     at Microsoft.SharePoint.Administration.SPAutoSerializingObject.InvokeEmptyConstructor(Type type)     at Microsoft.SharePoint.Administration.SPAutoSerializingObject.DeserializeBasicObject(XmlElement xmlValue, Boolean isMerge, Boolean bResolveMissingTypes)     at Microsoft.SharePoint.Administration.SPAutoSerializingObject.SetStateXml(XmlNodeList childNodes, Boolean isMerge, Boolean bResolveMissingTypes)     at Microsoft.SharePoint.Administration.SPAutoSerializingObject.SetStateXml(XmlDocument value, Boolean bResolveMissingTypes)     at Microsoft.SharePoint.Administration.SPPersistedObject.Initialize(ISPPersistedStoreProvider persistedStoreProvider, 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.FetchObject(Guid id)     at Microsoft.SharePoint.Administration.SPConfigurationDatabase.GetObject(Guid id, Boolean checkInMemoryCache, Boolean checkFileSystemCache)     at Microsoft.SharePoint.Administration.SPConfigurationDatabase.Microsoft.SharePoint.Administration.ISPPersistedStoreProvider.GetParent(SPPersistedObject persistedObject)     at Microsoft.SharePoint.Administration.SPJobDefinition.get_WebApplication()     at Microsoft.SharePoint.Administration.SPJobDefinition.Validate()     at Microsoft.SharePoint.Administration.SPPersistedObject.BaseUpdate()     at Microsoft.SharePoint.Administration.SPConfigurationDatabase.ResolveObjectAndClassVersions(SPLog log)     at Microsoft.SharePoint.Upgrade.SPConfigurationDatabaseSequence2.Upgrade()     at Microsoft.SharePoint.Upgrade.SPUpgradeSession.Upgrade(Object o, Boolean bRecurse)	00000000-0000-0000-0000-000000000000
    
    PSCONFIG (0x0784)	0x0CB4	SharePoint Foundation Upgrade	SPManager	ajxox	ERROR	Exception: Cannot create an instance of System.Collections.Generic.Dictionary`2[Microsoft.SharePoint.Administration.SPUrlZone,System.Collections.Generic.List`1[T]] because Type.ContainsGenericParameters is true.	00000000-0000-0000-0000-000000000000
    


    After query the configuration database (SPConfig) the ID point to the old version of dll:

    SELECT * FROM dob.Objects WHERE ID='c1682f58-25b3-4878-8abf-e8e7ee0a1234'

    The last XML column contains detailed information regarding this object. This was outdated - see the Version(it was a custom feature witch was updated before).

    <object type="Cutsom.Code.own.TimerJobs.ActivateFeaturesTimerJob, Custom.Code.Core, Version=10.1.17.0, Culture=neutral, PublicKeyToken=2975ae4b6dac1234"><fld name="m_Server" type="null" /><sFld type="Guid" name="m_OriginatingServerId">badabf53-8404-4773-8a90-47ca9e581234</sFld><sFld type="Boolean" name="m_skipOriginatingServer">False</sFld><fld type="Microsoft.SharePoint.Administration.SPJobLockType, Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e91234" name="m_LockType">ContentDatabase</fld><sFld type="String" name="m_Recurrence">daily at 01:00:00</sFld><sFld type="DateTime" name="m_OneTimeOccurrence">0001-01-01T00:00:00</sFld><sFld type="String" name="m_Title"></sFld><sFld type="Int32" name="m_Flags">0</sFld><sFld type="DateTime" name="m_runNowTime">0001-01-01T00:00:00</sFld><sFld type="Boolean" name="m_verboseTracingEnabled">False</sFld><fld type="System.Collections.Hashtable, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c5619341234" name="m_UpgradedPersistedFields" /><fld name="m_Properties" type="null" /><sFld type="String" name="m_LastUpdatedUser">CONTOSO\FarmUser</sFld><sFld type="String" name="m_LastUpdatedProcess">OWSTIMER (1564)</sFld><sFld type="String" name="m_LastUpdatedMachine">COMPUTERNAME1</sFld><sFld type="DateTime" name="m_LastUpdatedTime">2017-06-17T09:55:22</sFld></object>

    How to remove: 

    stsadm.exe -o deleteconfigurationobject -id <objectId>

    After the removal, (it was exist on all webapp, so we did it many times) the psconfig finished successfully.

    Don't forget to clean config cache before the psconfig.

    BE CAREFUL: removing entries from SPConfig database is not a supported. Always backup the database first and/or call MS support.

    BR,

    Istvan


    • Editado ierdelyi segunda-feira, 27 de maio de 2019 09:08
    • Sugerido como Resposta ierdelyi segunda-feira, 27 de maio de 2019 09:08
    • Não Sugerido como Resposta Trevor SewardMVP, Moderator segunda-feira, 27 de maio de 2019 18:36
    segunda-feira, 27 de maio de 2019 09:07
  • Hello,

    We had a similar issue yesterday. The problem was some outdated/orphaned class was in SPConfig database. After we removed this entries from database, the upgrade was successful.

    The Upgrade log (find in the ULSLog directory) contains detailed information:

    PSCONFIG (0x0784)	0x0CB4	SharePoint Foundation Upgrade	SPConfigurationDatabaseSequence2	aj6qc	DEBUG	Retrieving and updating object c1682f58-25b3-4878-8abf-e8e7ee0a1234 because its class id 7e92f2f0-c00d-39d0-8722-15eb1a171234 is also being updated.	00000000-0000-0000-0000-000000000000
    
    PSCONFIG (0x0784)	0x0CB4	SharePoint Foundation Upgrade	SPUpgradeSession	aloot	DEBUG	Exiting IUpgrader.Upgrade() for upgrader [Microsoft.SharePoint.Upgrade.SPConfigurationDatabaseSequence2] on object [SPConfigurationDatabase]	00000000-0000-0000-0000-000000000000
    
    PSCONFIG (0x0784)	0x0CB4	SharePoint Foundation Upgrade	SPUpgradeSession	ajxnm	ERROR	Upgrade [SPConfigurationDatabase] failed.	00000000-0000-0000-0000-000000000000
    
    PSCONFIG (0x0784)	0x0CB4	SharePoint Foundation Upgrade	SPUpgradeSession	ajxnm	ERROR	Upgrade [SPConfigurationDatabase] failed.	00000000-0000-0000-0000-000000000000
    
    PSCONFIG (0x0784)	0x0CB4	SharePoint Foundation Upgrade	SPUpgradeSession	ajxnm	ERROR	Exception: Cannot create an instance of System.Collections.Generic.Dictionary`2[Microsoft.SharePoint.Administration.SPUrlZone,System.Collections.Generic.List`1[T]] because Type.ContainsGenericParameters is true.	00000000-0000-0000-0000-000000000000
    
    PSCONFIG (0x0784)	0x0CB4	SharePoint Foundation Upgrade	SPUpgradeSession	ajxnm	ERROR	   at System.Reflection.RuntimeConstructorInfo.CheckCanCreateInstance(Type declaringType, Boolean isVarArg)     at System.Reflection.RuntimeConstructorInfo.ThrowNoInvokeException()     at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)     at System.Reflection.ConstructorInfo.Invoke(Object[] parameters)     at Microsoft.SharePoint.Administration.SPAutoSerializingObject.InvokeEmptyConstructor(Type type)     at Microsoft.SharePoint.Administration.SPAutoSerializingObject.DeserializeBasicObject(XmlElement xmlValue, Boolean isMerge, Boolean bResolveMissingTypes)     at Microsoft.SharePoint.Administration.SPAutoSerializingObject.SetStateXml(XmlNodeList childNodes, Boolean isMerge, Boolean bResolveMissingTypes)     at Microsoft.SharePoint.Administration.SPAutoSerializingObject.SetStateXml(XmlDocument value, Boolean bResolveMissingTypes)     at Microsoft.SharePoint.Administration.SPPersistedObject.Initialize(ISPPersistedStoreProvider persistedStoreProvider, 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.FetchObject(Guid id)     at Microsoft.SharePoint.Administration.SPConfigurationDatabase.GetObject(Guid id, Boolean checkInMemoryCache, Boolean checkFileSystemCache)     at Microsoft.SharePoint.Administration.SPConfigurationDatabase.Microsoft.SharePoint.Administration.ISPPersistedStoreProvider.GetParent(SPPersistedObject persistedObject)     at Microsoft.SharePoint.Administration.SPJobDefinition.get_WebApplication()     at Microsoft.SharePoint.Administration.SPJobDefinition.Validate()     at Microsoft.SharePoint.Administration.SPPersistedObject.BaseUpdate()     at Microsoft.SharePoint.Administration.SPConfigurationDatabase.ResolveObjectAndClassVersions(SPLog log)     at Microsoft.SharePoint.Upgrade.SPConfigurationDatabaseSequence2.Upgrade()     at Microsoft.SharePoint.Upgrade.SPUpgradeSession.Upgrade(Object o, Boolean bRecurse)	00000000-0000-0000-0000-000000000000
    
    PSCONFIG (0x0784)	0x0CB4	SharePoint Foundation Upgrade	SPManager	ajxox	ERROR	Exception: Cannot create an instance of System.Collections.Generic.Dictionary`2[Microsoft.SharePoint.Administration.SPUrlZone,System.Collections.Generic.List`1[T]] because Type.ContainsGenericParameters is true.	00000000-0000-0000-0000-000000000000


    After query the configuration database (SPConfig) the ID point to the old version of dll:

    SELECT * FROM dob.Objects WHERE ID='c1682f58-25b3-4878-8abf-e8e7ee0a1234'

    The last XML column contains detailed information regarding this object. This was outdated - see the Version(it was a custom feature witch was updated before).

    <object type="Cutsom.Code.own.TimerJobs.ActivateFeaturesTimerJob, Custom.Code.Core, Version=10.1.17.0, Culture=neutral, PublicKeyToken=2975ae4b6dac1234"><fld name="m_Server" type="null" /><sFld type="Guid" name="m_OriginatingServerId">badabf53-8404-4773-8a90-47ca9e581234</sFld><sFld type="Boolean" name="m_skipOriginatingServer">False</sFld><fld type="Microsoft.SharePoint.Administration.SPJobLockType, Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e91234" name="m_LockType">ContentDatabase</fld><sFld type="String" name="m_Recurrence">daily at 01:00:00</sFld><sFld type="DateTime" name="m_OneTimeOccurrence">0001-01-01T00:00:00</sFld><sFld type="String" name="m_Title"></sFld><sFld type="Int32" name="m_Flags">0</sFld><sFld type="DateTime" name="m_runNowTime">0001-01-01T00:00:00</sFld><sFld type="Boolean" name="m_verboseTracingEnabled">False</sFld><fld type="System.Collections.Hashtable, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c5619341234" name="m_UpgradedPersistedFields" /><fld name="m_Properties" type="null" /><sFld type="String" name="m_LastUpdatedUser">CONTOSO\FarmUser</sFld><sFld type="String" name="m_LastUpdatedProcess">OWSTIMER (1564)</sFld><sFld type="String" name="m_LastUpdatedMachine">COMPUTERNAME1</sFld><sFld type="DateTime" name="m_LastUpdatedTime">2017-06-17T09:55:22</sFld></object>

    How to remove: 

    stsadm.exe -o deleteconfigurationobject -id <objectId>

    After the removal, (it was exist on all webapp, so we did it many times) the psconfig finished successfully.

    Don't forget to clean config cache before the psconfig.

    BE CAREFUL: removing entries from SPConfig database is not a supported. Always backup the database first and/or call MS support.

    BR,

    Istvan


    I had this problem on a clean farm, no custom solutions deployed. Brand spanking new. So that was, atleast not the case in my situation.

    It got pinpointed very specifically to the Central Administration Web Application/site.

    segunda-feira, 27 de maio de 2019 10:34
  • Did you check the Upgrade logs?

    Could you please copy some lines of the logs?  (look for this in the logs: "Exception: Cannot create an instance of System.Collections.Generic.Dictionary" and copy some lines before. I would like to check this.

    BR,

    Istvan

    segunda-feira, 27 de maio de 2019 13:22
  • Hi ierdelyi,

    This solution worked for me. Thank you.

    Regards

    JK

    quarta-feira, 29 de maio de 2019 23:41