Thursday, May 26, 2011

The dreaded Blue screen of death - a driver crash. Or debugging the Windows BSOD with WinDbg

Well it happens. There you are working on something important and wham, a blue screen of death appears. Or BSOD for short. You wait patiently as it writes "stuff" somewhere and as the seconds tick by you just hope it reboots. Then you hope you can recover some of your work. (Save often - and in multiple places if you can!)  

Welcome to Windows. Hey, you'll get used to it. And don't imagine something similar doesn't occasionally happen in alternative operating systems like UNIX or the recent UNIX-derived Apple OS. Anyone who's worked on Apple hardware for example knows that whilst "closed shop" or proprietary designs can keep potentially clashing hardware and software designs under a tighter reign, when they do break it's often far less simple - and more expensive - to get to the root cause. And it's the very openness of the original "IBM compatible" and later Intel and Microsoft hardware/software partnership that both rewards us with plentiful alternatives at lower cost and delivers us into the looser, vaguer world of mismatched versions and uncontrolled design. But enough of that. How do you fix it?

Well the BSOD usually gives you a clue. I just got one - and it blamed "NV4_disp.dll". You don't have to be Einstein to realise that "NV" is probably NVIDIA and "disp" is probably "display". It's your smoking gun, usually.

The "dll" bit is a Dynamic Link Library file, simply a file that provides one or more particular functions and/or some data for a given application. Generally speaking - and I'll use NV4_disp.dll as my example here - it's a device driver of some sort. So in this example NV4_disp.dll is happily driving the screen (or monitor or display if you like) and we call it the video driver because having many names for simple things is cool. Then you start up a new or recently updated video player (like I just updated Real because it asked me to) and it innocently makes a call upon NV4_disp.dll that just doesn't make complete sense. Perhaps your version of NV4_disp.dll is (like mine) 6 months old or more and is subtly different from "today's" standard. Somewhere along the road an error crops up that doesn't get handled properly and Windows itself steps in to save us all from disaster - by shutting down. Extreme, I know, but probably safer than letting things go from bad to worse.

The best fix here is simply to update NV4_disp.dll. Whatever the BSOD identifies is usually the culprit, unless it simply can't work out what broke first. In which case you need to dig deeper (see the end of this story for more clues).

But how do you update a video driver? Or any other driver for that matter? Well the Internet can be your friend here - just search for say "NV4_disp.dll update" and choose the most likely - like the NVIDIA website. They have a tool there that searches automagically for the right driver. If that doesn't work (it didn't for me and my Windows XP SP3 machine) then go to your control panel and open the NVIDIA control panel. Look for "system information" and bingo, you have your driver data.

Plug that info in manually and it'll come up with the latest driver. Download and install that. Remember it's safer to download from the manufacturer directly, if you can. Run a virus check on the file just to be safe. 

Hopefully that'll fix it.

But what if you need more clues, Sherlock?

Well if the BSOD is clueless, try "WhoCrashed", a program by that does the hard yards for you - and for free if you are a home user. (Search the Internet for it but remember to be careful who you download from and run a virus scan on the file.) WhoCrashed may ask where your source files are - and these are your "minidump" files. Minidump is simply a Windows repository for crash-logging files and is usually found under C:\WINDOWS\Minidump or similar.

I've rarely found Minidump turned off but some "tune up" software may turn it off to save space (not that it would save much). If turned off, turn it on (you'll find it via the "Help and Support Centre" in Windows, simply click on  "Use tools.. diagnose problems" then "System Restore" and "System Restore settings". Phew. Then open "Advanced" and "Startup and recovery" then "Settings". Still with me? Inside settings you should have a tick in "write an event to the system log" and "Small Memory dump" as the address written to... it will default now to %SystemRoot%\Minidump. Easy. Press OK to save and exit.)

WhoCrashed will spit out a report. Read it, it will probably help to determine what, or perhaps who, actually crashed. If it identifies specific hardware or software then follow that trail with updates, reinstalls or rollbacks as needed. Search on the Internet for more opinons if you like, too. Often there are multiple solutions as well as countless false trails.

