Sometimes Aperture will hang on opening or even crash, if the Aperture Library contains corrupted, bad media - image files or videos. Typically this will happen when you open the Aperture Library again after importing new images. Aperture will try to render previews for the new image files and hang or crash, when it hits one that cannot be processed.
In this situation it will help to launch Aperture with the Shift key ⇧ held down. This will defer the Generation of previews. If you can launch Aperture this way, it will be a clear indication, that at least one of the imported media files is unreadable and needs to be removed from the library.
If you only imported a few new images or videos, simply export the newly imported files as originals, not versions, and delete them from your Aperture Library. Then use an external image viewer (e.g. Preview) to check the files before importing them again.
But if you have a large batch of images to screen, hundreds or thousands, use Aperture's Preview generation for a systematic screening using a "Binary Search" strategy.
- Turn on the Activity Window (Window > Show Activity) to see the names of the files that Aperture is processing.
- Then create two albums (File > New > Album): Call one album "To be checked" and one album "ok" and add all your recently imported, suspect images to the "To be checked" album .
- Select half of the images in the "To be checked" album and use the main menu command "Photos > Update Previews".
- If this succeeds without crashing (you may get the message that the images did not need to be updated), add these images to the "ok" album and remove them from the "To be checked" album.
- But if it crashes again, you will know that the culprit is within the subset of images you just tried to process, and the other half can be moved to the "ok" album.
- Either way, with one try to update the previews you have narrowed down the suspects to half of your images. If Aperture crashed, launch Aperture again with the Shift key ⇧ held down. Repeat the same splitting with the remaining images in the "To be checked" album, until you have only a few images left to check. Then export these and check outside Aperture which image has to be removed from the library.
Using this subdivision strategy you could scan 100000 images with only 16 division steps or scan 1000 images in 10 steps. Binary search by systematic subdivision makes searching large sets of data feasable; that is why it is also known as "divide and conquer".
This search strategy - using subdivision to narrow down the set of suspect images - has been first suggested to me by Frank Caggiano. Thanks, Frank, for pointing out this idea.