Operaがエラーで起動しない時の対処法
普段Firefoxを利用してウェブを閲覧しています。しかし、複数のgoogleアカウントに対して同時にチェックする際には、別のブラウザも利用したほうが都合がいいので、Operaを利用することがあります。
Operaを起動しようとしたら、こんなエラーが表示されました。
$ opera [13152:13152:1228/170918.486947:ERROR:process_singleton_posix.cc(321)] このプロファイルは別のコンピュータ (4C-34-88-3D-XX-XX) 上の他の Opera プロセス (8296) により使用されているため、データの破損を防ぐために Opera によりロックされています。このプロファイルが他のプロセスにより使用されていないことが確実な場合、プロファイルのロックを解除して Opera を再起動することができます。
ググっても類似の事例がないので、straceしてみました。するとSingletonLockというファイルが原因であることがわかりました。
$ strace -o opera-strace.log opera ... readlink("/tmp/.org.chromium.Chromium.f3LQsA/SingletonCookie", 0x7ffdb5f7ec60, 4096) = -1 ENOENT (No such file or directory) readlink("/home/xx/.config/opera/SingletonLock", "4C-34-88-3D-xx-xx-8296", 4096) = 22 uname({sysname="Linux", nodename="localhost.localdomain", ...}) = 0 readlink("/proc/8296/exe", 0x7ffdb5f7ecf0, 4096) = -1 ENOENT (No such file or directory)
とりあえず、このSingletonLockをどこかに移動させたら、無事Operaが起動できました。
$ mv SingletonLock /tmp