2.1.0-alpha.7 library build fails, sync report mentions "TypeError: o.toLocal is not a function"

On a fresh installation of PhotoStructure for Docker 2.1.0-alpha.7, during initial building of library, which I’ve been working to make happen, restarting containers and restarting sync multiple times over about a week, I see indication of several failures in my latest sync report, each of which includes the message, “TypeError: o.toLocal is not a function”:

$ cat 00-55-50_460-sync-report.csv | wc -l
11141
$ grep failed 00-55-50_460-sync-report.csv | wc -l
62
$ grep failed 00-55-50_460-sync-report.csv | cut -f5,7 -d, | sort -u
importFileToResult(),TypeError: o.toLocal is not a function
$ grep failed 00-55-50_460-sync-report.csv | cut -f4-7 -d, | tail
failed,importFileToResult(),603,TypeError: o.toLocal is not a function
failed,importFileToResult(),595,TypeError: o.toLocal is not a function
failed,importFileToResult(),539,TypeError: o.toLocal is not a function
failed,importFileToResult(),494,TypeError: o.toLocal is not a function
failed,importFileToResult(),1817,TypeError: o.toLocal is not a function
failed,importFileToResult(),334,TypeError: o.toLocal is not a function
failed,importFileToResult(),1537,TypeError: o.toLocal is not a function
failed,importFileToResult(),275,TypeError: o.toLocal is not a function
failed,importFileToResult(),919,TypeError: o.toLocal is not a function
failed,importFileToResult(),239,TypeError: o.toLocal is not a function

Host machine is a Proxmox-managed KVM/QEMU VM running Debian 11, up-to-date on all packages including Docker. VM disk is NFS-mounted qcow2. PhotoStructure container gets NFS-mounted volumes for config, logs, library, and import/scan targets. Cache/tmp is bind-mounted from a local volume on the Proxmox host’s SSD. Import targets have .uuid files at roots. Directories and files on the import targets are readable by the user as which PhotoStructure runs in the container, which in my case is UID 1024. Total to import is close to 200 GB, which I suspect includes in the range of 7000 - 10,000 images and videos, mostly from a set of Google Photos export tarballs.

Thanks for reporting, I’ll check this out as soon as I can.

@mrm, I’m happy to help with troubleshooting this and other import/sync problems–just let me know what would be useful.

I was in luck, the only .toLocal() method was on the CapturedAt class, and it was only referenced non-optionally in one place (thank you, TypeScript, for good typing!). This fix will be in v2.1.0-alpha.8, coming soon.

If you re-run sync with the new build, and you think the file is skipped erroneously, please send me the file and I can take a closer look–it may have metadata shaped in such a way that I need to massage the CapturedAt extractor.

Thanks again for reporting!

1 Like