And if you prefer to use the genuine Microsoft debugger it's called WinDbg and it comes with the genuine Windows set of debugging tools, downloadable from the MSDN website (just search for it in the usual way). You'll also need the Symbols download or use the MS server like WhoCrashed does. Install it all (it's big but beautiful) and run WinDbg. You'll need to set your source files folder to C:\WINDOWS\Minidump and your symbols folder to C:\WINDOWS\symbols (or wherever you put them). Then select "open crash dump" and the specific file you want - likely to be the most recent.

When set up, click away and it'll open a report. Read it, I'll wait here.

It'll probably suggest "Use !analyze -v to get detailed debugging information" somewhere down that report, so do that as well. Again, read the report and you'll usually get the gist of what the fault was. Usually. Take what action seems reasonable (ie fix, update, upgrade or throw it in the bin and buy a new machine).

If any of the above sounds ludicrously complex then just don't do it. Take it to a shop - or (if you are on the Central Coast of NSW) call me -  instead.

Saturday, May 14, 2011

Windows 7 updates fail to install and are rolled back - again and again and again

Ever happen to you? Those automatic updates from Microsoft that usually just download and load up and self-configure at the next boot? Well with XP it has always run smoothly - if at times slowly - but with Windows 7 I have had more problems. Maybe because Win7 is on a laptop, or maybe not. So what's the beef?

Well some of these updates are big (like complete service packs) and can take hours to deploy on slow PCs on a slow network. So don't give up if it just appears to hang - wait it out.  But if Win 7 tries to configure the updates but stalls, gets to 16% or even 0% and then hangs for 5 minutes or so, thinking about life or whatever before rolling back and uninstalling the updates then you may have a problem. Of course you could just have a timeout (it's a common error code) - and it will fix itself next time around. But if you wait too long you'll fill your restore point cache with failed updates and be unable to roll back to when it all worked... ouch.

Restoring from a known working state is the usual solution, if you have such restore points available. (Make more space for your restore points, just in case. And make a recovery disk, too, just in case.)

You may also have a corrupt system file, too. You can scan your harddrive for errors and check that out.

But here's what worked for me - I did a scan to ensure that there were no file system errors and then shut down (yet again - probably after 5 or so failed updates). When completely shut down I unplugged everything bar the monitor - no USB keyboard, mouse or scanner. And restarted. Bingo! It updated perfectly!

Here are some other ideas, just in case....

The update is not installed successfully, you receive a message, and the computer restarts when you try to install an update in Windows Vista and Windows 7
configuring updates stage 3 of 3. 0% complete

Windows update error: Code 80072F8F
I was having this issue with Windows 7 and it turned out to be the root certs. I downloaded / installed the update from the link below and it fixed the issue:

Windows update error: Code 80072F8F
As a last hope I restarted last night my ADSL modem, that has not been restarted since going back to normal time. This morning I tried again to update the computer and Oh, happy day! the updates started!!!
Anyway I have no idea whether the restarting of the modem helped.

Windows update error: Code 80072F8F
I was having this issue with Windows 7 and it turned out to be the root certs. I downloaded / installed the update from the link below and it fixed the issue:

Windows update error: Code 80072F8F
I have been going crazy trying to fix this Update problem plus my gadgets were not updating. Finally about the third time I fooled around with the clock I noticed that the YEAR was wrong. Duhhhh. It was Jan 2010 instead of 2011. Sheesh!

Thursday, May 12, 2011

Just getting into 3D imagery? Have you tried these programs yet?

I'm by no means a master of 3D - yet - but I have tried a few programs and can recommend some great ways to get started. Like...

How about Bryce? PC version, of course, but Mac is supported too (just search for a link). Be careful to read the whole page or you'll miss the free rego code....
Bryce (Personal Learning Edition) - Free software downloads and software reviews - CNET
This Personal Learning Edition (PLE) of Bryce 7 is a full-version with no watermarks or limitations of any kind in the program itself. The licensing allows for strictly personal, non-commercial use. SERIAL CODE: BDZPLED-070-0000000-NBA-001-HBUVMLF

Bryce is an award winning, fun, feature-packed 3D modeling and
animation package designed to allow new users to quickly create and
render stunning 3D environments. Bryce combines exceptional power with
an innovative interface for incredible ease of use. Add wildlife,
people, props and more to your scenes via the DAZ Studio character
plug-in in addition to terrain, water, sky, rocks, clouds, fog,
vegetation, and architecture for which Bryce has long been the standard.

And its companion, DAZ 3D Studio...

DAZ 3D - Free 3D Software and 3D Model Providers
DAZ Studio 3 Products and Bundles
DAZ Studio is a free, feature rich 3D figure design and 3D animation
tool that enables anyone to create stunning digital imagery. This is the
perfect tool to design unique digital art and animation using virtual
people, animals, props, vehicles, accessories, environments and more.
Simply select your subject and/or setting, arrange accessories, setup
lighting, and begin creating beautiful artwork.

And Blender, an enormously useful tool for 3D work... you'll see Blender-ised 3D images built into applications all over the web... - Home
Blender is the free open source 3D content creation suite, available for all major operating systems under the GNU General Public License.

And of course iClone 4 from Reallusion... easier to use but still powerful with a free version to boot... the real-time filmmaking is a standout.

iClone - Solution for Real-time 3D Animation 3D Stereo Video
Real-time animation evolves with 3D Video FX, motion paths, HDR and rapid drag & drop creation inside iClone4. iClone4 combines real-time filmmaking & video production inside one powerful engine. The result is a streamlined production tool for motion graphics, 3D animation, video compositing and 3D stereo creation.

That's all for now - it'll get you started anyway.