Attack of the Zombie Input Managers
With Halloween fading into last month, you might think you’re safe from zombies for another year. But that may not be true, and if you’re like me, your Mac may be concealing a host of zombies that are eating the brains of your 32-bit programs.
The first hint that zombies were infesting my Mac came shortly after I installed BBEdit 9.6 (see “BBEdit 9.6 Released; Still Doesn’t Suck,” 26 October 2010). Within a few hours, BBEdit crashed, twice! That exclamation point is intentional; BBEdit almost never crashes for me, and apart from Mailplane and my Web browsers, it’s the most-used program on my Mac. Luckily, I know Rich Siegel of Bare Bones well, so within a few hours of BBEdit sending in its crash reports, he pinged me on iChat. But he wasn’t interested in troubleshooting the problem further because my crash logs had revealed that I was running input manager hacks, which Rich hates with an all-consuming passion spawned
from the crashes they cause in his products.
(By the way, if you want to see if an input manager might be implicated in a particular crash, open the crash log—usually stored in
~/Library/Logs/CrashReporter—in Console and do a search for
InputManagers. If you get any hits, that’s an indication that one or more input managers were loaded into that application when it crashed.)
I promised to remove the input managers, restart, and let him know if I had any more crashes, and in fact, since then BBEdit has been solid. But that got me thinking. Didn’t input managers go away with Mac OS X 10.6 Snow Leopard? I distinctly remembered that being one of the big issues when Snow Leopard came out, but the details were hazy in my mind.
To learn more about what was going on, I called Matt Neuburg, knowing that his dislike of input managers was on par with Rich’s—long before Snow Leopard was released, Matt wrote an article for TidBITS called “Are Input Managers the Work of the Devil?” (20 February 2006). Like me, Matt couldn’t initially remember the exact details beyond the basic impression that Snow Leopard had done away with input managers, but within a few minutes, we’d come up with the real story.
It turns out that Snow Leopard didn’t so much do away with input managers as tighten the conditions under which they work. The two most relevant changes are that input managers in Snow Leopard work only if they are located in
/Library/InputManagers and only in 32-bit applications. (The other changes relate largely to file permissions and process privileges.) The practical upshot of these changes is that input managers in Snow Leopard don’t work in 64-bit applications, such as the Finder and Safari (which had previously been a popular target for input manager-based hacks), and input managers installed in
~/Library/InputManagers won’t be loaded no matter what.
But a large number of my commonly used programs—including BBEdit, Mailplane, Firefox, Google Chrome, iTunes, Panorama, Fetch, Things, TweetDeck, NoteBook, LaunchBar, and iPhoto—are still 32-bit apps, presumably since recoding to make them 64-bit compliant doesn’t provide much of a benefit. And worse, when I looked in
/Library/InputManagers, I found four input managers there (another, Smart Crash Reports, was located in the Snow Leopard-disabled
~/Library/InputManagers folder; Unsanity says it isn’t Snow Leopard-compatible anyway). The four that were loading were:
- 1PasswordIM (used by 1Password 2.x and replaced in 1Password 3)
- GearsEnabler (used by Google Gears, which isn’t compatible with Snow Leopard)
SIMBL (used by various Safari hacks and now updated for Snow Leopard, but my version was from 2007)
Menu Extra Enabler (used for putting icons in the system-wide menu bar; Unsanity says it’s incompatible with Snow Leopard)
In short, these four input managers were still being inserted into the executing code of every 32-bit application on my Mac. Regardless of the fact that these input managers had once performed useful tasks, all four were entirely obsolete and doing nothing useful for me any more. They were zombies, lurching around my Mac’s memory and eating the brains of my applications. And I’m willing to bet that many of you out there have zombie input managers in your Macs as well.
You might wonder why Apple didn’t make the Snow Leopard installer disable input managers by default (as happened with incompatible kernel extensions, for instance), and so did I. All I can think is that Apple felt that the tightened restrictions on how input managers load would significantly reduce the problems they were causing, with no need for installer intervention. Plus, since some input managers could continue to operate in Snow Leopard with 32-bit applications, Apple may have felt that it wasn’t appropriate to disable functioning software.
Luckily, removing these zombie input managers is easy. Just open
/Library/InputManagers (that’s the InputManagers folder in the top-level Library folder) and drag everything in there to the Trash, or if you’re not certain you wish to delete them right away, to the Desktop. When prompted, enter your admin password. Then restart your Mac—as long as the input managers aren’t in that folder, they won’t load. (You can also delete any input managers in the
~/Library/InputManagers folder—the one in your home folder’s Library folder—but that’s just for cleanliness, since they aren’t loading in Snow Leopard anyway.)
Although it’s unlikely that modern software would install an input manager under Snow Leopard, it’s not difficult to prevent them from being installed. If you want to go this route, check out Bill Bumgarner’s instructions.
I can’t promise that removing old, unused input managers will make your Mac more stable, but it certainly can’t hurt. And I’m curious—how prevalent are these zombies in the Mac world? If you have any obsolete input managers that are still loading other than the ones I’ve found, let us know in the comments.
I have Menu Extra Enabler; which program might have installed it? I have a number of programs that display in the menubar: Dropbox, TypeIt4Me, CoverSutra, iStat Menus...
Another thing to look for is launch agents that remain behind after you've deleted software. You can spot them easily by checking your Console logs, and looking for things that try to launch but can't find what they are supposed to launch.
I'm really not sure what might have installed Menu Extra Enabler, since it was probably quite some time ago. Something that put a menu bar icon up there, but I install so much software it's impossible to say.
Can I assume that it's no longer needed? (I know, I can try rebooting and see what happens...)
Unsanity says that Menu Extra Enabler isn't Snow Leopard-compatible anyway, so I'd toss it (I did).
On my Mac I'm pretty sure it was the Now Up-To-Date/Now Contact update 5.3.1 in September 2006 which installed (or reinstalled) the Menu Extra Enabler. The creation dates and times all match.
Doggone! I found Smart Crash Reports, SIMBL, and Growl Safari (all from 2007) in the two Input Manager folders (easy with Default Folder). Deleted them forthwith. Now to restart and see if everything still works...
Later: Restarted, logged in, booted the usual suspects and everything still works. Thanks for the good advice. JL
Years ago I read that input managers were one of the classes of software that could make your Mac more unstable and that they would soon be considered data non grata, and, at that time, I want on a seek and delete mission. I now feel so virtuous!
I found an old version of Chax in /Library/InputManagers along with Menu Extra Enabler. Both got onto this machine via migration.
Just looked into Chax while chatting with Mark Anbinder. Although Chax 3.0 is compatible with Snow Leopard, since iChat is a 64-bit application, Chax must be using a different approach in Snow Leopard, since the Chax input manager can't load in 64-bit iChat.
Got rid of Smart Crash Reports, 1PasswdlM and Gears Enabler. Thanks for the advice.
I don't have any folder at /Library/InputManager or ~/Library/InputManager - only /Library/Input Methods which is empty.
I recently rebuilt my MBP from scratch as I had years of legacy prefs in my ~/Library
Is it only 3rd party apps that create this folder?
Yes, I believe so. Input Methods is completely different.
Thanks for the reminder! I have (had) 1PasswdIM sitting there in a perfectly useless way. It should have been deleted by the version 3 installer IMO.
Yes, that would have made sense, though perhaps the 1Password folks had a reason for not doing so at the time.
I found Edit in TextMate in /Library/InputManagers. I sent it to the Trash.
My main machine had, and I've now deleted, Menu Extra Enabler and SIMBL; it also has an Ecamm input manager, which I gather is required by Call Recorder.
Since I still use Call Recorder, I retained it.
I found ecamm and cooliris as well as 1PassportM. There is also Inquisitor but since I don't recall its function I haven't deleted yet.
I believe Inquisitor is unnecessary with Safari 5 and unsupported in Snow Leopard.
I found a folder called "QuicKeysIM" in mine; it dates back to the summer of 2009. Does anyone know if it's worthy to continue or should be dispatched?
I had Safari Adblock 0.4.0 RC3 and an empty MagicMenuEnabler folder.
I found these three in Library/InputManagers:
LCC Scroll Enhancer Loader
Menu Extra Enabler
Menu Extra Enabler was trashed, but I remember nothing about the other two. I put them on the desktop and restarted, and things seem OK. I'll delete them sometime soon.
I also found CPNotebook in the ~/Library/InputManagers folder. Since I still use Notebook and Adam says it can't be loaded from there, should it be moved to Library/InputManagers?
I suspect that Notebook has already revved to use a different mechanism, but it would be worth checking with Circus Ponies instead of moving it. Input managers are the sort of juju you don't want to mess with if you don't know for sure what they'll do.
I found the LCC Scroll Enhancer Loader on my 3 year old iMac. It is from the Logitech Control Center Preference. Don't know if I need it or not. Anyone know?
What about Smart Crash Reports? I put it 'elsewhere' (it copied) then put the original in the trash. Maybe I should put it back? It's "in use" but then again so is 1PasswdIM...
It's not Snow Leopard compatible according to Unsanity, so I'd say to trash it.
Also watch out for CTLoader, which is installed along with some other gunk by the old Azureus (now Vuze). Stops Safari dead in its tracks upon launch until you remove the input manager.
I just found Cooliris in there and have tossed it. I hope it solves some of the instability I've experienced with Safari lately.
I had Cooliris, too. Just threw it out. Good going!
I had 1PasswordiM,Menu Extra Enabler and SIMBL all dated October, April and May 2008 in my root level folder and Smart Crash Reports from Sept 2005 inside the folder in my user folder
This isn't the first time Mr. Siegel has blamed Bare Bones' applications instability on input managers, Apple, or something else. Man up, Rich. BBEdit versions 9.6 and 9.6.1 are wonky. Period.
Well, in my case, it really does seem to have been the input managers, so the blame seems entirely justified.
I had Menu Extra Enabler in my user Input Managers folder, and Smart Crash Reports in the computer's Input Managers folder. Trashed 'em both!
in my folder I have two folders:
LCC Scroll Enhancer Loader
Smart Crash Reports
Does this match anything you are concerned with? Do they need to be removed.
Smart Crash Reports should absolutely be removed. The other is for a Logitech pointing device, and I don't know what its status is offhand.
Found these in /Library/InputManagers:
Menu Extra Enabler
Smart Crash Reports
These have both been mentioned by others, but I believe I'm the first to find this one:
I've no idea what it is or does, and I've barely even launched GB, let alone used it 'in anger'.
I also found SIMBL in ~/Library/InputManagers.
I've moved them all, for now, into corresponding 'InputManagers (disabled)' folders and will see what happens after restarting. I already had such a folder in ~/Library, and was amused to find a SafariNoTimeout in there dating from 2003! All the ones I've just moved are from 2008 or earlier, migrated from my old G4 (running 10.4.11) to my present 27" iMac.
ProfCast is for recording lectures. I couldn't offhand find a note about whether their input manager is still relevant or not.
Thank you for this story. I have 4 of the 5 items you mentioned still in my Library. Now I know why I have been getting mysterious crashes.
I found StopSafariZoomInputManager.
Menu Extra Enabler was found in my input managers folder (installed by Now Up To date probably in 2006) and has been preventing GraphicConverter 8.3.1 fully converting my ECW files to RAW.
GraphicConverter 8.1 worked OK with Menu Extra Enabler in 32 bit mode as you explained
PS Had SIMBL too