I have had the same problem since updating to 9.2.0. When starting iPhoto I get a spinning beach ball and have to force quit iPhoto.
I tracked down my root cause to the USB memory card reader I use to transfer photos from my camera to my mac. There is not an error with the card because the OS will recognize it when iPhoto isn't running. Something in iPhoto seems to get corrupted when it tries to mount the card.
I have been able to use the following procedure to get it to recover.
- Force quit iPhoto
- unplug your camera or memory card reader
- move the directory /users/<userid>/Library/Caches/com.apple.iPhoto to the trash
- move the file /users/<userid>/Library/Preferences/com.apple.iPhoto.plist to the trash
- restart your computer
- hold down the option key <alt key on a PC keyboard> while starting iPhoto to get the Library selection menu
- create a new blank library (the name doesn't matter)
- iPhoto should start up
- quit iPhoto
- hold down the option key <alt key on a PC keyboard> while starting iPhoto again to get the Library selection menu
- select your library from the list
- iPhoto should start up correctly.
DO NOT use your memory card or camera while iPhoto is running, as it will cause the problem to happen again.
Hopefully this works for you too.
Back Up and try rebuild the library: hold down the command and option (or alt) keys while launching iPhoto. Use the resulting dialogue to rebuild. Choose to Rebuild iPhoto Library Database from automatic backup.
If that fails:
Download iPhoto Library Manager and use its rebuild function. This will create a new library based on data in the albumdata.xml file. Not everything will be brought over - no slideshows, books or calendars, for instance - but it should get all your albums and keywords back.
Because this process creates an entirely new library and leaves your old one untouched, it is non-destructive, and if you're not happy with the results you can simply return to your old one. .