locked
WSUS constantly chrashes (Unexpected Error 7053) RRS feed

  • Question

  • Hello,

    I´ve recently updated my WSUS Environment from Server 2008R2 to Server 2012R2.

    Yesterday i perfomed the 3rd reinstallation of WSUS Role in the last 2 Weeks to prevent that something went wrong with the former installations.

    I deleted everything, including sudb to have a real fresh environment.

    Since the first installation i constantly get "unexpected error" crashes of the console at some points.
    This doesnt´s stress me that much because it was not so often and i could perfom the actions by deleting the wsus file and start over.

    But now, If i click on unassigned devices the WSUS Console crashs with an "unexpected Error". I´ve already performed the Steps suggested solutions (deleting WSUS File under %appdata%, add feature HTTP Activation for .net FW 4.5 etc.)

    I constantly get a crash error 7053 wenn i try to see my unassigned devices.

    Here is the complete XML Error Log: The WSUS administration console has encountered an unexpected error. This may be a transient error; try restarting the administration console. If this error persists, Try removing the persisted preferences for the console by deleting the wsus file under %appdata%\Microsoft\MMC\. The WSUS administration console has encountered an unexpected error. This may be a transient error; try restarting the administration console. If this error persists, Try removing the persisted preferences for the console by deleting the wsus file under %appdata%\Microsoft\MMC\. System.Xml.XmlException -- '', hexadecimal value 0x16, is an invalid character. Line 1, position 38948. Source System.Xml Stack Trace: at System.Xml.XmlTextReaderImpl.Throw(Exception e) at System.Xml.XmlTextReaderImpl.ParseNumericCharRefInline(Int32 startPos, Boolean expand, StringBuilder internalSubsetBuilder, Int32& charCount, EntityType& entityType) at System.Xml.XmlTextReaderImpl.ParseCharRefInline(Int32 startPos, Int32& charCount, EntityType& entityType) at System.Xml.XmlTextReaderImpl.ParseText(Int32& startPos, Int32& endPos, Int32& outOrChars) at System.Xml.XmlTextReaderImpl.ParseText() at System.Xml.XmlTextReaderImpl.ParseElementContent() at System.Xml.XmlReader.ReadStartElement() at System.Xml.Serialization.XmlSerializationReader.ReadStringValue() at System.Xml.Serialization.XmlSerializationReader.ReadTypedPrimitive(XmlQualifiedName type, Boolean elementCanBeType) at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderApiRemotingCompressionProxy.Read1_Object(Boolean isNullable, Boolean checkType) at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderApiRemotingCompressionProxy.Read2_GenericReadableRow(Boolean isNullable, Boolean checkType) at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderApiRemotingCompressionProxy.Read339_Item() at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) ** this exception was nested inside of the following exception ** System.InvalidOperationException -- There is an error in XML document (1, 38948). Source System.Xml Stack Trace: at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at Microsoft.UpdateServices.Internal.ApiRemoting.ExecuteSPSearchComputers(String computerTargetScopeXml) at Microsoft.UpdateServices.Internal.DatabaseAccess.AdminDataAccessProxy.ExecuteSPSearchComputers(String computerTargetScopeXml) at Microsoft.UpdateServices.Internal.BaseApi.ComputerTarget.SearchComputerTargets(ComputerTargetScope searchScope, UpdateServer updateServer) at Microsoft.UpdateServices.UI.AdminApiAccess.ComputerTargetManager.GetComputerTargets(ComputerTargetScope searchScope) at Microsoft.UpdateServices.UI.AdminApiAccess.BulkComputerPropertiesCache.GetAndCacheComputers(ExtendedUpdateScope updateScope, ComputerTargetScope computerTargetScope) at Microsoft.UpdateServices.UI.SnapIn.Pages.ComputersListPage.GetListRows()

    As workaround, i´ve activated the Client Side Targeting to have my Clients and Servers added to WSUS Groups, but to be honest i´m one step away from reinstalling WSUS at Server 2008R2.

    What is wrong with my installation?

    Kind Regards
    Boris

    Tuesday, August 9, 2016 8:17 AM

