none
Bug: halt when deleting unneeded update files

    Question

  • If WSUS installed on a heavy IO loaded harddrive (LUN) of a VM, when deleting unneeded update files by Server Cleanup Wizard, MMC node may halt.

    Server OS: Windows Server 2012 Standard

    Errors can be located in Event Log:
    An unhandled exception occurred and the process was terminated.
    Application ID: /LM/W3SVC/1881423753/ROOT/ServerSyncWebService
    Process ID: 3288
    Exception: System.NullReferenceException
    Message: Object reference not set to an instance of an object.
    StackTrace:    at Microsoft.UpdateServices.Internal.DataAccess.GetRevisionIdListForCache(Int64 deploymentChangeNumber, Int64& highestChangeNumber, CategoryIdCacheEntry[]& newCategoryDeployments, CategoryIdCacheEntry[]& deletedCategoryDeployments, RevisionIdCacheEntry[]& newRevisionDeployments, RevisionIdCacheEntry[]& deletedRevisionDeployments)
    at Microsoft.UpdateServices.Internal.RevisionIdCache.UpdateCategoryAndRevisionIdCache(Int64 deploymentChangeNumberAtRefresh)
    at Microsoft.UpdateServices.Internal.ServerImplementation.UpdateCache()
    at Microsoft.UpdateServices.Internal.ServerImplementation.DatabaseChangeHandler(Object byTimer)
    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    at System.Threading.TimerQueueTimer.CallCallback()
    at System.Threading.TimerQueueTimer.Fire()
    at System.Threading.TimerQueue.FireNextTimers()

    Application: w3wp.exe
    Framework Version: v4.0.30319
    Description: The process was terminated due to an unhandled exception.
    Exception Info: System.NullReferenceException
    Stack:
    at Microsoft.UpdateServices.Internal.DataAccess.GetRevisionIdListForCache(Int64, Int64 ByRef, Microsoft.UpdateServices.Internal.CategoryIdCacheEntry[] ByRef, Microsoft.UpdateServices.Internal.CategoryIdCacheEntry[] ByRef, Microsoft.UpdateServices.Internal.RevisionIdCacheEntry[] ByRef, Microsoft.UpdateServices.Internal.RevisionIdCacheEntry[] ByRef)
    at Microsoft.UpdateServices.Internal.RevisionIdCache.UpdateCategoryAndRevisionIdCache(Int64)
    at Microsoft.UpdateServices.Internal.ServerImplementation.UpdateCache()
    at Microsoft.UpdateServices.Internal.ServerImplementation.DatabaseChangeHandler(System.Object)
    at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
    at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
    at System.Threading.TimerQueueTimer.CallCallback()
    at System.Threading.TimerQueueTimer.Fire()
    at System.Threading.TimerQueue.FireNextTimers()

    Faulting application name: w3wp.exe, version: 8.0.9200.16384, time stamp: 0x50108835
    Faulting module name: KERNELBASE.dll, version: 6.2.9200.16384, time stamp: 0x5010ab2d
    Exception code: 0xe0434352
    Fault offset: 0x00000000000189cc
    Faulting process id: 0xcd8
    Faulting application start time: 0x01cdcff0fa98da3e
    Faulting application path: c:\windows\system32\inetsrv\w3wp.exe
    Faulting module path: C:\Windows\system32\KERNELBASE.dll
    Report Id: 332ed25c-3c39-11e2-93f1-005056b26389
    Faulting package full name: 
    Faulting package-relative application ID:

    Step to repo:

    1 Open Update Services MMC.
    2 Click Options from the left panel.
    3 Select Server Cleanup Wizard from the right.
    4 Press Next.
    MMC node MAY(only when lots of files need to be deleted) be prompted to be reset when deleting unneeded files if it's running longer than usual. Re-open Update Services MMC will fix it. But it will be appeared again another day when many unneeded files exist.


    Eternal Snow

    lundi 10 décembre 2012 14:28

