You could be seeing a great picture here

Charles on… anything that comes along

Wednesday 21 June 2006

Filed under: — Charles @ 9:06 pm

How I learnt to stop worrying about reinstalling Tiger and stopped the March of Doom

My previous post, about my weird hassles with my entire machine, prompted a lot of interesting comments (thank you all). But I still had the nagging feeling that it must be simpler than reinstalling the whole damn shooting match - and that I had come across a solution to the problem somewhere in my online wanderings.

Well, I think Appleite had it right - “don’t be so quick to jump to the “I have to reinstall the OS” conclusion. That’s a Windoze user’s response to everything, and has no business in the Mac world.” Hell, no.

I was puzzled by the fact that my Disk Utility checks of the disk kept announcing
Nesting of folders has exceeded the recommended limit of 100
Well, I kept thinking, I ain’t me. I never nested no folders. Could you maybe give me just a little hint where this super-nested folder is? And then it would conclude with
1 HFS volume checked
Volume passed verification
Volume needs repair

Right. You figure it out. Passed, or needing repair? So I Google this “Nesting of folders has exceeded the recommended limit of 100” thing and found someone who had had the same problem, and who discovered (through a shell script) that the answer was a program called Vapor, which for reasons nobody understands contains a copy of the app itself in its resources, and in the resources folder of that app is a copy of the app, and in the resources folder of that app is a copy of the app, and… (If you’ve got a copy of Vapor, control-click on it in the Finder and select “Show Package Contents”. Then keep going. Hours of fun.)

It’s a wonder the machine got any work done. It must have thought it was living through The Matrix or something. Hey! Machine! What are you searching? Oh, it’s a folder in a folder in a folder in a folder in a folder in …. huh? You said something?

So I zapped Vapor. (I’d not used it since downloading it some time in 2002 and discovering that I’ve got no use for VPNs.) Boom, it’s gone: empty Trash, run Disk Utility:

1 HFS volume checked
Volume passed verification

Now things happen a lot faster. Spotlight actually searches, rather than drumming its fingers on whatever virtual table it has up there. But something was still bugging me about the March Of Doom, when apps would all just stall - “not responding”, in the Activity Monitor lingo - and never return.

In my searching through my browser downloads folder (849 items at last count), I came across something I’d downloaded but not quite had the courage to install: unlockupd.

And there’s the documentation:

Unlockupd works around a bug in lookupd, a system service which is required for proper operation of Mac OS X. If lookupd fails, the system quickly becomes unusable. Unlockupd periodically checks lookupd’s status and forces it to restart should it fail.

Oh yeah? What happens when the bug strikes?

Lookupd has a bug (rdar://3632865) in its cache cleanup code that causes it to randomly crash. CrashReporter, the system crash log agent, does not properly handle lookupd crashes, and as a result, when lookupd crashes, the process is not terminated. Since lookupd has not terminated, mach_init does not respawn lookupd. From this point, any application that attempts to access lookupd, either directly or indirectly, will hang.

Once lookupd stops responding, it becomes difficult, but not impossible, to recover the system to a usable state. One technique which works, but is not recommended (for obvious reasons), is to leave a root shell running and `killall -9 lookupd` when it becomes obvious that lookupd has died (sudo does not work, since it requires lookupd’s services, as does opening a new terminal window).

Can’t generate a new Terminal window? Wow, that sounds just like the problem I had. And you say unlockupd (geddit?) can cure this? Sounds good.

The only thing that’s stopped me installing it right this second is that I downloaded it last September, and I’m not online as I write. So I’ll check whether (a) there’s been a fix to that Radar bug - I expect not.. and (b) there’s a new version. And then, let’s install. And hope it ends the March Of Doom, on my screen at least. Let’s hope your problems can be solved as easily as binning a recursive folder and installing a bit of code that watches some other code.

Postscript: there doesn’t seem to be a way to find out if a particular bug has been cleared. Durr. There’s no new version. But from this description at Dreamlight -

1. You’re surfing the web and the page you are on fails to completely load
2. No further pages will load in your browser
3. You can switch to other applications that may already be running and save open files
4. You can no longer launch any additional applications, their icons will bounce in the dock for a while and then they will just stop bouncing
5. You can no longer use any other Finder functions
5. You can no longer use command-option-escape to force quit
6. You can not log out, restart or shut down

- yup, that’s the good ol’ March of Doom. Now begone!

One Response to “How I learnt to stop worrying about reinstalling Tiger and stopped the March of Doom”

  1. division6 » Digital dilemma Says:

    […] Inspired by Charles’ efforts to improve the performance of his Mac without reinstalling the O/S, and finally fed up with the bloating that my Windows install had taken, I resolved this morning to fix it by whatever means necessary - even considering the possibility of a total reinstall and digging up the OEM Windows CD my Dell came with (this, of course, mocked as ‘Windows approach’ by Mac afficionados everywhere). And it had to be done in time for the football… […]

Leave a Reply

Powered by WordPress