Ari's Blog

Reading makes me rich !

Spotlight が使えなくなった!

with one comment

Time Machine の初期バックアップを取得するのに、Time Machine を一時的に off にしてからか?on に戻したはずだが検索できないことに気づいた。そこで、コマンドラインで確認してみると、何やらよろしくない感じ。

sh-3.2# mdutil -s /
/:
Error: unknown indexing state.

なんだよ、「知らない」って。試しに「mdutil -i on /」としても、「mdutil -E /」としても、返ってくるのは「Error: unknown indexing state.」というエラーだけ。ダメ元で Spotlight の設定画面で「プライバシー」タブにドライブをまるごと追加&削除する、というセオリー通りの手順を実施したが、Spotlight の再構築は始まらず、というか何も始まらず。

OnyX でドライブの検証&修復、アクセス権の検証&修復を実施して再起動しても変化なし。ログには以下のように明らかに異常を思わせるエラーが出力されている。

Feb 27 13:11:14 MBA.local mds[56]: (Warning) DiskStore: Got indexer death
Feb 27 13:11:14 MBA.local mds[56]: (Error) DiskStore: indexerOpenIndexAtFD: -308 (ipc/mig) server died
Feb 27 13:11:14 MBA com.apple.launchd[1] (com.apple.metadata.mds.index[540]): Job appears to have crashed: Segmentation fault: 11
Feb 27 13:11:14 MBA.local mds[56]: (Warning) Volume: vsd:0x7fa60c19d600 Open failed. failureCount:6 {
Feb 27 13:11:15 MBA.local ReportCrash[552]: Saved crash report for mds_stores[540] version 800.23 to /Library/Logs/DiagnosticReports/mds_stores_2014-02-27-131115_MBA.crash
Feb 27 13:11:15 MBA.local mds[56]: (Warning) Server: No stores registered for metascope “kMDQueryScopeComputer”
Feb 27 13:11:15 MBA.local mds_stores[553]: (Error) Permissions: Failed stat on perm journal with error 9

Spotlight のプロセスが Signal 11 で死んでるじゃないか…。

これは正にサポートに聞いてみるタイミング!ということで、サポートに問合せをしてみた。今回試しにチャットで問合せをしてみた。

スクリーンショット 2014-02-27 11.52.13

いつものことながら、Apple のサポート対応は素晴らしい。大したことやっていないし、技術的にも難しいやりとりをしているわけでもない、相手も私よりも詳しくないと思えるレベルだが、受け応えが素晴らしいから?なんだかとても親切でこちらの気持ちを汲んで受け答えしてくれているというか、なんだか問題は解決しなくても「サポートに聞いてみて良かった」と思えてしまうところが不思議だ。

ちなみにサポートとのチャットは、レスポンスも早く(時間的に平日の日中だからかも)、まさに「チャット」としてサポートを受けられた。

肝心のやりとりだが、最初にセオリー通りの「プライバシータブへの追加/削除」方法を案内され、それはやったけど変化なしと答えると、「詳しい部署へ問い合わせるからしばらくお待ちください」とすぐになった。数分で以下の回答。

確認を取ったのですが、MavericksのOSで起こっている傾向的な問題でもないようで
改善に向けて、まずは
この問題が佐藤様のMac内のどこで起こっているのか、確認を取り
その結果に合わせて、トラブルシューティングを行う必要がございます。
方法としては、まずOS側の問題なのか
それとも、ユーザー固有の問題なのかを判断するために
別ユーザーがなければ作成し、そちらの環境ではシステム環境設定>Spotlight
MacintoshHDを追加し、削除が出来るかどうか
もし出来ないようであれば、OS側の問題と判断出来るので、OSの修復や再インストールが有効になります。

ふむふむ。別ユーザで試すのはやっていなかった。ただ、それをするとチャットが切れるとのことで、ダメだった時も含めて確認できることを全て確認した。

  1. 別アカウントを管理者権限で作成し、Spotlight 設定でプライバシータブにディスク追加/削除で動作するか?を確認する。アカウント追加方法は以下。
    http://support.apple.com/kb/TS4053?viewlocale=ja_JP
  2. 上記でも Spolight の再構築ができない場合は、ディスク修復とアクセス権の修復を行う。それぞれ手順は以下。
    http://support.apple.com/kb/PH5836?viewlocale=ja_JP
    http://support.apple.com/kb/PH5821?viewlocale=ja_JP
  3. もしそれでも改善がなければ、バックアップを取得してから、OS の再インストールが必要。方法は以下。
    http://support.apple.com/kb/PH13871?viewlocale=ja_JP&locale=ja_JP
    上記 OS 再インストール手順では、アプリおよびその設定、データはそのまま残り、OS 部分だけを上書き?インストールのような感じ。
  4. それでも改善しない場合、全てクリアしてから再インストールになり、アプリも設定も全て手動で戻す必要がある。Time Machine からまるごとリストアすると、今の不具合も一緒にリストアされてしまう可能性が高いとのこと。では Time Machine が使えないのか?というとそうではなくて、最新の Time Machine のバックアップの中から移行アシスタントを使って戻す、とのこと。方法は以下。
    http://support.apple.com/kb/ht4413?viewlocale=ja_JP

さて、上記で最終手段まで聞いたので「ありがとう!」とチャットを終了した。今後の資料として system.log も送付しておいた。

示された手順で、1.、2. まで実施したが、当然のように症状は改善されない。でも今私は佐久の病院にいるから、3. 以降の手順は実施できない。そもそも Time Machine のバックアップを取得した外付けポータブルディスクなんて持ってきていない。

家に帰ってから続きを試してみるか…。と思って一度は諦めたのだが、ここでどうしても諦めきれないのが技術者魂。(まだあったのか!そんなもの!と自分でも思いつつ…)system.log に mds プロセスが出力したログをキーワドに Google 先生に聞いてみる。たくさんキーワードを指定しても、全然ヒットしない。「com.apple.metadata.mds.index」というキーワードで検索した結果に、わりと近そうな内容があった。これだ。

https://discussions.apple.com/message/7484888#7484888

2008 年のかなり古い記事なのだが、全く同一ではないが、私と同様に mdutil コマンドで on/off しても、-E で作りなおしても「インデックスがない」となってしまう症状らしいことが読み取れる。そのレスに「sudo rm -rf /Volumes/Macintosh HD/.Spotlight-V100 を試してみろ」とある。そもそも私の Mac にそんなディレクトリはあるのか?と見てみると…。

sh-3.2# pwd
/Volumes/Macintosh HD/.Spotlight-V100
sh-3.2# ls -l
total 16
drwx—— 3 root wheel 102 2 21 2012 Store-V1
drwx—— 4 root wheel 136 2 22 08:25 Store-V2
-rw——- 1 root wheel 4228 2 27 12:36 VolumeConfiguration.plist

あった、あった。中を降りて行くと、ディレクトリが深くまであり、ファイルもたくさんあって、1つ1つ調べられる量ではない。「どうせ OS 再インストールするなら、ダメ元で消してみるか」と中身をよく確認もせずに実行してみた。

sh-3.2# cd /Volumes/Macintosh HD/
sh-3.2# rm -rf .Spotlight-V100/
sh-3.2# sync
sh-3.2# mdutil -s /
/:
Error: unknown indexing state.
sh-3.2# mdutil -i on /
/:
Indexing enabled.
sh-3.2# mdutil -s /
/:
Indexing enabled.

なんと!復活した!消した直後のステータスは今まで同様「Error: unknown indexing state.」だが、ダメ元で Spotlight のインデックスを on にしたら「Indexing enabled.」の返答が!今まで「Error: unknown indexing state.」の返答しかくれなかったのに。そして再度ステータスを確認してみると、「Indexing enabled.」の嬉しい回答が!

そしておもむろに画面右上の虫眼鏡をクリックしてみると、インデックスの再構築が始まっているー!直ったー!ちなみに、ディレクトリごと削除した「/Volumes/Macintosh HD/.Spotlight-V100」はどうなったのか?見てみると…

sh-3.2# cd /Volumes/Macintosh\ HD/.Spotlight-V100/
sh-3.2# ls -l
total 16
drwx—— 3 root wheel 102 2 27 13:39 Store-V2
-rw——- 1 root wheel 4238 2 27 13:39 VolumeConfiguration.plist

新たにキチンと作成されていた。前は 2012 年のタイムスタンプであった Store-V1 ディレクトリがなくなっている以外は、どのような変化があったのか?はわからない。V1 が邪魔していたのか?でも 2012 年のタイムスタンプじゃぁ違うだろうけど、その中のいずれかの何かが障害になってい可能性が高い?

いずれにしても、今は元気に Spotlight のインデックスを再構築中なので、正常完了を気長に待っている。ちなみに、.Spotlight-V100 フォルダを消しても、Spotlight に設定してあった「検索結果」「プライバシー」設定はそのまま残っていた。

生きていた技術者魂。やっぱり UNIX ベースと言うのは嬉しい。解決の糸口を探せるから。Windows じゃこうはいかない。絶対に。

追伸:Apple サポートに本件を情報として報告しておこうかしら。

Written by arito

2014-02-27 @ 16:01

カテゴリー: Apple, Mac

Tagged with ,

1件のフィードバック

Subscribe to comments with RSS.

  1. 貴重な情報を教えていただきまして、ありがとうございます。

    hsasaki

    2014-03-01 at 12:28


コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。