Réponses

  • The ACTUAL (as in helpful, not blaming) answer to this question appears to be covered in this thread:
    http://social.technet.microsoft.com/Forums/windowsserver/en-US/7b12f8b2-d0e6-4f63-a98a-019356183c29/getting-past-wsus-cleanup-wizard-time-out-removing-unnecessary-updates?forum=winserverwsus#7b12f8b2-d0e6-4f63-a98a-019356183c29

    Bascially, the SQL server is timing out when the cleanup wizard tries to remove an unneeded update because the indexes are so poorly setup by WSUS that it takes ages to remove each update. When you get to a point where completing the stored procedure in SQL server takes longer than the timeout period, you can't make any progress at all because the wizard stops after the first attempt times out. 

    The solution is to run the removal of the first or first few manually in SQL Server Studio Express and then let the Cleanup Wizard grind away at it for days until it's cleaned up. 

    And THEN make sure you run it (or the command line version of it) regularly so that it doesn't get out of control again. 

    M$ SHOULD have set that up to run automatically in the first place. We are paying for their lack of foresight and poor index design. It IS a failure of WSUS by putting an unreasonable load on SQL Server and by not automating the process of removal of old updates. 

    • Marqué comme réponse EternalSnow mardi 5 août 2014 05:59
    lundi 4 août 2014 18:57
  • M$ SHOULD have

    Should have would have could have... The software was written in =2004= when there were only three operating systems and four applications being patched by the environment, and barely a few thousand updates in the catalog.

    Today there are ELEVEN operating systems supported, five versions of Office, four versions of SQL Server, four versions of Exchange, and the list goes on, comprising tens of thousands of updates.

    And THAT... btw.. is why operating systems and applications are expired and replaced with NEW ones.

    Your opinions on what the cause of this problem are noted (and I really don't understand what your point is by citing a thread from a few days ago where nothing new was offered that hasn't already been known for years),  but the fact is the problem exists in the communication channel between ASP.NET and the SQL Engine. I realize you don't like that answer (as evidenced by your rude decision to mark my response in that thread as abusive) ... but the fact that you don't like something doesn't make it untrue.

    As you've noted, if you run the stored procedure directly, it runs without issue (but still takes a very long time if it hasn't been run in years). What times out is not the SQL procedure, but the ASP.NET thread waiting on a response from the SQL Server.

    So... I presume you won't like this response either. Will you be marking this one as abusive also?


    Lawrence Garvin, M.S., MCSA, MCITP:EA, MCDBA
    SolarWinds Head Geek
    Microsoft MVP - Software Packaging, Deployment & Servicing (2005-2014)
    My MVP Profile: http://mvp.microsoft.com/en-us/mvp/Lawrence%20R%20Garvin-32101
    http://www.solarwinds.com/gotmicrosoft
    The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds.

    • Marqué comme réponse EternalSnow mercredi 6 août 2014 01:38
    mardi 5 août 2014 23:49

