Of Canaries

So, I missed the last Apple Bug Friday, or maybe I missed the last two, as it's all kind of blurring together at the moment, but I'm reasonably sure I missed the last one. This was kind of disappointing, as earlier in the week I'd done some thinking about the lamest bugs in Mac OS 10.4 Tiger.

For something to be considered The Lamest Tiger Bug™, it isn't enough for it to just be an obvious bug. It has to be a bug that so downright sickly sad that, like a dead canary in a coal mine, its state of being tells us something, somewhere, has gone horribly awry. This won't be exhaustive, but rather just what comes to mind...

Tiger Text Bugs from Hell

I first mentioned this in The Downward Spiral, but the text wonkiness has always been there -- it's just gone crazy in Tiger.. and to quote Rentz, "NSTextView ain't right."

I primarily hear about it from developers with XCode, which I'm guessing is due to them having a higher likelihood of using larger blocks of text within a Cocoa app, instead of say, using Microsoft Word or such. Just including this bugginess in a launched product -- when people at Apple had to be aware it was around -- would have brought it to mind for this list.

However, it's going on six months since 10.4 has been released, and six years since Mac OS X has been released, yet Cocoa applications still can't deal correctly with non-trivial amounts of text, and it's getting worse.

Oh, Launchd

To my knowledge, all Unix-a-like systems have some sort of way to run things periodically. An example might be scripts to roll over log files, or clean up caches, or anything you want your system to do. Big deal on servers, and on most systems, this takes the form of cron, which allows you to specify a script or app that you might want to run weekly, monthly, daily, hourly, every 5 minutes, etc.

For Tiger, Apple decided they wanted to do better than cron, and introduced something called launchd, which among other things took over the running of periodic tasks. Unfortunately:

  1. It only ran tasks once after every reboot. This meant that the daily maintenance scripts would run correctly the first day, but wouldn't run on the second day, let alone your own scripts you may need to run. The workaround was to bypass launchd and put all the scripts back as cron jobs.

  2. Apparently, launchd was reliant upon the kernel in order to tell time, yet apparently there was a bug in the kernel causing it to lose time while the computer was asleep. So if you had your computer asleep for 3 hours, and fired it up, a script that was supposed to run at 5pm would get run at 8pm. The computer knew what time it was in the menu bar, but launchd didn't.

That first one was a doozy, and about as embarrassing as a bug can get -- to be quiet honest I'm trying to think of corollaries on other platforms and coming up blank. It was just insanity.

What made it especially amusing is that cron is one of the most well-known technologies out there. Every system admin knows it and generally relies on it in some form, and "deprecating" it was already going to cause raised eyebrows -- but deprecating it with such a broken implementation is the stuff of legend.

I believe the first was finally fixed in 10.4.2, but lets just say it didn't help them get traction in the enterprise market -- it's akin to a practical joke on those tasked with trying to sell Apple solutions to larger institutions. We're not going to even go into lookupd, oh no, lookupd would take its own post and its state in Tiger is the least of its wonkiness.

iPhoto Color Shift of Doom

This one had a special place in my heart. For iPhoto 5, Apple broke their modus operandi of including the previous version of iPhoto with the new OS, so if you upgraded to Tiger you were having to pick up iPhoto 5 as part of iLIfe '05. The big feature of the new version was its color adjustment panel, unfortunately if you actually cared about how your photos looked you couldn't do anything to them in iPhoto, as it would fuck with the color.

For reference:

Basically, images often have 'profiles' embedded in them to keep them looking as they should look on different devices. For whatever reason, if you touched the image with iPhoto 5 instead of just using it to store them, it would embed the Generic RGB profile instead of respecting what the file walked in with, which meant you had to use Photoshop or Adobe Elements or anything but iPhoto to adjust your image. This was finally fixed with iPhoto 5.0.3, which was released right after 10.4.2.

One could argue that enough stupid bugs would equal a canary in and of itself, but I'd say this qualifies as a major canary on its own, because it begs the questions:

  • Did no one developing iPhoto even notice this?

  • Did no one responsible for making sure iPhoto worked notice this?

  • Did they notice it, but decided to ship it while knowing it was going to fuck up user's images?

Pick any, and the canary is dead, which is worrisome.

Oh, Preview.app

Take an image, and open it in Apple's Preview.app, like so...

yay pretty friends

Now, rotate it in Preview.app via one of the great big giant rotate buttons, like so below, and save it as a separate file...

yay pretty sideways friends

If you open it in Preview.app, it's still rotated. If you view it within the Finder.app, you would be forgiven for thinking it was actually rotated...

i give up

However, if you open it in, say, Safari or anything else, including another image app, it's not rotated...

Right. Worked correctly before before 10.4, doesn't work as of 10.4.2, and justly deserves a WTF. Not because it's an end-of-the-world bug, but rather what one can infer from a bug like this making it into a public release, as well as it remaining unfixed.

The Nano-Pico bug

If you want to edit text via the terminal, you have a few options. Some people gravitate towards emacs, some towards vi, and some towards pico. I use vi when I have no choice because the task demands it, but let's just say my brain and vi don't align as they should and I am constantly having to relearn commands. For just about everything else, I just fire up pico -w because it's fast and simple, and yes, I know a few will mock me, because Mac vs PC has nothing on emacs vs vi and I might as well be admitting to being partial to the Amiga.

Anywho, in 10.4 Apple made the decision to replace pico with an app called nano, by funneling all the commands and options that would normally go to pico towards nano. This was actually kinda cool, as nano is essentially an open-sourced clone of pico with correlations for all of its options. Since it's transparent, a normal user would never know his command to open pico was being mapped to nano, unless they happened to peek at the process list and see it running.

Unfortunately, there's a big fat bug which has been common knowledge since around April, that's very easy to reproduce:

  1. Open a terminal window.

  2. Type "nano" (without quotes), add a space after the word "nano", and then drag a .txt file from the Finder onto the terminal window, then hit return. You should see your text file opened within nano for editing.

  3. Resize the window to be larger.

  4. The window should blank out and become unusable for any further commands, and if you open another terminal window and run top, you should see nano using 60-100% of your CPU.

  5. The only people I'm aware of being unaffected are those who use screen to manage multiple sessions, and you could also type "pico" instead of "nano" above and you'll get the same thing.

The Nano-Pico bug completely wigs me out, and is one hell of a canary. Apple has to be aware of it, because it'd be just as scary if they weren't.

Wrapping up

Like I said, the above isn't comprehensive, just examples coming to mind, and I'm sure you can come up with other canaries to compete for the title of The Lamest Tiger Bug™. There are others I have in mind I could jot down, but just banging out what I have was depressing enough, and to soldier on I'd need enough liquid courage lubricating my brain that I'd end up snoozing through the alarm.

Did I mention we're going on half a year into Tiger being out?

yummy alcohol posted button Posted by drunkenbatman
    October 06, 2005, at 04:01 AM


Comments (47)




Post a comment



Anonymous comments are allowed, but please enter something for a name.

And do endeavor to appear sane.









Remember personal info?