今日、突然QuickSilverが落ちるようになってしまいました。

具体的にどう落ちるようになったかというと、自分はログイン時にQuickSilverを起動するようにしているのですが、ログインにQuickSilverが一旦起動して直後にアラートを出して落ちてしまいます。

しかたがないので再度手動で起動してみるも1分もしないうちに、またアラートを出して落ちてしまいます。

ちなみにConsoleを見ると

[0x0-0x48048].com.blacktree.Quicksilver[341] Quicksilver(341,0xa021ffa0) malloc: *** mmap(size=1645342720) failed (error code=12)
[0x0-0x48048].com.blacktree.Quicksilver[341] *** error: can't allocate region
[0x0-0x48048].com.blacktree.Quicksilver[341] *** set a breakpoint in malloc_error_break to debug

こんなエラーです。

で、とりあえずググってみたら解決方法が見付かりました。このGoogle CodeのQuickSilverのIssue Trackerに書いてありました。

結論としてはQuickSilverのPasteboard History用のファイルに巨大なデータが入ってしまっていたからで、下記のように $HOME/Library/Application Support/Quicksilver/Shelves/QSPasteboardHistory.qsshelf を削除すれば解決します。

% cd ~/Library/Application\ Support/Quicksilver/Shelves/
% ls -lh QSPasteboardHistory.qsshelf
-rw-r--r--  1 username  staff   785M Dec  5 14:50 QSPasteboardHistory.qsshelf

ちなみに自分の QSPasteboardHistory.qsshelf の容量を見てみたら785MBもありました。ひょえー。なんでこんなに貯まってたのかわかりませんがものすごい量ですね。さらにさらに中身を見たらぜんぶテキストデータだったので、どんだけ貯まってるんだって感じです。

ということで、これを削除してQuickSilverを起動しなおしたら落ちることもなくなりました。

必ずしもこの方法で直るとは言えませんが、1つの方法としてメモしておきます。