Troubleshooting a failed indexing operation

Note: This FAQ applies to Mac® OS X 10.2 Jaguar and Mac OS X 10.3 Panther®. If you are using Mac OS X 10.4 Tiger®, see the "Rebuilding Spotlight indices" section of our "Spotlight tips" FAQ.

This FAQ is a subset of the comprehensive information in the "Find by Content" chapter of our book Troubleshooting Mac OS X, Second Edition. It addresses the process by which one can identify and resolve a failed index build under Jaguar or Panther. Indexing is required to use Find by Content.

For additional information concerning Find by Content, including how to create indices and recommendations for indexing that minimize problems such as that addressed in this FAQ, see the "Find by Content" chapter of our book Troubleshooting Mac® OS X, Second Edition.

Components of an index under Jaguar and Panther

An index consists of the following files:

  • .FBCIndex - the index.
  • .FBCLockFolder - a folder.
  • .FBCSemaphoreFile - a file saved within .FBCLockFolder.

When you index a disk, volume, or folder all included subfolders are also indexed. This results in the three files named above being created in every folder and subfolder contained within the disk, volume, or folder you selected for indexing.

For example, if you index an entire disk or volume containing thousands of folders and subfolders, thousands of the index files noted above will also be created, one set of three per folder. Depending on the contents of the folder being indexed, these index files can be infinitesimally small or very large. At their largest, they will be about ten percent of the size of the folder indexed.

Why indexing can fail

Indexing can fail if:

  • A corrupted file is within the disk, volume, or folder being indexed.
  • A text extractor plug-in fails when extracting text for indexing from the file. Certain files, such as PDFs, Web pages, and the like have their text separated from their embedded formatting before the text is indexed. This operation is performed with text extractor plug-ins included with Mac OS X. If text extraction fails on any file within the disk, volume, or folder being indexed, the entire indexing process will fail.

Identifying a failed indexing operation

If indexing fails, no error messages are displayed. The only indications that indexing failed are:

  • A Console message indicating a ContentIndexing.crash.log file has been written to your Home > Library > Logs > CrashReporter folder.
  • A ContentIndexing.crash.log file is in your Home > Library > Logs > CrashReporter folder.
  • In the Get Info window’s Content index panel, the indexing progress bar disappears and the Status field indicates Not indexed.
  • The Get Info window’s Content index panel displays the following characteristics, as shown in the screen shot at right:
  • Status indicates Indexing… but the ContentIndexing process is not running. [1]
  • The progress bar, seen below Date, is grey and does not indicate any progress.
  • The Stop Indexing button does nothing when selected.
  • The Delete Index button is unavailable.

Cause

One or more files contained in the disk, volume, or folder on which indexing failed are either corrupted or failed text extraction. [2]

Solution

Resolving the failed indexing operation is a two-step process:

  1. Delete the failed index.
  2. Find and remove the corrupted files.

1. Delete the failed index

If you have indexed only a single folder, without subfolders, this process will be straightforward as the folder containing the failed index is the folder you indexed.

If you indexed a disk, volume, or folder containing multiple subfolders, you will need to check the subfolders individually to find the folder in which indexing failed. Unless a folder exhibits the features shown in the last screen shot, you will have to attempt to index each subfolder individually until you find the folder where indexing fails. Note that if indexing fails on a subfolder of a folder, both the folder and its subfolder will exhibit the symptoms of a failed index discussed above.

Once you have identified the folder on which indexing failed, do the following:

1. In Finder, open Find by selecting Finder > File > Find or pressing the Command-F keyboard combination.
2. In the Search in: field select Specific places from the list.
3. Select the Add button.
4. Navigate in the resulting window to locate and select the folder on which indexing failed. The folder will appear in the box displaying volumes and other selected search locations below the Search in: field.
5. Deselect all of the search locations except the folder on which indexing failed.
6. Select the following search criteria depending on the version of Mac OS X you are using:
Panther Jaguar
Name > starts with: .fbc file name > starts with: .fbc
Visibility > invisible items visibility: off
7. Select the Search button.
The following screen shot provides an example of what you should see on your desktop under Jaguar if the previous steps were applied to finding the failed index files in the folder Indexing Fails Here.
8. Trash the three files beginning with the characters .FBC in the top half of the Search Results window. Select all three and drag them to the Trash or, after selecting all three, Control-click and select Move to Trash from the resulting context window.
9. Open Terminal, located in the Macintosh HD > Applications > Utilities folder.
10. At the prompt, type the following command exactly as shown:
rm -rf ~/.Trash/.FBC*
then press Return. The failed index files are deleted from the Trash.
11. In Terminal, type exit and press the Return key. Quit (Command-Q) Terminal.
12. In Finder, close the Search Results and Find windows.

2. Find and remove the corrupted files

There are several approaches to finding corrupted files that may be preventing indexing from completing successfully.

  1. Try the techniques recommended in our "Finding corrupted files" FAQ.
  2. Process of elimination: If you cannot locate corrupted files using the prior two methods, you must resort to process-of-elimination:
    1. Create a new folder named Test on your desktop.
    2. Copy half of the files from the folder on which indexing failed to Test.
    3. Attempt to index the Test folder.
    4. If indexing Test succeeds, then Test does not contain the corrupted file. Proceed to step 5. Otherwise:
      1. Delete the Test folder.
      2. Repeat steps 1-4 selecting a subset of files selected in step 2 from the folder on which indexing failed.
      3. Continue to decrease the subset until you have eliminated all files but the corrupted file.
    5. Delete the Test folder.
    6. Repeat steps 1-4, but in step 2 select the other half of the files from the folder on which indexing failed.

Related Links

Notes

[1] You can determine if the ContentIndexing process is running by opening Activity Monitor (Panther) or Process Viewer (Jaguar) and looking for the ContentIndexing process in the Name column. See the AppleCare® Knowledge Base document “Mac OS X: How to Find Background Applications.”

[2] Unfortunately, the ContentIndexing.crash.log file provides little or no information to help pinpoint the corrupted file or files on which indexing failed. You may get some indication if the corrupted file is a PDF- or HTML-type file based on the processes running in the specific thread that crashed. You may ultimately find that the file which caused indexing to fail is not corrupted, but was seen as such by the PDF or HTML text extractor plug-ins. For help reading and interpreting crash logs, see the “Console and Crash Logs” chapter of Troubleshooting Mac OS X.

Did you find this FAQ helpful? You will find a wealth of additional advice for preventing or resolving Mac OS X problems in Dr. Smoke's book, Troubleshooting Mac® OS X.
Use of this site signifies your agreement to the terms of use.