Don’t Panic, it’s most likely NOT “not responding”

Whenever the topic of ‘Software Instability’ comes up, it’s only fair to add the proper perspective for all of those involved. After all, software is written by humans and humans are fallible, therefore, software is fallible.

Anyone who knows even the slightest thing about computers can realize that only so many tests can be run in so many test ‘environments’ to uncover bugs before they go public. But the reality of the world is that there are infinite numbers of hardware configuration possibilities, driver combinations and potential other software’s installed which can also play havoc with stability and access to resources one tool or the other may need.

But often times, simply understanding the situation can go an extremely long way in how a ‘software event’ is experienced. SOMETIMES… it just takes a little patience to realize what’s really going on.

What am I really seeing?

Take, for instance, a dialog box most every seasoned SolidWorks user has seen at least once…

“OH NO!!!!!”…

Well, NOT REALLY, at least not most of the time.

First of all, this is a Windows message box, NOT a SolidWorks message box. You could frankly replace “SolidWorks” with the name of ANY other application loaded on your Windows computer, even Windows Explorer!!

The most common misconception here is that SolidWorks has, or is about to crash.  Though this box will appear preceding an actual crash, this box does not necessarily indicate that a crash is imminent.

Here’s why…

This dialog is actually a Windows message indicating that the application listed has stopped responding to “Windows”, but it has not necessarily locked up!

In Windows XP, it took 30 seconds of a software application not communicating with the operating system before this message box appeared.

In Windows Vista, the time for this box to appear was reduced to 10 seconds.

In Windows 7, it takes a mere 3 seconds before the operating system throws this message… THREE!

How do you really know?

When you are talking about ANY compute intense application, there are bound to be dozens, if not hundreds of operations that are going to take more than 3 seconds to complete calculations and report back to Windows.

In fact, to generate the screen shot of the message, all I did was open a part with a large pattern, click CTRL-Q (forced full rebuild) and then waited 3 seconds before clicking in the SolidWorks Window. Bingo. There it is!!


However, I then had to scramble to take a screen capture because the message closed on its own just a second or so later.

If an operation takes longer than you are expecting and you get this message, you can always open up Task Manager and see if the application still has a ‘pulse’.

Just look at the ‘Memory’ (column) an application is using and see if the value is still changing. It’s that simple!

3 Seconds. Really?!

The reality is that SolidWorks is easily the most sophisticated software tool most of us have ever used.

Today, it has upwards of 12 million lines of code containing over 8 million ‘If/Then’ statements. That means there are 8 million places in the code where it has to decide whether to take a ‘left’ or ‘right’ turn!

And the developers are adding nearly 1 million NEW lines with every major release.

Unpleasant stop events happen with all software tools. But most times, you just have to give it a little more than 3 seconds before you start clicking the window to get a response. Trust me… SolidWorks generally has a lot on its mind.  🙂


Darin Grosser is a SolidWorks Elite Application Engineer, Certified SolidWorks Expert and a senior member of the technical staff at DASI Solutions, a SolidWorks Value Added Reseller with locations throughout Michigan and Indiana. He is a regular contributor to the DASI Solutions Blog.

Help SolidWorks uncover bugs by participating in the SolidWorks 2014 Beta Program.

DASI Solutions

DASI Solutions

SolidWorks Reseller for Michigan and Indiana at DASI Solutions
DASI Solutions
DASI Solutions
DASI Solutions
DASI Solutions

Latest posts by DASI Solutions (see all)