Toutes les réponses

  • Hi,

    How many updates file did you try to delete at one time?How heavy is your IO loaded harddrive?When doing the cleanup wizard,the performance will be affected during the cleanup.I don't suggest do any other tasks during the cleanup.Your operations on the WSUS console will make the connection to the SQL DB as well.So it may break the connection to WSUS console since the DB is in a heavy workload.Also,in your description, it is not in the production environment,is it?If it is in a large WSUS deployment with several downstream servers,it is recommended installing on a physical machine with a full version of back-end SQL server.So it will not affected by overload in performance.

    In addition,a well-maintained WSUS should run the cleanup wizard at least once a month to always keep the updates file and SQL DB fit.So each cleanup wizard will not saturate too many system resources when doing other tasks to the DB.

    Regards,

    Clarence

    TechNet Subscriber Support

    If you are TechNet Subscription user and have any feedback on our support quality, please send your feedback here.


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.


    mardi 11 décembre 2012 05:43
  • Thanks for your reply.

    How can I move WSUS database from Internal Database to a SqlServer?

    I've checked by google but it seems not suitable for WinSvr 2012.

    I'm not able to access Internal database by SqlServer 2005 Management Studio, nor SqlServer 2012 Management Studio either.

    TITLE: Connect to Server

    ------------------------------

    Cannot connect to \\.\pipe\mssql$microsoft##ssee\sql\query.

    ------------------------------
    ADDITIONAL INFORMATION:

    A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) (Microsoft SQL Server, Error: 2)

    For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=2&LinkId=20476

    ------------------------------
    BUTTONS:

    OK
    ------------------------------


    Eternal Snow

    mardi 11 décembre 2012 08:24
  • I've tried to move database from WID (\\.\pipe\MICROSOFT##WID\tsql\query) to local SqlServer Express 2012 and change the registry value SqlServerName to MSSQL$SQLEXPRESS.

    but this kill WSUS.

    WSUS service started, but management node cannot work.

    I've use server backup to rollback. wait for more detailed operation guide or document.


    Eternal Snow

    mardi 11 décembre 2012 10:14
  • Hi,

    I am trying to involve someone familiar with this topic to further look at this issue. There might be some time delay. Appreciate your patience.
    Thank you for your understanding and support.

    Regards,

    Clarence

    TechNet Subscriber Support

    If you are TechNet Subscription user and have any feedback on our support quality, please send your feedbackhere.


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.

    mercredi 12 décembre 2012 02:59
  • That's OK.

    the default named pipe of sqlserver contains \sql\query just like WSUS 3.0 and previous. but the new version of WSUS/WID uses a named pipe contains \tsql\query.

    Can I simply change the pipe name of SqlServer from sql to tsql?

    I'm backing up server to test.


    Eternal Snow

    mercredi 12 décembre 2012 03:07
  • the default named pipe of sqlserver contains \sql\query just like WSUS 3.0 and previous. but the new version of WSUS/WID uses a named pipe contains \tsql\query.

    Can I simply change the pipe name of SqlServer from sql to tsql?

    Well, actually, it contains a couple of differences:

    WID on Win2008: \\.\pipe\MICROSOFT##SSEE\sql\query

    WID on Win2012: \\.\pipe\MICROSOFT##WID\tsql\query

    But yes, using the correct connection string is all that is necessary.


    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    SolarWinds Head Geek
    Microsoft MVP - Software Distribution (2005-2012)
    My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
    The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds.


    mercredi 12 décembre 2012 03:37
  • Yup, but in registry, there is only one key of SqlServerName which is set to MICROSOFT##WID by default. There is no related setting about the whole connection string.

    Eternal Snow

    mercredi 12 décembre 2012 03:45
  • OK. I changed my database from WID to SqlServer. I wrote a migration steps document about this: http://wp.secretnest.info/?p=804

    I'll go on check if this bug still exist.


    Eternal Snow

    mercredi 12 décembre 2012 06:13
  • Hi,

    Have you tried to delete the update files in safe mode and clean boot?

    How to start in Safe mode
    1) Print these instructions before you go to step 2). They will not be available after you shut down the computer in step 2.
    2) Restart your computer.
    3) Use the F8 key. On a computer that is configured to start to multiple operating systems, you can press F8 when you see the Startup menu.
    4) Use the arrow keys to select a Safe mode option, and then press ENTER.
    Note: NUM LOCK functionality must be turned off for the arrow keys on the numeric keypad to work.
    5) If you have a dual-boot or multiple-boot system, use the arrow/2keys to select the installation that you want to access, and then press ENTER. 

    How to perform a clean boot
    1) Log on to the computer by using an account that has administrator rights.
    2) Run “msconfig.exe” in the Start Search box, and then press ENTER to start the System Configuration Utility.
    3) On the General tab, click Selective Startup, and then click to clear the Load startup items check box. (The Use Original Boot.ini check box is unavailable.)
    4) On the Services tab, click to select the Hide all Microsoft services check box, and then click Disable all.
    5) Click OK, and then click Restart.


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.

    mercredi 12 décembre 2012 09:44
  • After changing database to sqlserver, the problem is still existed.

    When deleting unused updates, a popup message box from visual studio (installed by SqlServer 2012) says w3wp has unexpected exception and has been closed.

    3 Errors in Application event view as above.

    1 new Warning in Application event also:

    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.Sockets.SocketException -- An existing connection was forcibly closed by the remote host

    Source
    System.Windows.Forms

    Stack Trace:
       at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
       at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
       at Microsoft.UpdateServices.UI.SnapIn.Wizards.ServerCleanup.ServerCleanupWizard.OnCleanupComplete(Object sender, PerformCleanupCompletedEventArgs e)

    And an Information:

    Fault bucket , type 0
    Event Name: CLR20r3
    Response: Not available
    Cab Id: 0

    Problem signature:
    P1: w3wp.exe
    P2: 8.0.9200.16384
    P3: 50108835
    P4: Microsoft.UpdateServices.CoreCommon
    P5: 6.2.9200.16384
    P6: 501070f9
    P7: 113
    P8: 5b9
    P9: System.NullReferenceException
    P10: 

    Attached files:

    These files may be available here:


    Analysis symbol: 
    Rechecking for solution: 0
    Report Id: 6b5541fb-44c5-11e2-93fb-005056b26389
    Report Status: 0
    Hashed bucket: 


    Eternal Snow

    jeudi 13 décembre 2012 01:40
  • Hi,

    Have you tried to delete the update files in safe mode and clean boot to see if the issue is related to third party drivers and services?


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.

    jeudi 13 décembre 2012 09:36
  • I'll try it next time.

    BTW, there is only WSUS installed on this computer.


    Eternal Snow

    jeudi 13 décembre 2012 13:36
  • Yup, but in registry, there is only one key of SqlServerName which is set to MICROSOFT##WID by default. There is no related setting about the whole connection string.

    True. SQLServerName and ConnectionString are two completely different entities. Your statement was about the ConnectionString, not the instance name. The ConnectionString is dependent upon the connectivity methodology being used. Since the WID only supports Named Pipes for connectivity, that string must be used.

    For SQL2008R2 and earlier (including WID on Win2008R2 and earlier), the Named Pipes ConnectionString is \\.\pipe\InstanceName\sql\query

    For SQL2012 (including WID on Win2012), the Named Pipes ConnectionString is \\.\pipe\InstanceName\tsql\query


    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    SolarWinds Head Geek
    Microsoft MVP - Software Distribution (2005-2012)
    My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
    The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds.

    samedi 15 décembre 2012 00:04
  • I'll go on check if this bug still exist.

    What "bug" are you talking about?

    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    SolarWinds Head Geek
    Microsoft MVP - Software Distribution (2005-2012)
    My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
    The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds.

    samedi 15 décembre 2012 00:05
  • I'll go on check if this bug still exist.

    What "bug" are you talking about?

    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    SolarWinds Head Geek
    Microsoft MVP - Software Distribution (2005-2012)
    My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
    The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds.

    Listed above. Unhandled exception occurred when deleting unused updates.

    Eternal Snow

    samedi 15 décembre 2012 04:33
  • What "bug" are you talking about?

    Listed above. Unhandled exception occurred when deleting unused updates.

    Hmmm... given the conditions under which this was encountered, I'd be skeptical of calling it a 'bug'...

    If WSUS installed on a heavy IO loaded harddrive (LUN) of a VM, when deleting unneeded update files by Server Cleanup Wizard, MMC node may halt.

    Can you reproduce the behavior on a VM that doesn't have a "heavy IO loaded harddrive (LUN)"?

    Is there some reason you would expect the most database intensive process of WSUS (the Server Cleanup Wizard) wouldn't choke trying to do multi-join table scans when reading the database from "a heavy IO loaded LUN"?

    Incidentally... is that a single-spindle LUN, or is the VHD hosting the database actually sitting on a multi-spindle array?


    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    SolarWinds Head Geek
    Microsoft MVP - Software Distribution (2005-2012)
    My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
    The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds.


    mardi 18 décembre 2012 23:14
  • WSUS cannot start in Safe mode:

    Service Dependence Tree: WSUS - BITS - COM+ (cannot start in safe mode)

    ---

    I've migrated this server to another LUN which is not used by other VM. The problem still exists.


    Eternal Snow


    • Modifié EternalSnow mercredi 19 décembre 2012 01:09
    mercredi 19 décembre 2012 01:09
  • This server is running in VM. Sqlserver Express is installed on the same server for this server use only. Database files and others are not shared with other servers.

    Eternal Snow

    mercredi 19 décembre 2012 01:11
  • Sqlserver Express is installed on the same server for this server use only.
    Are you using SQL Server Express Edition for WSUS? If so, that's probably a contributing factor also. Migrate the WSUS database back to the Windows Internal Database, or a full edition of SQL Server, and then we'll have a functional implementation that we can actually perform diagnostics on.

    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    SolarWinds Head Geek
    Microsoft MVP - Software Distribution (2005-2012)
    My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
    The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds.

    mercredi 19 décembre 2012 13:53
  • At the beginning, some guy said I have to migrate database OUT OF WID. Now, I have to migrate it back?

    SqlServer license is not purchased for this server. I have no way to use a full edition legally.

    Please check above. when this database running in WID, the problem is much likely.


    Eternal Snow

    mercredi 19 décembre 2012 13:57
  • With a high speed harddrive, no more halt but only an unhandled exception occurred every time while running server cleanup.

    Eternal Snow

    mercredi 24 avril 2013 13:39
  • If WSUS installed on a heavy IO loaded harddrive (LUN) of a VM, when deleting unneeded update files by Server Cleanup Wizard, MMC node may halt.

    Server OS: Windows Server 2012 Standard

    Cutting to the chase, but the discussion throughout this thread (and in dozens of other threads that describe timeout issues and the "reset node" requirements in the console)... the console WILL timeout and disconnect when inadequate performance capability exists. WSUS should not be installed "on a heavy IO loaded harddrive", and the core issue here is providing inadequate resources needed for the application (WSUS, in this case), and the naturally expected behavior that occurs as a result of that configuration.

    This is not a "bug".


    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    SolarWinds Head Geek
    Microsoft MVP - Software Packaging, Deployment & Servicing (2005-2013)
    My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
    http://www.solarwinds.com/gotmicrosoft
    The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds.

    dimanche 26 mai 2013 18:17
  • Ok, now it's on a 4 SSD Raid 10, still need reset node.

    Close it as u wish.

    lundi 27 mai 2013 15:51
  • Ok, now it's on a 4 SSD Raid 10, still need reset node.

    Close it as u wish.

    Or we can continue to pursue a resolution now that you have it stored on a functional disk system. :-)

    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    SolarWinds Head Geek
    Microsoft MVP - Software Packaging, Deployment & Servicing (2005-2013)
    My MVP Profile: http://mvp.support.microsoft.com/profile/Lawrence.Garvin
    http://www.solarwinds.com/gotmicrosoft
    The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds.

    jeudi 30 mai 2013 01:53
  • Or we can continue to pursue a resolution now that you have it stored on a functional disk system. :-)

    Gosh that doesn't half sound arrogant. Nothing to me indicated that his previous disks weren't functional. If the guys who wrote the system can't create it to not fall over if the HDs it's on happen to be a wee bit slow, then yes it's a bug and they've written it badly... it's shockingly egotistical to just say up the resources all the time, one of the reasons why Windows often gets quite a bad name for itself as bloatware.

    I have the same "bug" (or should we call it a feature that crashes the program cos it's been written badly) and it's not on slow hardware for me, it's just crappy and needs fixing.

    Cheers,

    Steve

    jeudi 14 novembre 2013 09:48
  • Actually, I've migrate it into a disk very fast. The problem still exists, even after I upgraded this server to Win2012R2.

    I guess maybe there is some problem in the database.

    jeudi 14 novembre 2013 10:59
  • Nothing to me indicated that his previous disks weren't functional.

    In the very first two lines of the first post of this thread, the drive was described as "heavily loaded". Specifically the scenario was:

    If WSUS installed on a heavy IO loaded harddrive (LUN) of a VM

    Running the Server Cleanup Wizard, particularly performing the "Delete unneeded updates..." action is a highly database intensive action. If that task is competing for IOPS on the disk system, then there's absolutely a high probability that the task will "timeout" before the stored proc being called can complete it's task.

    The "fix" is to put the application on a properly equipped machine.

    If the guys who wrote the system can't create it to not fall over if the HDs it's on happen to be a wee bit slow, then yes it's a bug and they've written it badly.

    We're not talking about "a wee bit slow", though, are we?

    As for timeout issues, it's a natural artifact of a WSUS server these days. Read every tenth thread in this forum and somebody is having issues with timeout errors.

    There are two contributing factors. The first is that the number of updates currently contained in the MU catalog is about 100x the number of updates that existed when WSUS v3 was originally written in 2007.

    The second is that in 95% of the cases, the administrator reporting the issue failed to properly performed needed administrative and maintenance activities on the WSUS server over the lifespan of the server.


    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    SolarWinds Head Geek
    Microsoft MVP - Software Packaging, Deployment & Servicing (2005-2013)
    My MVP Profile: http://mvp.microsoft.com/en-us/mvp/Lawrence R Garvin
    http://www.solarwinds.com/gotmicrosoft
    The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds.

    jeudi 14 novembre 2013 17:36
  • "Nothing to me indicated that his previous disks weren't functional."

    In the very first two lines of the first post of this thread, the drive was described as "heavily loaded". Specifically the scenario was: 

    The "fix" is to put the application on a properly equipped machine.

    Sorry, but "heavily loaded" and assuming that therefore "disks are not functional" is not and do not equate to the same thing, simply blaming hardware and throwing more resources at it is really not the answer to this. Maybe it is in some cases, but I don't think so in this.

    For me *every time* I try to delete unused updates it crashes and then when ran again straight away it then works. 100% of the time. If I do it in the middle of the day, or if I do it at night when there's little system use. I see the reported problem as the same thing, a bug pure and simple. My system is not overloaded and I'm sure not throwing more resources at it. Even if it were an IO issue I'd expect it to handle it more gracefully.

    As EternalSnow says, it's still crashing even on fast disks...

    Cheers,

    S

    jeudi 14 novembre 2013 17:49
  • For me *every time* I try to delete unused updates it crashes

    Hmm.. maybe it will help to clarify some semantics here. First, WSUS is NOT crashing, neither is the console. The only thing that is happening here is that the ASP.NET connection between the webserver and the database is experiencing a TIMEOUT issue. The TIMEOUT issue is a manifestation of an underlying performance issue.

    There are essentially two performance-related scenarios of interest here:

    • First, the database may need maintenance, and thus is performing poorly. Poorly enough to be delivering substandard or suboptimal performance. This is the most common cause of console timeouts.
    • Second, the system may actually be the problem. Sometimes, both are contributing factors. In this case, the O.P. has readily admitted that there is a potential Disk I/O problem. So, eliminate the known Disk I/O issue and see if the behavior changes.

    There is no legitimate scenario in the world that tries to blame performance issues on the software when it is known that the underlying system does not meet the specifications required to successfully run the software. Fix the system; fix the database; and then, if the "software" still misbehaves it becomes worthwhile to make changes in the software.


    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    SolarWinds Head Geek
    Microsoft MVP - Software Packaging, Deployment & Servicing (2005-2013)
    My MVP Profile: http://mvp.microsoft.com/en-us/mvp/Lawrence R Garvin
    http://www.solarwinds.com/gotmicrosoft
    The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds.

    jeudi 21 novembre 2013 17:17
  • I'm not sure it's crashed or not. I only got NullReferenceException, not an TimedOutException. 

    This server is handling less than 20 products' updates, just a small part of the full product list. I dont think it can break the designing limit. If it is a timed out, it should be also a defect in design, should use an async call instead.

    jeudi 21 novembre 2013 17:50
  • Actually, I've migrate it into a disk very fast. The problem still exists, even after I upgraded this server to Win2012R2.

    I guess maybe there is some problem in the database.

    The other problem here is the assumption that this is a *WSUS* issue.

    Please note that the process that threw the exception was IIS, not WSUS.


    Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
    SolarWinds Head Geek
    Microsoft MVP - Software Packaging, Deployment & Servicing (2005-2013)
    My MVP Profile: http://mvp.microsoft.com/en-us/mvp/Lawrence R Garvin
    http://www.solarwinds.com/gotmicrosoft
    The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds.

    jeudi 21 novembre 2013 18:29
  • The ACTUAL (as in helpful, not blaming) answer to this question appears to be covered in this thread:
    http://social.technet.microsoft.com/Forums/windowsserver/en-US/7b12f8b2-d0e6-4f63-a98a-019356183c29/getting-past-wsus-cleanup-wizard-time-out-removing-unnecessary-updates?forum=winserverwsus#7b12f8b2-d0e6-4f63-a98a-019356183c29

    Bascially, the SQL server is timing out when the cleanup wizard tries to remove an unneeded update because the indexes are so poorly setup by WSUS that it takes ages to remove each update. When you get to a point where completing the stored procedure in SQL server takes longer than the timeout period, you can't make any progress at all because the wizard stops after the first attempt times out. 

    The solution is to run the removal of the first or first few manually in SQL Server Studio Express and then let the Cleanup Wizard grind away at it for days until it's cleaned up. 

    And THEN make sure you run it (or the command line version of it) regularly so that it doesn't get out of control again. 

    M$ SHOULD have set that up to run automatically in the first place. We are paying for their lack of foresight and poor index design. It IS a failure of WSUS by putting an unreasonable load on SQL Server and by not automating the process of removal of old updates. 

    • Marqué comme réponse EternalSnow mardi 5 août 2014 05:59
    lundi 4 août 2014 18:57
  • Thanks for your work!
    mardi 5 août 2014 06:03
  • M$ SHOULD have

    Should have would have could have... The software was written in =2004= when there were only three operating systems and four applications being patched by the environment, and barely a few thousand updates in the catalog.

    Today there are ELEVEN operating systems supported, five versions of Office, four versions of SQL Server, four versions of Exchange, and the list goes on, comprising tens of thousands of updates.

    And THAT... btw.. is why operating systems and applications are expired and replaced with NEW ones.

    Your opinions on what the cause of this problem are noted (and I really don't understand what your point is by citing a thread from a few days ago where nothing new was offered that hasn't already been known for years),  but the fact is the problem exists in the communication channel between ASP.NET and the SQL Engine. I realize you don't like that answer (as evidenced by your rude decision to mark my response in that thread as abusive) ... but the fact that you don't like something doesn't make it untrue.

    As you've noted, if you run the stored procedure directly, it runs without issue (but still takes a very long time if it hasn't been run in years). What times out is not the SQL procedure, but the ASP.NET thread waiting on a response from the SQL Server.

    So... I presume you won't like this response either. Will you be marking this one as abusive also?


    Lawrence Garvin, M.S., MCSA, MCITP:EA, MCDBA
    SolarWinds Head Geek
    Microsoft MVP - Software Packaging, Deployment & Servicing (2005-2014)
    My MVP Profile: http://mvp.microsoft.com/en-us/mvp/Lawrence%20R%20Garvin-32101
    http://www.solarwinds.com/gotmicrosoft
    The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds.

    • Marqué comme réponse EternalSnow mercredi 6 août 2014 01:38
    mardi 5 août 2014 23:49
  • Hi Lawrence,

    Thanks for your job too.

    You did a great job for describing where the problem located, as well as some others provided a passthrough. Usually, part of the visitors here may want to know how to get avoid of some problem without the deep reason of why it occurred. But that's not all from here.

    mercredi 6 août 2014 01:42
  • I had the same issue on Windows 2012 and 2012 R2. WSUS was always crashing when trying to "delete unneeded updates". I increased temporarily the memory from 2GB to 4GB. After that I was able to run the Server cleanup wizard without issues.

    Best,

    Manfred

    jeudi 28 août 2014 16:35