Top

How OS X Updates Can Make Your Mac Unbootable

March 18, 2007

Macintosh OS XThe good folks at Unsanity have posted this fascinating little piece…

When you see the “Optimizing System Performance” phase of a software update, Mac OS X is really updating prebinding. Updating prebinding has a very, very nasty bug in it (look at _dyld_update_prebinding). If multiple processes are updating prebinding at the same time, then it is possible for a system file to be completely zero’d out. Basically, all data in the file is deleted and it is replaced with nothing. This bug is usually triggered when updating Mac OS X and every update to Mac OS X has the potential to render your system unbootable depending on if the “right” file is deleted or not. It’s triggered during the “Optimizing System Performance” phase of installing an update. This phase is actually just running update_prebinding. If you launch an application that links to libraries that are not yet prebound, there is a chance one of those files will be zero’d out as dyld automatically redoes the prebinding on that file.

I’ve been tracking this particular bug for about 18 months now. Most of the real “random” failures reported on various Mac OS X “troubleshooting” sites after a user has installed an Apple software update are actually manifestations of this bug. By real I mean not imagined problems or ones that have been there for a very long time but the user is just now noticing it and artificially connecting the cause to the recent update (it’s called Pareidolia). Yes, this nasty prebinding bug has been reported to Apple and yes, it is 100% reproducible if you want to reproduce it.

Every single time you install an update to Mac OS X whether it be an iTunes update, a QuickTime update, an update for daylight saving time, a security update, an Airport update, or an actual Mac OS X update, you can be hit by this bug. In order to prevent yourself from being smacked in the face by this bug, follow this simple rule: When “Optimize System Performance” appears during the update process do not touch your computer and definitely do not launch any applications. Just back away from your computer box as if it were a swarm of bees. Yes, it does mean that if you install the Mac OS X 10.4.9 update, you may get hit by the bug.

(There’s more, go read it all)

(via Macintouch)

Interesting, and doubtless some very good advice…

My usual software update practice –

  • Close everything I can find to close.
  • Run Cocktail or Onyx through its periodic cleanup routine, including fixing permissions.
  • Do a full clone backup
  • Reboot
  • Close any startup items that I can close
  • Run Software Update
  • Reboot

This will leave long periods where your machine isn’t doing anything worthwhile. Don’t be tempted to mess with it. Go find something else to amuse yourself instead. This now looks like even better advice than I’d already considered it to be.

Rate this:
2.8
Like this article? Share it!
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Reddit
  • StumbleUpon

Comments

Got something to say? [privacy policy]





Possibly Related


Please quit iTunes before beginning this update Generally Apple has their act together when it comes to usability (at least on their Mac software.) On the other hand, when they decide to hork it up, they do it well... It being the weekend, I figured it was time to try the new iTunes 5 -- where I trust Apple the least is in brand new products and updates, so doing a software update requires some planning; fix permissions and get a good backup beforehand. So, having done my due dilligence, I ran Software Update. Check off the products, agree to a bunch of license agreements, download, download, download. Uh-oh, an alert... "Please quit iTunes before beginning this update" Whoops, my bad. It's gone now. "Please quit...


Parallels, ActiveSync, & T-Mobile DashHurray -- The new version (Build 3186) of Parallels has been released, and astonishingly enough, ActiveSync under XP actually recognizes and talks to my T-Mobile Dash, running in a virtualized session under OS X on my MacBook Pro (talk about your overland routes!) I've tried this a few times during the betas, with no luck, but it's working now. Here are the steps I went through to get this thing working... If you've got Missing Sync installed, you'll have to unload the Kernel Extension that grabs up the smartphone when it's attached. The instructions are here. Be sure you've got Parallels configured to have access to your USB devices. I also had to select "Autoconnect" on the USB configuration Install...


What’s on YOUR Firefox?Wired currently has an article on nifty Firefox extensions. Unfortunately, they seem to have missed a whole lot of good ones. What's on YOUR Firefox? What extensions do you like? Here are my current favorites: Web Developer -- A whole toolkit for web developers to examine the page elements and environment of the current page Adblock -- Industrial strength ad blocking. GoogleBar -- A work-alike for the IE GoogleBar -- Firefox already has search, but this adds the other features. Open Book -- Opens the bookmark tree when you add a bookmark Undo Close Tab -- If you accidentally close a tab, this will re-open it for you Bloglines Toolkit -- Utilities for integrating Bloglines into Firefox DictionarySearch -- Right...


Apple Broadband Tuner - Free Speed!I kind of had my doubts about the new Apple Broadband Tuner -- I've seen a lot of this type of thing over the years (mostly on Windows systems), but few of them made any noticable improvements, and some of them caused a rash of problems. I've been playing with it on my FIOS line for the last couple of days, however, and I can say that it makes a vast difference on some stuff -- particularly loading web pages that have a lot of connections to different objects, like pages full of images, etc. Even better, I've noticed no complications with anything, either. If you are a Mac user on a relatively high speed connection (Cable, Fiber, etc.), it's...


Apple Hearts x86 - or Intel anyway.Yep, it’s actually true... (Update - See Also: “Apple & Intel - All About the DRM?") Apple is officially moving the Mac platform to x86 starting in June 2006, to be “mostly complete” by June 2007.  In fact, Job’s keynote address was run on a 3.6GHz Pentium 4, running Tiger. Wow. It was also revealed that pretty much every version of OS X has had both an Intel and PowerPC build, although none have ever been released to-date.  “Fat Binaries” are returning (as “Universal Binaries") with Xcode 2.1, allowing applications developers to include both PowerPC and Intel code in the same executable. Cocoa-based Xcode developed applications can supposedly be tweaked to run on both platforms in “several days”, and Carbon-based...

Bottom