Tuesday 26 October 2010

"Not Responding" - What does it mean, and what do I do about it?

Summary: “Not Responding” is Windows' way of telling you that a program might have a problem. Sometimes “Not Responding” is benign, but sometimes it's a sign of a deeper issue.

I am using windows XP PRO, and I am having difficulty when I am browsing or using a program. After a few minutes the computer freezes and I get a message in parenthesis saying (not responding). Sometimes I have to log off and log-on again to fix this problem. But after a few minutes it happens again. How can I fix this?
"Not Responding" appears in the title bar of a running program when Windows detects that the program isn't behaving properly. Exactly why depends on the specific program and what you were doing at the time.
Let's look at some of the possibilities which range from actual software or hardware problems, to user impatience.
Windows expects a running program to "interact" with Windows, and respond to Windows' requests in a timely fashion. If you type a key and the application doesn't take it because it's too busy doing something else, that could be a problem. Similarly, if you click on the Close Program "X" on a programs's window, and the program doesn't acknowledge that, then that too is a potential problem.
When Windows asks a program to do something, like take a keystroke or close itself, and the program fails to acknowledge that request within a certain amount of time, the program is "Not Responding". If the program never comes out of that state, we might also call it "hung", as in "hung up" on something.
There are "legitimate" reasons this can happen. For example, if the program you're using is doing some very long, CPU-intensive calculation, it might not respond in a timely fashion. An example might be a graphics program performing a reduction or other operation on a large image. If, during that operation, you attempt to close the window and nothing happens, after a few seconds Windows might add "(Not Responding)" to the title bar to indicate that it has tried to pass your request to the application, but the app's not listening.
"Anything that causes the application to stop responding can cause Windows to add the '(Not Responding)' moniker to the title bar."
While it might be considered bad form or bad design to not respond to user input or to Windows while performing lengthy calculations, it's quite legal and legitimate. Once the calculation is complete, the program starts listening and responding again.
A recent real-life example of my own: earlier this evening I was working on a Visual Basic program that performs various database operations. I modified it to access a database remotely across the internet which turned out to be a mistake, because the operation became extremely slow on my DSL connection. While VB was accessing the database, it was unresponsive to everything else. Windows tagged it as "(Not Responding)". Since I hadn't saved my program to disk (bad form on my part), I was loath to just kill it and lose my most recent edits. So I just let it continue while I did other things. An hour later the operation completed, and VB became responsive again.
Anything that causes the application to stop responding can cause Windows to add the "(Not Responding)" moniker to the title bar.
So while lengthy calculations are one semi-legitimate way it could happen for a while, what are some of the other things that can cause it?
  • Programming Error - the classic case of an "infinite loop" in programming is perhaps the most common example - if an algorithm is mistakenly written such that it never ends, and within that algorithm Windows is never given a chance to operate, the application may become "hung" and unresponsive. As a user of the app, there's not much you can do here except avoid whatever it is you did that brought the application to that point.
  • Software Design Error - really just a variant of the preceding point, but I think of it as a different class of problem. The example I see from time to time is a program that displays an error message in a pop-up box. Some applications transfer total control to that message box such that the application's main window will stop responding until you click "OK" on that message. If for some reason that box is displayed improperly - say off the screen, or behind the application's main window - then it will appear as if the application is hung as it waits for you to click on the message you can't see.
  • Hardware - hardware that is malfunctioning can, in some cases, cause the software that interacts with it to fail in ways that make it unresponsive. For example a USB card reader might experience a failure, and the next program to attempt to read from the device might end up "(Not Responding)" because of the problem.
  • Hardware Drivers - This is really just a combination of the previous points. All the hardware on your system is in some way controlled by software. If that software has a bug, even if the hardware is working properly, the result could be a hung application. If hangs appear to be related to interacting with a specific device it might make sense to make sure that you have the latest drivers for that device - not to mention the latest updates for Windows as well.
  • Viruses and Spyware - whether intentional or simply because they're poorly written, viruses and spyware can in fact cause other programs or Windows as a whole to misbehave in various ways including causing applications to become unresponsive. Make sure your anti-virus and anti-spyware software is running and up to date.
All that is pretty vague, I know. It almost boils down to "it could be anything", which is unfortunately fairly accurate. The actual cause, and the solution, will depend on the specifics of what you're seeing. Does it happen all the time, or only when you do certain things? One specific application, or several? All of these things and possibly more are clues necessary to ferret out the cause and come to a solution.
Without more specifics, my general recommendation is to make sure Windows is up to date, make sure your hardware drivers are up to date, make sure that the anti-virus and anti-spyware packages on your system are working and have up to date databases. If the problems persist, try to narrow down the common causes, if any.

No comments:

Post a Comment