abentele/PhotosExporter

Index out of range error on first run

teoteo opened this issue · 6 comments

Thanks for this project.
I’m trying to use it but I get this error:

Successfully opened connection to database.
Fatal error: Index out of range: file Swift/ContiguousArrayBuffer.swift, line 444
2021-04-12 15:18:21.395317+0200 PhotosExporter[14325:404092] Fatal error: Index out of range: file Swift/ContiguousArrayBuffer.swift, line 444
(lldb)

My ~/Library/Application Support/PhotosExporter/PhotosExporter.yaml file is:

---
config:
  photosLibraryPath: /Volumes/SSDFoto/Libreria Foto.photoslibrary 
plans:
  -
    type: IncrementalFileSystemExport
    enabled: true
    name: My export
    mediaObjectFilter:
      keywordWhiteList:
      keywordBlackList:
    targetFolder: /Volumes/Foto_famiglia 
    deleteFlatPath: false
    exportOriginals: false
    exportCurrent: true

I’m using it on MacOS 11.2.3; the photo library in on a USB drive and the /Volumes/Foto_famiglia is a writable shared folder non a NAS.
Do you have suggestions?

Schermata 2021-04-12 alle 16 05 54

I had some missing originals of old photo stream. Deleting deleting them one by one, the export started (56617 items).
An export ignoring them and an error log with a list of the items with missing files could be useful.

@teoteo though it doesn't help with this specific issue in PhotosExporter, osxphotos will export photos even if missing (either ignore missing photos or download from iCloud if requested, depending on user configured options). It's a command line app written in python and thus not native like PhotosExporter but it works well.

@abentele

likely is an inconsistency in the photos library?

Yes it has to be fixed before a backup.

If you want to contribute to improve things for you (and others), feel free to implement this change and add a pull request for me

Sorry, I can’t write this kind of Swift code, but if it can help, I can create some layouts in Sketch for the UI

@RhetTbull

osxphotos will export photos even if missing

I like this native approach, but thanks, I’ll try it too.

I don't have any test case to reproduce this issue.

Also I don't have any plans to make the PhotosExporter work with inconsistent photo libraries. If the program would have to deal with any inconsistencies, the code would be much more complex.

Therefore I close this issue with no action.

issue fixed with commit 74e2275 by @kempei