Monday 15 September 2008

iTunes 8 Update - Blue Screen of Death

One of the blogs that I read pretty frequently is the Microsoft supported "Windows Experience" blog  (http://windowsvistablog.com/blogs/windowsexperience. This week Brandon Le Blanc (a Softie) posted an interesting entry on the latest version of iTunes (version 8). Brandon  had hit upon the dreaded BSOD, "Blue Screen of Death". When your machine crashes, hard, with no chance of recovery, you get a blue screen (with white text) that looks like something like this;




Apparently, when you install the latest version of iTunes, your desktop machine says (in a small voice), "there is no going back... There are no second chances, no tears in the rain redemption, no heroic last attempts".  

YOU...  need to REBOOT your machine, son!  Because, an application has installed a system level driver update and your desktop OS (Vista) cannot handle it. I really wanted to say, "Your desktop can't handle the truth!", but refrained.

One of the great promises from Microsoft ( or one of the flavours of the Longhorn cool-aid) was that these types of crashes would be the thing of the past. Microsoft's new Windows Vista would have "infrastructure" in place to prevent serious driver issues,  broken Operating systems and other computer nightmares. We were told that this was the price worth paying for inconveniences such as the annoying (or just poorly tuned) User Account Control, for the difficulty in installing applications and the application compatibility issues that come with increased levels of security and account restrictions. And, for needing a new version or upgrade of ANY application that installed a system level driver.

Bad on Apple for installing dodgy drivers. But, double  BAD BAD for Microsoft. Apple should not be able to "mess" with the Operating system (however much they would like to). Vista offers a whole new approach to handling operating system protection and in this case more importantly the installation of drivers.  Microsoft's coveted Windows Drives Model (WDM) was supposed to prevent this from happening and in my view, WDM has "come a cropper" *. Why?

Let's dive into the installation of iTunes. 

You may not have noticed that the iTunes installation actually is comprised of the following 6 "applications" or packages;

  1. AppleMobileDeviceSupport.msi 
  2. AppleSoftwareUpdate.msi
  3. Bonjour.msi
  4. iTunes.msi
  5. MobileMe.msi
  6. QuickTime.msi

Personal note: I got caught-out two weeks ago, saw the Bonjour directory under Program Files and immediately deleted it. I thought it was malware, or bloat-ware from one of the (too) many applications that I install on my test machine before the monthly rebuild. Why doesn't Apple tell you about the installation of the Bonjour service? And, why doesn't the installation process even mention MobileMe. I didn't sign up for MobileMe. Why is this stuff installed on my machine?

Back to iTunes. Reading the reports about this BSOD STOP error, it appears that this system crash is caused by the installation of a USB driver, notably;   GEARAspiWDM.sys  

I searched for  "GEARAspiWDM BSOD" (with the quotes)  on Google and came up with 2,390 hits. So, this driver may not be well-known but it is infamous for causing issues - notably total system collapse. Google is so "diluted" with iTunes issues that I was not able to get any more useful information on the driver - enough said.

The "initial version" of iTunes was version 8.0.0.35 and included version 2.1.1.1 of GEARAspiWDM.sys. The updated iTunes (8.01) package contained version 2.1.1.1. 

Hmm... I think that we have a scapegoat here. If this was a driver issue, then we should have a file level difference (i.e. Different versions of the same drivers) or the installation process has been somehow updated.

To check this out, and see if the iTunes installations were different between version 8.01  and 8.0.035, I used the Microsoft MSI installation database comparison command line tool; MSITRAN.EXE

This Microsoft engineering tool  allows you to compare 2 MSI installer packages and generate a third file that contains the differences; either additions, changes or deletions.

I ran the MSITRAN.EXE tool on the different versions of the iTunes installation routine (remember: the old version crashes your desktop and everyone blames the  bad driver GEARAspiWDM.SYS) and compared it with the new, improved (does not crash your desktop) version of iTunes (version 8.01).

Guess what?

I got the following error;  "Error 2223" - This error can be referenced in the Microsoft Platform SDK as, "Databases are the same".

Meaning, the two installations contain the same driver and the same installation instructions.

Gents, I DO NOT believe  that the update of GEARAspiWDM.SYS is causing your BSOD issues.

Tomorrow's update will detail more clues on what could be causing these issues.

Stay Tuned for tomorrow's POST, don't touch that dial!

Note: though this PUN was not intended (too much RUM), it does reflect nicely on the "Longhorn" code-name for Windows 2008 and the Vista kernel. For those not affiliated with the horse-riding/loving crowd, "to come a cropper" usually means to fall off your  horse, specifically falling over the neck of the beast. That said, from the view of my cycling crowd friends, this term now firmly belongs in the "two pedals better" camp.


1 comment:

JG said...

Where's part2? I've always been interested in the "bloatware" aspects of iTunes