From Hell's Heart I Stab at Thee

I thought my loathing of Mac OS X had subsided to merely professional annoyances: lack of reliable pro-level audio capabilities (lost data and staggering latency); system and application interfaces apparently created by certifiable nut-jobs; unpredictable behavior; inconsistent operation; inscrutable security; a distinct lack of applications or tools which let me do anything any better than I did before. (Oh, and add to that a transition to Intel-based processors which will eventually kill a heap of software I use each and every day.) As some long-time Mac users have chanted since Mac OS X rolled out: The Mac is dead; long live the Mac! Huzzah.

But I'd thought, for a fleeting few weeks, Mac OS X and I had reached a détente. It had been a while since I'd seen some of the "gotcha" behaviors Apple seems to have created just for me. Problems no one else ever encounters. Problems which made many people reluctant to have me touch their computers lest Mac OS X detect my presence and start doing weird crap.

Oh, no. That stuff's still around.

The mini

My first example. I'm asked to troubleshoot a home wireless network which has managed to lose its Internet connection, shared printing capability, and file sharing. The folks ask if dropping a Mac mini onto the network might be a way to replace services provided by an aging Compaq desktop struggling under Windows XP. Seemed like a no-brainer, so yes.

I get there and, oh, the minis are cool: opening up that tiny little box, turning them on, hearing virtually no noise, and having them remind you of nothing so much as a small pedestal for a vase or a bit of glassware—pretty slick. I admit to being suckered by the aesthetic for a few minutes. I sussed out the DSL, the wireless network, and the printing stuff quickly (and from Windows!), then had the mini breezing through its setup and configuration processes.

And that's when the fun began. Aside from waiting time downloading some software updates, everything was going swimmingly... until I clicked a little checkbox labeled "Printer Sharing." About a second later, the mouse stopped moving, the keyboard stopped responding, and, after some hopeful pondering, the dreaded Force Quit keystroke instantiated a big nada. This is Unix, right? This is Apple's new high-falutin' Intel system! Core Duo, dude! Mac OS X is supposed to be industrial strength!

For some other industry, maybe: at that precise moment, the mini had nothin.' Wait ten minutes. Still nothin.' So, reluctantly, I power cycle the computer. It starts up—into a kernel panic.

Mac OS X's kernel panic screen
Mac OS X's current kernel panic screen

For the uninitiated, a kernel panic under Mac OS X appears as a nicely laid-out, full-screen graphic which explains, in four languages, that your computer isn't feeling very well right now, and you need to turn it off. There's literally nothing you can do: nothing to click, nothing responds. Except the power button.

So I restart the computer. Yep, you guessed it, it boots right into another kernel panic. Safe mode? Same thing. über-geeky single user mode? Doesn't even get to a command prompt.

Sigh. One little checkbox.

I got the mini up and running again by performing a complete re-install and reconfiguration of the operating system from the drive partition on up, which took over two hours. And I know Mac OS X did it to me—and no doubt only to me—just because it could.

The iMac

Next question from a client: their 15-inch iMac doesn't recognize an external hard drive anymore, can I take a look? Expecting the problem was with the hard drive, I agree. When I arrive, I learn the problem isn't with a particular hard drive, it's with any external FireWire hard drive. Plug one in and "the iMac stops working." Here, the phrase stops working means kernel panic. The client estimates they've turned the computer on and off dozens of times hoping the problem will go away.

Unix might purportedly be "industrial strength," but even modern Unix operating systems like Mac OS X don't always recover well from unexpected shutdowns.

I tried to start the computer from a bootable CD-ROM with diagnostic tools so I could determine if there were any problems with the built-in hard drive. Except I couldn't get that far. Starting from a bootable CD-ROM produced what? Yes! A kernel panic. I'm starting to think there may be a hardware problem with the FireWire or ATA busses...yet the machine boots happily from its internal hard disk, and I can't run hardware diagnostic tools because I can't start from a CD-ROM or even connect an external drive. Starting in Safe Mode didn't change anything.

And I know, in my gut, Mac OS X is doing this to me just because it can. Somewhere, inside that iMac, is a virtual Apple software engineer, laughing.

Well, in this case, a quirky feature provided by Apple's hardware engineering team saved the day. You can actually connect two Macs together using a FireWire cable; you start one Mac in FireWire target disk mode, and have the other Mac access its drive as if it were an external hard disk. Borrowing the client's laptop, I started the iMac in FireWire target disk mode, connected to it from the PowerBook, and was able to access and troubleshoot the drive. The verdict: substantial directory corruption, with literally thousands of cross-linked files. Fortunately, comparatively little of the machine's data wasn't backed up, and those files appeared to be fine. We copied those off, re-formatted the drive, and re-installed Mac OS X 10.3.9. Which took almost two hours, but the Firewire and CD problems magically vanished.

This Old Mac

Around here, old Macs don't go away: they remain in service a good long time. You wouldn't believe the age of the Web server which sent you this page, and you don't even want to know the pedigree of some of the other systems around here.

So it is with my old beige G3 desktop. People will laugh, but I love this machine. It's only got a 300 MHz processor, but it flies in Mac OS 9. For another thing, thanks to an upgraded L2 cache, some long-obsolete PCI audio hardware, a SCSI card, and two extra internal hard disks, it handles audio processing I've yet to see any Mac OS X system perform consistently in real time without a DSP farm. (And I've tried. Many, many, many times.) So the box is still part of my professional toolkit, particularly for rush jobs.

And it'll run Mac OS X. Sorta. Apple dropped support for Macs without built-in FireWire with Mac OS X 10.3 "Panther," so the latest version it'll handle is Mac OS X 10.2.8. Frankly, for many things, that's just fine: it's a perfectly adequate testbed server for my Web development and testing, and when I need to do some lickety-split audio format conversion, Mac OS 9 is just a boot away.

However, lately the G3's purpose in life has been ripping audio CDs. One of the problems of owning an iPod, I've come to understand (second-hand!), is that you can't buy it with your music collection pre-installed. This presents a hurdle if you have hundreds (or thousands) of audio CDs: they need to be converted for use on the iPod, but that's a tedious process. And, in the case of expensive, miniaturized, failure-prone laptop DVD-R/CD-RW drive, a deadly process. Running hundreds of disks through those things is a quick trip to the land of Mean Time to Failure. And there's nothing more pathetic than a PowerBook user deprived of their machine.

So, since the G3 is:

  • often available
  • has ample storage
  • has a disposable CD drive (with two replacements on-hand if it craps out), and
  • I'm sure many more drives are available cheap via Craigslist

…the system is serving as a ripping station. The CD drives are old and slow, but speed isn't the main concern here. When I wander by, I pop out one CD and pop in the next one: no rush, no muss, little fuss.

At least, until yesterday, when the system simply refused to start up. Mac OS X would get almost to the point of presenting the login screen, but then give me the rotating rainbow cursor colloquially known as the SPOD (Spinning Pizza of Death). As with the Mac mini and the iMac above, attempting to boot into Safe Mode or Single User Mode didn't help. Unlike the iMac, the G3 doesn't even have FireWire, so I can't boot it from an external drive. And I don't even want to think about whether I could boot it into Mac OS X from an external SCSI drive. The Mac OS 9 startup volume continued to work just fine, but there's only a very limited amount of Mac OS X troubleshooting which can be done from Mac OS 9. The tools just don't exist.

Although I was puzzled why the system wasn't starting up, I wasn't too fazed: the Mac OS X startup partition is essentially pristine, I have the necessary installation CDs and software updaters all on-hand. Re-installing wouldn't be difficult, although it would sure take a while, thanks to the slow CD drive.

Surprisingly, the process wasn't difficult, until it came time to apply the Mac OS X 10.2.8 Combo updater, which is supposed to update any version of Mac OS X 10.2 to 10.2.8. Except it didn't: the installer would launch, make me click through a bunch of screens, then pretend to start, then crap out, saying "There was an error during installation." What error? The installer log was essentially useless: my decipherment indicated the installer had a problem just making a list of the files to be installed.

So: using Apple's online support site (which, I've got to give them credit, they keep all this stuff online and accessible!), I tried updating Mac OS X 10.2 to 10.2.1. Success! Then to 10.2.2. Success! Even though this step-at-a-time process was taking forever, at least it was moving in the right direction. 10.2.3 worked great too. But with the Mac OS X 10.2.4 update, the installer again encountered an error Apple can't be bothered to get specific about, and... well, you're screwed. Disk diagnostic tools like Disk Warrior and Disk Utility said the drive was fine.

I made a few phone calls, sent some email, started a few iChat sessions. No one's ever heard of a problem like this. But mostly no one can believe I'm trying to use Mac OS X on a machine this old. "Why don't you just buy a Mac mini?" they ask.

See above.

I was finally able to update the system to Mac OS X 10.2.8 by reformatting the Mac OS X startup disk from Mac OS 9, then proceeding with Mac OS X installation from CD. But, in all, the process probably took about 8 hours.

I know Mac OS X did it to me just because it could.

And, somewhere, a software engineer is laughing.

Related Entries