Images Corrupted When Importing to Photos.app
Aaron Patterson (via Hacker News):
I’m pretty sure I’d been getting corrupted images for a while, but it would only be 1 or 2 images out of thousands, so I thought nothing of it (it was probably my fault anyway, right?)
But the problem really got me upset when last year I went to a family member’s wedding and took tons of photos. Apple Photos combines RAW + jpg photos so you don’t have a bunch of duplicates, and when you view the images in the photos app, it just shows you the jpg version by default. After I imported all of the wedding photos I noticed some of them were corrupted. Upon closer inspection, I found that it sometimes had corrupted the jpg, sometimes corrupted the RAW file, and sometimes both. Since I had been checking the “delete after import” box, I didn’t know if the images on the SD card were corrupted before importing or not. After all, the files had been deleted so there was no way to check.
I estimate I completely lost about 30% of the images I took that day.
[…]
I was worried this was somehow a hardware problem. Copying files seems so basic, I didn’t think there was any way a massively deployed app like Photos could fuck it up (especially since its main job is managing photo files). So, to narrow down the issue I changed out all of the hardware.
[…]
However, after I got home from RailsConf and imported my photos, I found one corrupt image (the one above). I was able to verify that the image was not corrupt on the SD card, so the camera was working fine (meaning I probably didn’t need to buy a new camera body at all).
It sounds like some sort of concurrency bug. It’s unclear to me whether the camera itself—which he seems to be using instead of a separate SD Card reader—is a factor, but the same setup worked when importing to Darktable instead of Photos.
4 Comments RSS · Twitter · Mastodon
I stopped trusting iPhoto somewhere around 2013, when I saw it overwrite a library's originals with thumbnails after an upgrade.
Photos destructively renames images when importing them to its internal library structure, which means it's inherently not designed around pristine data protection.
One lesson is never choose to 'Delete after Import' as it's better to reformat the card in camera once you are sure everything is imported and verified OK.
It aggravates me that I am an unthinking click away from doing this when importing to Photos to then make accessible to Lightroom - it's an accident waiting to happen every damn time.
I stopped trusting Photos with my RAWs too many years ago. I use Lightroom to import from card or camera (no CFExpress reader), work on them there, and export viewables to Photos for consumption. But my source of truth is always Lightroom+cloud backup of the RAWs directly. Lightroom's database might be a proprietary database, but it puts files in their original names, in a well known location on disk, and never touches them (beyond converting to lossless DNG on import). I don't understand why Photos can't do the same. Even with iCloud library, original names could have remained as-is.
Regardless of bugs, Apple's underlying CI and CG RAW development tools are very underdeveloped and lacking, so even if no bugs exist, the color science and tools are just very limited for what I need.