Home » Blog » Geekery » Debugging

Debugging

Thanks to everyone who’s offered virtual tea and sympathy for my laptop crash. As of this evening, everything’s back to normal, and I don’t appear to have lost any data, just about a day’s worth of time lost to debugging.

I’m really out of practice at debugging Mac technical problems. I spent a good percentage of my high school and college days fixing Macs for myself and others. I was forced to become a Windows user in the Tripod days so I could stay on the leading edge of internet software, which meant that I spent roughly a day a month repairing Windows back to a state where it could boot agao.

But since I moved back to Mac about four years ago, I’ve gotten used to the idea that my machines just work. The problems I’ve had with Macs have been hardware ones – broken keys, wonky displays – not software ones, and I’ve even gotten out of the habit of travelling with backup disks. And, ultimately, this ended up being a hardware problem as well.

Rachel and I drove to Boston on Thursday to see a doctor, part of the followup to her stroke late last year. I had my laptop out to take notes at the hospital in Boston and it was working fine. I opened it again to look at Google Maps and figure out the best way home, and it wouldn’t wake from sleep. When I rebooted, I got the “grey screen of death” that signifies a kernel panic.

I spent most of Friday trying to debug the problem, and discovered that most advice available online regarding crashed Macs seems to try to solve problems through general prescriptions: reset the power management system, reset non-volatile RAM settings, repair permissions. I ran disk and hardware diagnostics and couldn’t find anything wrong, except for the fact that I couldn’t boot the machine except in safe mode. Eventually, late on Friday, I reinstalled the operating system, then finally moved all files off the machine, formatted the hard drive and reinstalled the OS. Same problems.

Which implied that the problem was with hardware. Ideally, when Macs crash with a kernel panic, they’re supposed to leave a panic.log file that you can decipher to figure out what’s going on. For whatever reason, my kernel panics weren’t leaving logs, which meant I had to boot the machine in “verbose mode”, which makes it behave like a conventional Unix box, giving information on each aspect of the startup process. This told me that the crashes were coming when the machine loaded the drivers for the wifi card… which was odd, because the hardware test said the wifi card was working.

I got a critical piece of information from Apple’s discussion boards, which let me know that you can replace a wireless card for my edition of PowerBook very easily, for about $30. When I removed my wireless card today, I discovered something very odd – the card had been wedged into place, perhaps by the manufacturer, with a small piece of lucite. Part of that piece of lucite had fractured and worked its way onto the side of the card, pushing it out of place. Most of the card was seated in the slot, but a couple of pins weren’t contacting fully. I removed the lucite, cleaned the slot with canned air, reseated the card, and suddenly had a fully functional laptop again.

Now, in retrospect, I feel really dumb about not debugging the problem more quickly. But not only am I out of practice – there’s a tendency for one tech problem to lead to another. I decided to spend yesterday solving problems around the house, rather than snarling at my computer. But ten minutes into mowing the lawn for the last time of the year, my mower broke down. I pulled another lawnmower, one my father left at my house, out of the basement, and discovered that it, too, was broken. At a certain point, I began to worry that anything technical I touched would break, and made Rachel drive to our friend’s house that evening for fear that I’d break my truck.

Several friends responded to my post with stories about “multicrashes” they’d had in their lives – days when your laptop, phone, PDA, car and anything else break on the same day. There seemed to be near universal agreement that these days are the product of your personal reaction to stress. When you’re crashing, so are all your devices, perhaps in sympathy, perhaps to force you to step back and take a break.

So now I’ve had a weekend – a real weekend, with the Sunday Times, a football game on the TV, and a halloween party at a friend’s house. The lawn is raked and mowed, the lawnmower is fixed, two-thirds of the wood is stacked and the laptop works again. I’m not quite as centered and balanced as I’d like to be, but I’m a hell of a lot better than I was three days ago.

And now, the weather forecast is calling for snow. That’s a very happy thing.

4 thoughts on “Debugging”

  1. Glad to hear that everything worked out, less a bunch of hassle. You had the 1000-stare in your last post. Hope you’re going to have a little time to ground and recover.

  2. The story of your detective work makes me boggle. And it makes me wish I could do things like that. I can’t even call it luck, since it’s the tip of a lifetime of work. Very impressive.

    I’m surprised, under the circumstances, that the machines thought they could gang up on you. They do it to the rest of us all the time, but they usually know better than to try that on the masters! ;-)

    I bet they’ve learned their lesson. Congratulations!

Comments are closed.