Pages

Sunday, March 18, 2012

How to fix “Not enough server storage is available to process this command” error in Windows XP


This is an annoying error that I have come across a couple of times when using some of the machines at work and home over the past few years. This isn’t an error that will effect every user, but, if you do come across it, then here are a couple of reasons as to why it can happen:
  1. You don’t have a DWORD VALUE for IRPStackSize in your registry
  2. You have a DWORD VALUE for IRPStackSize in your registry but the data value is set too low
What might have triggered the error message?
  1. You are trying to map a drive?
  2. You are trying to access a shared folder over a network that you set up correctly?
  3. You are trying to share files/ drives between a Windows 7 machine and a Windows XP machine
  4. You are trying to print over a network, where the printer driver resides on another machine on that network. (This was my 2nd occurrence)
Those are just the kind of things I was doing when the error was triggered. The main time that it has come up though is when I have correctly set up file sharing over a network and have had no problems accessing those folders and the out of the blue I would get the error message which would prevent me from accessing those files/ drives. Note, that in your Event logs it may show up as, ‘Event ID 2011′.
At work all of our machines are running XP Pro and normally work perfectly fine. However, every now and then (and it is rare) this issue will throw a spanner in the works. Normally on a busy day, but that’s Sod’s Law. It can also occur when trying to share files/ drives between machines running Windows 7 and Windows XP (this is due to the IRPStackSize on the different OS’s being different by default) If the error does come up when you are trying to  share files between a Windows 7 PC and a Windows XP machine, then the IRPStackSize adjustment needs to be increased on the XP machine not the Windows 7 one.
Default value sizes for IRPStackSize in Windows NT | 2000 | XP:
  1. Windows NT 4.0 – 11 (default value)
  2. Windows 2000 – 15 (default value)
  3. Windows XP – 15 (default value)
There are many, many things that can cause the IRPStackSize to become too small, but one of the most common reasons are anti-virus software that has been installed or many different programs such as Acronis TrueImage, AVG, Norton, Microsoft Security Essentials etc It’s not the programs that are the problem, but the drivers and the IRP slots that they use up, hence overtime you may need to increase the value of the IRPStackSize as you install more and more programs as time goes on. For a detailed look at the issue please refer to the Microsoft official help on the subject here Or for a detailed look from a programmers view go here to learn more about how IRP stacks work.
Right, to try to correct this error message will involve you making some edits in your registry, so please MAKE SURE you have backed up your registry before making any adjustments to the registry, as making a mistake in the registry can lead to you having to re-install the OS. The simplest way to make sure that your registry is backed up is to create a Restore Point via System Restore. In Windows XP the easiest way to create one is to go Start>All Programs>Accessories>System Tools>System Restore, check the second button ‘Create a restore point’ then hit ‘Next’ and name your restore point in the next window. Something like ‘Backed up Reg’ (and the date) then just click ‘Create’
Now you have done that, you are ready to make your edit. Please note that I am not MVP certified, nor do I work for Microsoft. This is just how I have fixed this issue in the past when ever I have come across it. To get to your registry go Start>Run and type ‘regedit’ and OK. Now to the part of the registry where you may need to edit the IRPStackSize:
HKEY_LOCAL_MACHINE\SYSTEM\CURRENT_CONTROL_SET\SERVICES\ LanmanServer\Parameters

If you can already see an that the IRPStackSize has already been created then you may need to increase it’s value. Do this in increments of 5 (eg The default value is 15 (Decimal), so try changing it to 20) When you have done this, reboot for the changes to take effect. If this was unsuccessful try increasing it by a further value of 5. The most it can be increased to is 50 (Decimal).
If the IRPStackSize is not present (as was in 100% of my occurrences) you will need to create a new DWORD. With Parameters selected on the left, go Edit>New>DWORD Value enter the word (exactly as I have typed it but without quotes) “IRPStackSize” this will then show up in the window on the left. You now need to give it a value. Try 20 (select the Decimal button) then reboot to see if that helped. If not, try increasing it’s value by another 5.
Please note that  this was done using Windows XP Pro and may be different in Vista or Windows 7.

No comments: