Kinda Sorta Fixing Broken Face Detection in iPhoto

The other day I noticed iPhoto stopped properly detecting faces. I said, oh, that’s kind of odd, maybe it will start working again on its own.
And I kind of forgot about it for a little while. A little while until I was using the excellent iPhoto Library Manager to split my iPhoto library in two. ILM doesn’t actually offer a “split” function, but you can create a new library and copy photos into it.
Which is what I was doing when I ran into this:
Screen shot 2011-06-20 at 9.31.42 PM.png
Naturally this dialog was a little concerning. So I clicked “View Log” and ALL of the errors were like this:

*** Error: An error occurred while copying face (null) for source photo IMG_8234.JPG (id 26650) to destination photo id 6029 (DB Error: 1 “no such table: detected_face_blob” for query SELECT * FROM detected_face_blob WHERE face_index=? AND image_key=?)

After a while of The Google coming up empty, I finally ran across this post by Christian Kalmar: Fixing a broken Face Detection Database in iPhoto. Just in case that link goes bad, the essence is, quit iPhoto, make a backup of your photo library (lucky you if you’re using Time Machine!), then, in Terminal, cd into your iPhoto library folder and delete the files “face.db” and “face_blob.db” & boot up iPhoto again. iPhoto should then start recognizing your faces again.
For what it’s worth, this doesn’t actually fix your broken database, but it does allow you to start it over. I figured since I just moved more than half of my library into storage, why not?
I’ll be updating this post later with my success (or not).

2 thoughts on “Kinda Sorta Fixing Broken Face Detection in iPhoto”

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.