(AKA Aperture on Mac OS 10.5 Leopard crashes upon importing certain images) I spent the last two days collecting, anonymizing, and organizing over 1,200 images submitted by various folks to a photography contest that I run. Like last year, my plan was to use Aperture to actually look at and shuffle around the images, but when I attempted to import them by reference, Aperture crashed. When I re-launched Aperture, only a certain number of images had been imported, and successive imports of the remaining images continued to cause Aperture to crash. I finally isolated some of the images that Aperture refused to import without crashing, and after saving and re-saving them in various combinations, I realized that it was metadata that was causing the crash.
Here's what I discovered after playing around with some of the files:
- crashing images were taken with cameras from multiple vendors
- files that crashed Aperture had metadata from Adobe Photoshop
- stripping IPTC and EXIF using ImageMagick's mogrify command* had no effect on the file's ability to crash Aperture
- stripping all XMP profiles using ImageMagick's mogrify command** fixed the import problem
- re-saving the original file in Photo Mechanic fixed the import problem
- re-saving the original file in Photoshop did not fix the problem
* command: "mogrify +profile iptc image.jpg" and "mogrify +profile exif image.jpg" ** command: "mogrify +profile xmp image.jpg"
Interesting: removing all XMP profiles from the file fixed the import crash. But re-saving it in Photo Mechanic also fixed the problem. Photo Mechanic preserves some XMP data, but clearly removes the offending bits.
I compared the metadata in the Photoshop-saved file vs. the Photo Mechanic-saved file, and found this:
The only three profiles that Photo Mechanic removed were:
- XMP Media Management Properties
So one by one, I created files that only contained the metadata profiles for each of the potentially offensive bits above. The culprit? camera-raw-saved-settings/1.0/!
Creating a 1x1-pixel image in Photoshop and replacing the metadata with an XMP file containing the profile data for http://ns.adobe.com/camera-raw-saved-settings/1.0/ results in an image that crashes Aperture upon import. It's important to note that the problematic metadata fragment came from one of the bad files itself -- I saved the metadata and deleted everything out of the XMP file except for the camera-raw part. I couldn't create problematic metadata myself using any of the software I have, including my install of Photoshop / Camera Raw.
You can download all of the files (23KB) to test this out for yourself. The archive consists of the following files:
- crashaperture-cameraraw-only.jpg - an image file that will crash Aperture upon import. It's just a 1x1-pixel image that contains the offending metadata frament.
- crashaperture-cameraraw-only.xmp - the offending metadata fragment
- original images/ - dummy images containing the full metadata of the original crashing images
Also, here's the Apple crash report.
I'm going to submit this to Aperture support. I just thought I'd get the information out there for teh Google to index.
UPDATE: Here's a video showing how to create a crashing image using the XMP file in the downloadable archive:
I didn't realize my voice had such a strong nasal component! I blame the microphone. :)
Below, I've inlined the offending metadata. When I append this to any image by using Photoshop's File Info dialog box, the resulting image crashes Aperture upon import.