In between midnight summer nights and dark winter days

The /Volumes/MobileBackups directory Mon, Jul 25 2011 14:04

Lion's release introduces a small but annoying bug that manifests in FolderGlance. If you have selected to show mounted volumes in either the context menu or the menu extra, you will get all mounted volumes, as well as a volume whose name consists of seemingly random characters:

This volume is actually the new "MobileBackups" volume, created and maintained by Time Machine. According to John Siracusa's review of Lion on Ars Technica, this volume is actually an NFS-mounted network volume, which is confirmed when running the mount-command:

/dev/disk0s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
localhost:/DOeN59ypHYcKHEzVPFLU0q on /Volumes/MobileBackups ...

So the mount path, "/Volumes/MobileBackups" has a nice, human-readable name, whereas the path to the network volume seems to be where things are getting screwed up. For some reason, FolderGlance picks the wrong part of the name to display. Why?

To support localized file-, application- and folder-names, FolderGlance filters any name it will display to users through a function called LSCopyDisplayNameForRef(). For most English users, this doesn't matter much, since display names and actual file names are usually the same. However, for international users it's an important feature; instead of seeing an unfamiliar directory structure (especially in home directories and when listing the contents of the /Applications folder), application and folder names will appear in their local language - at least where available.

It turns out that it's the use of the LSCopyDisplayNameForRef() function that causes this annoying UI issue in FolderGlance. Two out of the three APIs provided by Apple to convert paths to display names provide the desired name (MobileBackups), while the third returns an incorrect display name (the random character string). The two working APIs are:

  • NSFileManager's displayNameForPath:
  • LSCopyDisplayNameForURL

Obviously, the non-working API is LSCopyDisplayNameForRef. I've submitted this bug to Apple as bug ID 9833110. While I wait for Apple to fix it, I've added some custom code to handle the case of /Volumes/MobileBackups, which is included in the just-released version 3.0.2 of FolderGlance. An option to hide this volume entirely will probably be added in the future. Code to see the behaviour of this bug is available here. You can compile it by executing the following command:
gcc -Wall -framework Cocoa test-displayname.m -o test-displayname

Previous: FolderGlance 3.0.1 supports Lion Next: Running iTunes in a debugger (gdb)

About me
My name is Daniel Stødle. I live in Tromsø, Norway, at 69.66° North. By day, I work as a researcher at the Northern Research Institute in Norway; by night, I run my company SCSC. I do most of my development on and for Mac OS X. My research is geared towards interaction with and visualization of geospatial data. Read more on my personal page.


Contact me

Recent posts

Jul 28: Running iTunes in a debugger (gdb)
Jul 25: The /Volumes/MobileBackups directory
Jul 20: FolderGlance 3.0.1 supports Lion
Mar 03: Quick tip: Speeding up Xcode compilations
Mar 02: FolderGlance 3.0
Jan 07: Making Universal Back Button work on 10.6.5 and later

Sep 03: Creating pthreads in C++ using pointers to member functions
May 31: Quickly open URLs in Terminal
May 31: Snow Leopard and automatically submitted Crash Reports
May 27: Universal Back Button released for Mac OS X
May 22: The 22 Megapixel Laptop
Feb 09: FolderGlance on MacUpdate Promo

Sep 28: FolderGlance 2.5.3 is out
Sep 21: FolderGlance 2.5.1 adds features and fixes bugs
Sep 16: FolderGlance 2.5 released!
Sep 10: Intriguing: Snow Leopard ships with the iPhone's multi-touch API built-in
Sep 03: FolderGlance and Snow Leopard
Mar 15: Fixing Keynote '08 and '09 to work with the Scripting Bridge
Feb 26: A website in an image
Feb 09: Display wall multi-touch

Feb 19: Spaces.. Spaces.. Spaces.. retires
Feb 08: How-to: Reverse engineering the Dock to fix Spaces
Jan 25: Interacting with wall-sized displays

Dec 20: Interesting Finder bug
Dec 06: Developing applications for the iPod touch (and the iPhone)
Nov 15: Spaces.. Spaces.. Spaces.. and 10.5.1
Nov 15: Thread creation using pthread_create() on Leopard
Nov 13: Spaces.. Spaces.. Spaces..
Nov 07: FolderGlance, Leopard and the More... menu
Nov 06: FolderGlance and Screen Sieve now also on Leopard!
Sep 16: Mysterious window server hangs


RSS feed

Blog frontpage