Answers

  • Hi Sedo IT,

    >Is it possible that a corrupt or defect client can do this to the console?

    Hard to say, while from my point of view, I will not believe WSUS clients can cause the crash.

    1. Please check if you are running any third-party software on the WSUS server, if yes, turn off them and check the result;

    2. Run sfc/scannow in cmd on the WSUS server, this command can help check if there are corrupted system files;

    3. Run server cleanup wizard, check if it could help;

    4. Check the WSUS event log, locates in C:\program files\update services\logfiles, check if there are errors.

    Best Regards,

    Anne


    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact tnmff@microsoft.com.




    Wednesday, August 10, 2016 6:59 AM

All replies

  • Am 09.08.2016 schrieb Sedo IT:
    Hi Boris,

    ´ve recently updated my WSUS Environment from Server 2008R2 to Server 2012R2.

    Please see this KB article:
    https://support.microsoft.com/en-us/kb/3159706

    After installing this Update you have to perform manual steps. Without them it looks like the issues you're experience right now.

    HTH
    Norbert


    Dilbert's words of wisdom #19:
    Am I getting smart with you? How would you know?
    nntp-bridge Zugriff auf die MS Foren wieder möglich: https://communitybridge.codeplex.com/

    Tuesday, August 9, 2016 8:40 AM
  • Hi Norbert,

    thank´s for the advise. I´ve reinstalled KB 3159706 and performed the modifications at the web.config.Now the console crashes with another error.

    The WSUS administration console was unable to connect to the WSUS Server Database.
        
    Verify that SQL server is running on the WSUS Server. If the problem persists, try restarting SQL.
        
    System.Data.SqlClient.SqlException -- Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
    The statement has been terminated.

    Source
    .Net SqlClient Data Provider

    Stack Trace:
       at Microsoft.UpdateServices.Internal.BaseApi.SoapExceptionProcessor.DeserializeAndThrow(SoapException soapException)
       at Microsoft.UpdateServices.Internal.DatabaseAccess.AdminDataAccessProxy.ExecuteSPGetUpdateCount(String updateScopeXml, String preferredCulture, ExtendedPublicationState publicationState)
       at Microsoft.UpdateServices.UI.SnapIn.Pages.ComputersListPage.GetListRows()


    Im using the WID. Do you have another hint for me?

    Kind Regards

    Boris

    Tuesday, August 9, 2016 10:03 AM
  • UPDATE:

    I´ve restarted the WID Service and it seems to work now for the Client Side targeted Groups.

    But the console crashes again when i click at "unassigned devices".

    For strange reasons, there are client accounts still in this group.

    What can i do?

    Kind Regards

    Boris


    The WSUS administration console was unable to connect to the WSUS Server via the remote API.

    Verify that the Update Services service, IIS and SQL are running on the server. If the problem persists, try restarting IIS, SQL, and the Update Services Service.

    System.Net.WebException -- The operation has timed out

    Source
    System.Web.Services

    Stack Trace:
       at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
       at Microsoft.UpdateServices.Internal.DatabaseAccess.ApiRemotingCompressionProxy.GetWebResponse(WebRequest webRequest)
       at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
       at Microsoft.UpdateServices.Internal.ApiRemoting.ExecuteSPGetUpdateServerStatus(Int32 updateSources, Boolean includeDownstreamComputers, String updateScopeXml, String computerTargetScopeXml, String preferredCulture, Int32 publicationState, Int32 propertiesToGet)
       at Microsoft.UpdateServices.Internal.DatabaseAccess.AdminDataAccessProxy.ExecuteSPGetUpdateServerStatus(UpdateSources updateSources, Boolean includeDownstreamComputers, String updateScopeXml, String computerTargetScopeXml, String preferredCulture, ExtendedPublicationState publicationState, UpdateServerStatusPropertiesToGet propertiesToGet)
       at Microsoft.UpdateServices.Internal.BaseApi.UpdateServer.GetStatus(UpdateSources updateSources, Boolean includeDownstreamComputers, UpdateScope updatesToInclude, ComputerTargetScope computersToInclude, UpdateServerStatusPropertiesToGet propertiesToGet)
       at Microsoft.UpdateServices.Internal.BaseApi.UpdateServer.GetReplicaStatus(UpdateSources updateSources)
       at Microsoft.UpdateServices.UI.AdminApiAccess.CachedObject.RefreshCache()
       at Microsoft.UpdateServices.UI.AdminApiAccess.CachedObject.GetFromCache()
       at Microsoft.UpdateServices.UI.SnapIn.Pages.ServerSummaryPage.backgroundWorker_DoWork(Object sender, DoWorkEventArgs e)
    • Edited by Sedo IT Tuesday, August 9, 2016 10:33 AM
    Tuesday, August 9, 2016 10:27 AM
  • Am 09.08.2016 schrieb Sedo IT:

    I´ve restarted the WID Service and it seems to work now for the Client Side targeted Groups.

    But the console crashes again when i click at "unassigned devices".

    Did you run all manual steps from the KB? https://support.microsoft.com/en-us/kb/3159706 If yes, pls restart the whole Server.

    Servus
    Winfried


    WSUS Package Publisher: http://wsuspackagepublisher.codeplex.com/
    HowTos zum WSUS Package Publisher http://www.wsus.de/wpp
    GPO's: http://www.gruppenrichtlinien.de
    NNTP-Bridge für MS-Foren: http://communitybridge.codeplex.com/

    Tuesday, August 9, 2016 11:00 AM
  • Hello Winfried,

    thx for your Info, i´ve restarted the whole server but there´s no improvement.

    The console chrashes everytime i scan unassigned devices or all computers.

    I had workaround the problem by using the client side targeting GPO, but this is no satisfying status.

    Kind Regards

    Boris

    Tuesday, August 9, 2016 12:50 PM
  • UPDATE:

    now the console crashes at my "clients" group.

    Unassigned Computers is now working.

    Is it possible that a corrupt or defect client can do this to the console?

    How can i detect this client?

    Kind Regards
    Boris

    Tuesday, August 9, 2016 1:22 PM
  • Am 09.08.2016 schrieb Sedo IT:
    Hi,

    thank´s for the advise. I´ve reinstalled KB 3159706 and performed the modifications at the web.config.Now the console crashes with another error.

    You installed the http activation as well and performed:
    "C:\Program Files\Update Services\Tools\wsusutil.exe" postinstall /servicing
    ?

    Bye
    Norbert


    Dilbert's words of wisdom #18:
    Never argue with an idiot. They drag you down to their level then beat you with experience.
    nntp-bridge Zugriff auf die MS Foren wieder möglich: https://communitybridge.codeplex.com/

    Tuesday, August 9, 2016 9:17 PM
  • Hi Sedo IT,

    >Is it possible that a corrupt or defect client can do this to the console?

    Hard to say, while from my point of view, I will not believe WSUS clients can cause the crash.

    1. Please check if you are running any third-party software on the WSUS server, if yes, turn off them and check the result;

    2. Run sfc/scannow in cmd on the WSUS server, this command can help check if there are corrupted system files;

    3. Run server cleanup wizard, check if it could help;

    4. Check the WSUS event log, locates in C:\program files\update services\logfiles, check if there are errors.

    Best Regards,

    Anne


    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact tnmff@microsoft.com.




    Wednesday, August 10, 2016 6:59 AM
  • Hi Boris!

    I was running into the exact same error:

    System.Xml.XmlException -- '', hexadecimal value 0x16, is an invalid character. Line 1, position 153345.
    
    Source
    System.Xml
    
    Stack Trace:
       at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args)
       at System.Xml.XmlTextReaderImpl.ParseNumericCharRefInline(Int32 startPos, Boolean expand, StringBuilder internalSubsetBuilder, Int32& charCount, EntityType& entityType)
       at System.Xml.XmlTextReaderImpl.ParseCharRefInline(Int32 startPos, Int32& charCount, EntityType& entityType)
       at System.Xml.XmlTextReaderImpl.ParseText(Int32& startPos, Int32& endPos, Int32& outOrChars)
       at System.Xml.XmlTextReaderImpl.ParseText()
       at System.Xml.XmlTextReaderImpl.ParseElementContent()
       at System.Xml.XmlReader.ReadStartElement()
       at System.Xml.Serialization.XmlSerializationReader.ReadStringValue()
       at System.Xml.Serialization.XmlSerializationReader.ReadTypedPrimitive(XmlQualifiedName type, Boolean elementCanBeType)
       at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderApiRemotingCompressionProxy.Read1_Object(Boolean isNullable, Boolean checkType)
       at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderApiRemotingCompressionProxy.Read2_GenericReadableRow(Boolean isNullable, Boolean checkType)
       at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderApiRemotingCompressionProxy.Read339_Item()
       at Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer623.Deserialize(XmlSerializationReader reader)
       at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
    ** this exception was nested inside of the following exception **
    
    System.InvalidOperationException -- There is an error in XML document (1, 153345).
    
    Source
    System.Xml
    
    Stack Trace:
       at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
       at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle)
       at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
       at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
       at Microsoft.UpdateServices.Internal.ApiRemoting.ExecuteSPSearchComputers(String computerTargetScopeXml)
       at Microsoft.UpdateServices.Internal.DatabaseAccess.AdminDataAccessProxy.ExecuteSPSearchComputers(String computerTargetScopeXml)
       at Microsoft.UpdateServices.Internal.BaseApi.ComputerTarget.SearchComputerTargets(ComputerTargetScope searchScope, UpdateServer updateServer)
       at Microsoft.UpdateServices.UI.AdminApiAccess.BulkComputerPropertiesCache.GetAndCacheComputers(ExtendedUpdateScope updateScope, ComputerTargetScope computerTargetScope)
       at Microsoft.UpdateServices.UI.SnapIn.Pages.ComputersListPage.GetListRows()


    Backstory: In an attempt to fix this, I've redeployed WSUS and split out Windows 7 and 10 clients to different WSUS computer groups, and found that everything worked fine for a while, until my WSUS 'Windows 7' computer group started crashing with the same error. I then created a second 'Windows 7 - 2' WSUS computer group, tweaked my GPO settings to point to it, and sure enough, it worked for a while and then stopped just as before. However, what I noticed was that my original 'Windows 7' computer group now worked! I spoke with my colleagues and we agreed that it had to be a bad computer record that was breaking the SOAP/XML-parsing WSUS console as it switched computer groups.

    I'm excited to say that I was able to fix this issue today! The problem ended up being an invalid Dell laptop model/BIOS information, that contained an invalid Unicode character. WSUS automatically gathers model and BIOS system data through WMI calls, and in this case, it stored invalid character data in its SUSDB database.

    Here are the steps I followed to identify the offending computer.

    * Accessed the WSUS server and intentionally caused the WSUS console to crash by accessing the broken computer group.
    * Hit the Copy error info button to put the data in my clipboard.
    * Installed Notepad++ and pasted the error info (standard Notepad, Wordpad, etc. will not display the invalid character, so this step was required).
     --> The "System.Xml.XmlException -- '[x]', hexadecimal value 0x16" line should properly display an invalid character where the [x] is. In my case, the invalid character was a single symbol that contained the letters SYN.
    * On the WSUS server, I launched the SQL Management Studio Express software as an elevated process (free software from Microsoft).
    * Connected to my WSUS WID database at  \\.\pipe\MICROSOFT##WID\tsql\query  .
    * Changed a default view setting by going to the Tools > Options > SQL Server Object Explorer settings, then adjusted the 'Value for Edit Top <n> Rows command' from 200 to 0, making the option display all rows.
    * Through trial, error, and some luck, I navigated down within the SUSDB database, to the dbo.tbComputerTargetDetail table, right-clicked it, and selected 'Edit All Rows'.
    * I was then able to click the top left corner of the column/rows to select everything, then copy-pasted it into NotePad++ (and again, Excel, Notepad, Wordpad, etc. didn't suffice here -- it had to be NotePad++ to view the character data).
    * Within NotePad++, I then searched for the for that invalid SYN symbol (your symbol might be different, but I had to use the clipboard to get it into the search box).
    * Located the symbol within my dbo.tbComputerTargetDetail table, and it listed it as follows:
     --> Target ID column: 1312 ... DELL__SYN Unknown BIOS Date: 04/10/15 Ver: A03.00
     --> This is broken Dell model/BIOS information contained an invalid character as part of its model number.
    * Within SQL Management Studio Express, I then right-clicked the dbo.tbComputerTarget table, selected Edit All Rows, and matched the previously mentioned Target ID (1312 in this case was my bad target/record ID from the last step) to a row that showed me the full FQDN of the offending computer on my network, a Dell laptop.
    * To make the fix as clean as possible, I avoided changing anything through the SQL Management Studio Express sofware, as linked records could break things if I tried manually deleting anything.
    * Physically located the Dell laptop, and used Dell Command Update software to update the BIOS to the latest version, and rebooted it.
    * Forced a WSUS client check-in on the laptop by running the following from the command prompt:  WUAUCLT /RESETAUTHORIZATION /DETECTNOW
    * After waiting several minutes for the laptop to compare notes with the WSUS server, I then also ran  WUAUCLT /REPORTNOW  on the laptop.
    * I noticed that the SQL dbo.tbComputerTargetDetail table entry immediately reflected an accurate laptop model and BIOS information for my laptop's Target ID of 1312, eliminating that SYN symbol.
    * More importantly, my WSUS MMC console now works flawlessly, and I can access all computer groups without any problems.

    Good luck!

    -Sterling

    • Proposed as answer by SterlingT Tuesday, October 25, 2016 2:05 AM
    Tuesday, October 25, 2016 2:05 AM
  • +1 for this solution, both for the great bit of detective work and the excellent repair instructions. Been pulling my hair out over this.

    -Gary E

    Friday, November 18, 2016 8:26 PM
  • same error , with sql 2016 data base

    same resolution with managemenent studio on dbo.tbComputerTargetDetail table

    thk!


    vsd

    Tuesday, December 20, 2016 1:34 PM
  • Same problem here, also not supported SYN symbol in database.
    WSUS with SQL database (instead of WID) - default name of DB.

    I've used this SQL to solve problem:
    UPDATE [SUSDB].[dbo].[tbComputerTargetDetail] SET ComputerMake = '##Maker##', ComputerModel = '##COMPUTER MODEL##' WHERE TargetID = ##ID##;

    Changed all  ##...## to own values after finding faulty row.

    @SterlingT - thank You!


    • Edited by Mateusz_P Monday, January 9, 2017 2:35 PM Missing word
    Monday, January 9, 2017 2:33 PM
  • Thanks SterlingT,

    i haved exactly the same problem. your tips save me a lot of time...

    thanks again

    David Jimenez

    Wednesday, February 22, 2017 12:02 PM
  • You are a miracle worker!  This was my problem as well that I've been chasing forever, which followed me along even as I rebuilt WSUS on Server 2016.

    Found the offending system, got my guys to visit & upgrade BIOS, and voila. No more issues!!

    Microsoft really needs to make this more known.  I see the same generic console crashes plaguing TechNet and other forums, all without fixes and even worse-- bad advice.  Invalid characters are probably the issue for many people out there...

    Monday, June 5, 2017 9:54 PM
  • Great fix!  Saved us tons of time. 

    BTW, our server displayed the offending symbol as a half height capital T.

    Tuesday, January 30, 2018 9:36 PM
  • Thanks a whole bunch Sterling,

    I had the same problem with SQL 2016 DB.  Not sure I ever would have found solution without your instructions.  I too had the same invalid character "SYN" which is the ASCII character 0022 Synchronous Idle, a leftover from teletype days.

    We've recently moved over from WSUS 3 to WSUS 10.  These same machines were not an issue in WSUS 3 but started causing failures as soon as they checked in to WSUS 10.  One thing we did notice is that all our bad machines (8 out of 6k machines in WSUS so far) were Dell Latitudes E7250's and E7450's.  Updating the BIOS to the latest release and forcing them to check in to WSUS overwrote the bad character and allowed the console to function again.

    One way to help diagnose this is your console will only crash on the All Computers container and the container with the bad computers in it.   The other containers work fine. 

    We use LANDesk here for our management software and we noticed these machines show up in LANDesk with a model of another ASCII character that looks a little like a short, capital T.  We were able to use that in a query to help us find other bad machines. 

    You'd think Microsoft could make WSUS a little more forgiving/robust!

    Thanks  again for the post!

    Rick

    Thursday, March 15, 2018 12:37 PM
  • Your answer is excellent!

    Thanks! Sachin Kumar (MSCE, MCSA) | Disclaimer: This posting is provided AS IS with no warranties or guarantees.

    Thursday, March 15, 2018 3:06 PM
  • Thank you for this post SterlingT! AJTek.ca pointed me to your post. We followed these steps and it resolved the issue. We too discovered we had a laptop reporting incorrect settings in WSUS. A BIOS update resolved it. Thanks again for your hard work and sharing this!

    Sincerely,

    Brian

    Friday, July 20, 2018 8:21 PM