December 22nd, 2005 • 6:26 pm
It’s the kind of stuff that has to be seen to be believed. So here it is:
The question is: How does such a thing happen?
In this particular situation, it happened when I selected a thread of two messages in my Inbox and applied the “” command to that thread while Mail was busy checking for new mail over my dial-up connection.
I guess I shouldn’t have done that but, you know, there’s nothing that says you can’t do that. On the contrary, Mail is a multi-threaded application and appears to be able to handle multiple concurrent tasks just fine.
Not in this case. As soon as I applied the “” command to that thread, I knew that something was wrong. Mail behaved like it was removing the attachments from the messages in the thread, and deselected the messages, as usual—but the attachments were still there.
I know that sometimes the “” command causes some “message list refresh” problems, so in order to force Mail to refresh the message list, I selected one of my individual account inboxes inside the main Inbox.
And that’s when I got the situation illustrated by the screen shot above. Mail clearly indicated that that particular mailbox contained three unread messages, but at the same time it also just as clearly indicated that the mailbox contained 0 message(s).
That situation never went away. I waited and waited and nothing happened. At some point, I checked the Activity Viewer window (which I keep open at all times, precisely because of weird situations like these), and saw this:
So the reason why Mail was stuck in this impossible yet very real situation was that it was stuck in sorting mode and couldn’t complete the sorting task. Obviously, this had caused Mail’s threads to become out of sync, and part of Mail was thus stuck in a sorting process preventing it from listing any messages at all (hence the “0 messages”), while another part was not stuck at all and was perfectly able to see that that particular mailboxes contained “3 unread” messages.
It’s all well and good to have multi-threaded applications, but when out-of-sync situations like this one happen, it creates a pretty unsightly environment from a UI point of view.
And how was I supposed to get out of it? Well, since only part of Mail was stuck, there was no indication in the Mac OS X of Mail being “unresponsive.” Indeed, I could still pull down the menus, and click on various things, and the Dock menu for Mail was definitely not the menu you get when an application is not responding. It was the normal Mail Dock menu.
So I couldn’t select “Sorting messages” process was not complete.” in the Dock. If I tried the regular “ ” command in the “ ” menu, it didn’t work either, because Mail refuses to quit until all processes are complete, and obviously this “
In addition, the Activity Viewer showed that thread, but the “Stop” button (red stop sign icon) was greyed out, so there was no point in trying to click on that. What the use of a “Stop” button that cannot be clicked on is, I do not know. Obviously it makes sense to someone in Cupertino.
In the end, the only solution was to force quit the Mail application “manually” by going through the system-wide “” command in the Apple menu.
I don’t know what the average Mac user is supposed to do in such situations. In my experience, it’s already amazing if the average Mac user knows that, when an application is not responding, he can force-quit it through its Dock icon menu. But here, how is he supposed to know how to deal with a Mail application that is only partly not responding?
This situation raises all kinds of issues. How on earth can such a situation happen in the first place? And where are the proper interface behaviours to handle such situations gracefully for the user?
I am afraid it’s simply not acceptable. Yet, of course, since it’s not the kind of thing that is easy to reproduce (the next time I try to remove attachments in a thread of messages, it’ll probably work just fine), it’s pretty much pointless to report it to Apple as a bug.
Which raises another issue: How will such bugs ever get fixed if the bug reporting process is so heavily focused on easily reproducible situations? I didn’t make this particular situation up. It really did happen to me. And it happened in the course of using Mail. But I don’t know how to reproduce it reliably. Does it mean it’s not an important bug? I don’t think so… Yet right now, that’s exactly what it is.
It’s probably related to the more general flakiness of the “” command per se. I experience problems with this command on a regular basis. The very fact that the command deselects the selected messages from which it has removed attachments is a clear indication that Apple simply hasn’t applied the usual standards to this particular command. It should be remembered that this command was added to Mail 1.3, as an afterthought. It was not included in earlier versions of the program. And it obviously still doesn’t work properly. But at this rate in 2008 it might still be as flaky as it is today. Which is really shameful.