Indexer: Restore missing files when they are found again #502

Closed
opened 2026-02-19 23:10:02 -05:00 by deekerman · 27 comments
Owner

Originally created by @jean-louis67 on GitHub (Nov 16, 2020).

Originally assigned to: @lastzero on GitHub.

The server hosting my photoprism instance has been restarted. It turns out that the local disk of the partition containing Originals was not mounted.
After restarting photopism, the total number of photos decreased very quickly (7800 → 5500 approximately), kind of de-indexing I suppose. I stopped photoprism as soon as I noticed it.

So I mounted the disk and restarted photoprism.
I launched an indexing, but it fails quite quickly and I still cannot find the missing photos:

image

Thank you in advance for your assistance!

Originally created by @jean-louis67 on GitHub (Nov 16, 2020). Originally assigned to: @lastzero on GitHub. The server hosting my photoprism instance has been restarted. It turns out that the local disk of the partition containing Originals was not mounted. After restarting photopism, the total number of photos decreased very quickly (7800 → 5500 approximately), kind of de-indexing I suppose. I stopped photoprism as soon as I noticed it. So I mounted the disk and restarted photoprism. I launched an indexing, but it fails quite quickly and I still cannot find the missing photos: ![image](https://user-images.githubusercontent.com/65403912/99219478-0af4c080-27dd-11eb-9278-4e99012433a3.png) Thank you in advance for your assistance!
deekerman 2026-02-19 23:10:02 -05:00
Author
Owner

@lastzero commented on GitHub (Nov 16, 2020):

Can you pull the latest image? Thought it might be a good idea to configure volumes in our Dockerfile as some users forget to mount storage, but had similar issues with our demo. Second build seems OK.

@lastzero commented on GitHub (Nov 16, 2020): Can you pull the latest image? Thought it might be a good idea to configure volumes in our Dockerfile as some users forget to mount storage, but had similar issues with our demo. Second build seems OK.
Author
Owner

@jean-louis67 commented on GitHub (Nov 16, 2020):

Thank you very much for your (super) fast response!
There are no more errors, but I still only see 5500 photos

image

Maybe we have to wait a bit.
For example, the indexing process did find many archived photos. But none appear for the moment in the application

Or maybe I have to force indexing (but how?) Because 1mn30 seems an ultra short time for more than 8000 photos

@jean-louis67 commented on GitHub (Nov 16, 2020): Thank you very much for your (super) fast response! There are no more errors, but I still only see 5500 photos ![image](https://user-images.githubusercontent.com/65403912/99221715-65901b80-27e1-11eb-8400-1739b710c82d.png) Maybe we have to wait a bit. For example, the indexing process did find many archived photos. But none appear for the moment in the application Or maybe I have to force indexing (but how?) Because 1mn30 seems an ultra short time for more than 8000 photos
Author
Owner

@lastzero commented on GitHub (Nov 16, 2020):

They are also not shown in archive?

@lastzero commented on GitHub (Nov 16, 2020): They are also not shown in archive?
Author
Owner

@lastzero commented on GitHub (Nov 16, 2020):

Complete reindex might help.

@lastzero commented on GitHub (Nov 16, 2020): Complete reindex might help.
Author
Owner

@jean-louis67 commented on GitHub (Nov 16, 2020):

Yes, I will do that. But is it possible to launch it as a command line?

@jean-louis67 commented on GitHub (Nov 16, 2020): Yes, I will do that. But is it possible to launch it as a command line?
Author
Owner

@lastzero commented on GitHub (Nov 16, 2020):

index -a

@lastzero commented on GitHub (Nov 16, 2020): index -a
Author
Owner

@jean-louis67 commented on GitHub (Nov 16, 2020):

Thank you very much.
I think it takes about ten hours. I'll keep you informed.

@jean-louis67 commented on GitHub (Nov 16, 2020): Thank you very much. I think it takes about ten hours. I'll keep you informed.
Author
Owner

@lastzero commented on GitHub (Nov 16, 2020):

Are you using MySQL instead of MariaDB?

@lastzero commented on GitHub (Nov 16, 2020): Are you using MySQL instead of MariaDB?
Author
Owner

@jean-louis67 commented on GitHub (Nov 16, 2020):

Yes

@jean-louis67 commented on GitHub (Nov 16, 2020): Yes
Author
Owner

@lastzero commented on GitHub (Nov 16, 2020):

See #599

@lastzero commented on GitHub (Nov 16, 2020): See #599
Author
Owner

@lastzero commented on GitHub (Nov 16, 2020):

What the failed query does is setting the photo quality to -1 if there is no primary JPEG file for displaying it in search results. With our latest release, the query is working on MySQL 8 and the photo count is reduced accordingly.

@lastzero commented on GitHub (Nov 16, 2020): What the failed query does is setting the photo quality to -1 if there is no primary JPEG file for displaying it in search results. With our latest release, the query is working on MySQL 8 and the photo count is reduced accordingly.
Author
Owner

@alexislefebvre commented on GitHub (Nov 16, 2020):

@jean-louis67 Do you see your missing photos in the “Library > Hidden” section?

@alexislefebvre commented on GitHub (Nov 16, 2020): @jean-louis67 Do you see your missing photos in the “Library > Hidden” section?
Author
Owner

@jean-louis67 commented on GitHub (Nov 16, 2020):

Thank you Alexis four your interest.

index - a ended as follow:
image

I still only have 5572 photos.

If I look at the directory /photoprism/Originals/2020/11, I found 47 photos:
image

But in the application, the corresponding folder is considered as empty:
image

Last info, _select count(*) from photos__returns 7940

I think I'm going to let it all rest a bit ...

@jean-louis67 commented on GitHub (Nov 16, 2020): Thank you Alexis four your interest. _index - a_ ended as follow: ![image](https://user-images.githubusercontent.com/65403912/99255464-4199fd80-2814-11eb-9082-b03778e6a480.png) I still only have 5572 photos. If I look at the directory /photoprism/Originals/2020/11, I found 47 photos: ![image](https://user-images.githubusercontent.com/65403912/99255769-b2d9b080-2814-11eb-8c26-6c0cf6565c3f.png) But in the application, the corresponding folder is considered as empty: ![image](https://user-images.githubusercontent.com/65403912/99256106-2976ae00-2815-11eb-873c-cf8423c88886.png) Last info, _select count(*) from photos__returns 7940 I think I'm going to let it all rest a bit ...
Author
Owner

@lastzero commented on GitHub (Nov 16, 2020):

Might those be duplicates? Were they archived? Are they fully standards compliant? There is an issue in our Exif library that could cause files not to get indexed, probably when they contain unexpected metadata: #600

@lastzero commented on GitHub (Nov 16, 2020): Might those be duplicates? Were they archived? Are they fully standards compliant? There is an issue in our Exif library that could cause files not to get indexed, probably when they contain unexpected metadata: #600
Author
Owner

@oscar-b commented on GitHub (Nov 17, 2020):

I think I'm having the same issue. When upgrading PP to the latest version (was running one from 1-2 months ago) I got a problem with the folder of photos mounted to originals, the permissions didn't allow PP to access the folder. This seems to have caused all photos the be marked as "Archived", and skipped during re-index (using photoprism index -a) and no way to get them back.

INFO[2020-11-17T10:28:00Z] index: skipped archived main jpg file 2018/Vinter/DSC03185.JPG

These files doesn't show up anywhere (Photos->Archive is empty, Library->Originals show the folders but empty).

I'm sure a DB wipe would solve it, but let me know if you want to troubleshoot it @lastzero

@oscar-b commented on GitHub (Nov 17, 2020): I think I'm having the same issue. When upgrading PP to the latest version (was running one from 1-2 months ago) I got a problem with the folder of photos mounted to `originals`, the permissions didn't allow PP to access the folder. This seems to have caused all photos the be marked as "Archived", and skipped during re-index (using `photoprism index -a`) and no way to get them back. ``` INFO[2020-11-17T10:28:00Z] index: skipped archived main jpg file 2018/Vinter/DSC03185.JPG ``` These files doesn't show up anywhere (Photos->Archive is empty, Library->Originals show the folders but empty). I'm sure a DB wipe would solve it, but let me know if you want to troubleshoot it @lastzero
Author
Owner

@lastzero commented on GitHub (Nov 17, 2020):

@oscar-b Thanks! Your hint might help finding the issue. Files get flagged as missing when they are gone. When no files are left, a photo gets flagged as deleted / archived. We have to handle that case different than a manual delete, so that we can un-delete when files can be found again. Also, photos may have been manually archived and then their files physically deleted. In that case, they should NOT be un-deleted automatically.

@lastzero commented on GitHub (Nov 17, 2020): @oscar-b Thanks! Your hint might help finding the issue. Files get flagged as missing when they are gone. When no files are left, a photo gets flagged as deleted / archived. We have to handle that case different than a manual delete, so that we can un-delete when files can be found again. Also, photos may have been manually archived and then their files physically deleted. In that case, they should NOT be un-deleted automatically.
Author
Owner

@lastzero commented on GitHub (Nov 20, 2020):

Hopefully just fixed this in #568

@lastzero commented on GitHub (Nov 20, 2020): Hopefully just fixed this in #568
Author
Owner

@oscar-b commented on GitHub (Nov 20, 2020):

Hopefully just fixed this in #568

Will test it later tonight, is there a new Docker build yet?

@oscar-b commented on GitHub (Nov 20, 2020): > Hopefully just fixed this in #568 Will test it later tonight, is there a new Docker build yet?
Author
Owner

@lastzero commented on GitHub (Nov 20, 2020):

Yes, although there seems to be an issue with our Raspberry Pi build.

@lastzero commented on GitHub (Nov 20, 2020): Yes, although there seems to be an issue with our Raspberry Pi build.
Author
Owner

@oscar-b commented on GitHub (Nov 20, 2020):

Yes, although there seems to be an issue with our Raspberry Pi build.

I have no name!@d04144422291:/photoprism$ photoprism version
201120-a45aca5d-Linux-x86_64

Running photoprism index -a doesn't resolve my library, still getting:

INFO[2020-11-20T21:20:22Z] index: skipped archived main jpg file 2018/Vinter/DSC03171.JPG
INFO[2020-11-20T21:20:22Z] index: skipped archived main jpg file 2018/Vinter/DSC03170.JPG
INFO[2020-11-20T21:20:22Z] index: skipped archived main jpg file 2018/Vinter/DSC03172.JPG

But not sure if the fix you pushed is supposed to being able to fix this after the fact, or just making sure the initial state doesn't happen?

@oscar-b commented on GitHub (Nov 20, 2020): > Yes, although there seems to be an issue with our Raspberry Pi build. ``` I have no name!@d04144422291:/photoprism$ photoprism version 201120-a45aca5d-Linux-x86_64 ``` Running `photoprism index -a` doesn't resolve my library, still getting: ``` INFO[2020-11-20T21:20:22Z] index: skipped archived main jpg file 2018/Vinter/DSC03171.JPG INFO[2020-11-20T21:20:22Z] index: skipped archived main jpg file 2018/Vinter/DSC03170.JPG INFO[2020-11-20T21:20:22Z] index: skipped archived main jpg file 2018/Vinter/DSC03172.JPG ``` But not sure if the fix you pushed is supposed to being able to fix this after the fact, or just making sure the initial state doesn't happen?
Author
Owner

@jean-louis67 commented on GitHub (Nov 21, 2020):

Hello

Thank you very much to each participant of this issue for your efforts and explanations.
I just redone an index -a, but that didn't make the missing photos reappear.
That said, it's been a while since I wanted to thoroughly review my way of working with PhotoPrism, which involved a reinitialization of the database. This is what I am doing, and therefore this problem is not blocking me. I will now be careful that the files are accessible before launching or relaunching PhotoPrism.

@jean-louis67 commented on GitHub (Nov 21, 2020): Hello Thank you very much to each participant of this issue for your efforts and explanations. I just redone an _index -a_, but that didn't make the missing photos reappear. That said, it's been a while since I wanted to thoroughly review my way of working with PhotoPrism, which involved a reinitialization of the database. This is what I am doing, and therefore this problem is not blocking me. I will now be careful that the files are accessible before launching or relaunching PhotoPrism.
Author
Owner

@lastzero commented on GitHub (Nov 21, 2020):

New image not yet available, just implemented batch approve... now looking at other bugs.

@lastzero commented on GitHub (Nov 21, 2020): New image not yet available, just implemented batch approve... now looking at other bugs.
Author
Owner

@lastzero commented on GitHub (Nov 21, 2020):

Just started a new Docker build for testing. Available soon.

@lastzero commented on GitHub (Nov 21, 2020): Just started a new Docker build for testing. Available soon.
Author
Owner

@oscar-b commented on GitHub (Nov 21, 2020):

@lastzero The photoprism index -a looked the same (index: skipped archived main jpg file), but afterwards the files are visible under Photos->Archive, which they weren't before! So if that's the expected behavior in this case, it looks fine to me!

It would be nice if it displayed a counter in the menu next to Archive.

It wasn't completely obvious how to un-archive, since that wasn't possible to do in list mode (?) which I was using thinking it would be easiest to select multiple photos in that mode.

I got a crash when running index one more time after unarchiving all files, but another index run after that seems to chug along. Interested in that one off crash?


I have no name!@25a1110be815:/photoprism$ photoprism index -a
INFO[2020-11-21T20:55:58Z] indexing photos in /photoprism/originals
INFO[2020-11-21T20:55:58Z] classify: loading nasnet
INFO[2020-11-21T20:56:08Z] classify: loading labels from labels.txt
INFO[2020-11-21T20:56:08Z] index: no .ppignore file found
fatal error: concurrent map read and map write

goroutine 6 [running]:
runtime.throw(0x10d0c48, 0x21)
	/usr/local/go/src/runtime/panic.go:1116 +0x72 fp=0xc013ed2f98 sp=0xc013ed2f68 pc=0x442712
runtime.mapaccess2(0xf86d40, 0xc01467e210, 0xc013ed300e, 0x3, 0xc013f55ea8)
	/usr/local/go/src/runtime/map.go:469 +0x25b fp=0xc013ed2fd8 sp=0xc013ed2f98 pc=0x41b71b
github.com/dsoprea/go-exif/v3.(*TagIndex).Get(0xc00027b0f0, 0xc0143a4c00, 0xc013ed011b, 0x0, 0x0, 0x0)
	/go/pkg/mod/github.com/dsoprea/go-exif/v3@v3.0.0-20200807075213-089aa48c91e6/tags.go:252 +0xe5 fp=0xc013ed3030 sp=0xc013ed2fd8 pc=0xb09e65
github.com/dsoprea/go-exif/v3.(*IfdEnumerate).tagPostParse(0xc013ed3698, 0xc0146f0630, 0x0, 0x0, 0x0)
	/go/pkg/mod/github.com/dsoprea/go-exif/v3@v3.0.0-20200807075213-089aa48c91e6/ifd_enumerate.go:327 +0xb8 fp=0xc013ed31c0 sp=0xc013ed3030 pc=0xaffed8
github.com/dsoprea/go-exif/v3.(*IfdEnumerate).parseIfd(0xc013ed3698, 0xc0143a4c00, 0xc0141893b0, 0x0, 0x0, 0x0, 0x0, 0xc0146ed000, 0x6, 0x8, ...)
	/go/pkg/mod/github.com/dsoprea/go-exif/v3@v3.0.0-20200807075213-089aa48c91e6/ifd_enumerate.go:445 +0x3fe fp=0xc013ed3360 sp=0xc013ed31c0 pc=0xb00d3e
github.com/dsoprea/go-exif/v3.(*IfdEnumerate).Collect(0xc013ed3698, 0xc000000008, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/go/pkg/mod/github.com/dsoprea/go-exif/v3@v3.0.0-20200807075213-089aa48c91e6/ifd_enumerate.go:1342 +0xb29 fp=0xc013ed3630 sp=0xc013ed3360 pc=0xb074a9
github.com/dsoprea/go-exif/v3.Collect(0xc0000aa600, 0xc00027b0f0, 0xc013acc006, 0xb170, 0xb170, 0x1269660, 0x225e450, 0x8, 0x0, 0x0, ...)
	/go/pkg/mod/github.com/dsoprea/go-exif/v3@v3.0.0-20200807075213-089aa48c91e6/exif.go:230 +0x26c fp=0xc013ed36f0 sp=0xc013ed3630 pc=0xafe3cc
github.com/photoprism/photoprism/internal/meta.(*Data).Exif(0xc0139747d0, 0xc01391b600, 0x3f, 0x109f980, 0x3, 0x0, 0x0)
	/go/src/github.com/photoprism/photoprism/internal/meta/exif.go:78 +0x2f3 fp=0xc013ed3b58 sp=0xc013ed36f0 pc=0xb72973
github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).MetaData.func1()
	/go/src/github.com/photoprism/photoprism/internal/photoprism/metadata.go:18 +0xba fp=0xc013ed3cc8 sp=0xc013ed3b58 pc=0xba5c3a
sync.(*Once).doSlow(0xc0139749f0, 0xc013ed3d28)
	/usr/local/go/src/sync/once.go:66 +0xec fp=0xc013ed3d18 sp=0xc013ed3cc8 pc=0x48256c
sync.(*Once).Do(...)
	/usr/local/go/src/sync/once.go:57
github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).MetaData(0xc013974700, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/metadata.go:14 +0xbd fp=0xc013ed3d48 sp=0xc013ed3d18 pc=0xb9db3d
github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).Orientation(...)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/mediafile.go:894
github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).decodeDimensions(0xc013974700, 0x0, 0x0)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/mediafile.go:821 +0x17c fp=0xc013ed4838 sp=0xc013ed3d48 pc=0xb9bc3c
github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).Width(0xc013974700, 0x9)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/mediafile.go:845 +0x68 fp=0xc013ed4890 sp=0xc013ed4838 pc=0xb9c008
github.com/photoprism/photoprism/internal/photoprism.(*Index).MediaFile(0xc013a7ccf0, 0xc013974700, 0x0, 0x0, 0x20a0101, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/index_mediafile.go:280 +0x13e5 fp=0xc013edb678 sp=0xc013ed4890 pc=0xb8abc5
github.com/photoprism/photoprism/internal/photoprism.IndexMain(0xc013ecbe70, 0xc013a7ccf0, 0x0, 0x0, 0x101, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/index_related.go:57 +0x152 fp=0xc013edb960 sp=0xc013edb678 pc=0xb934f2
github.com/photoprism/photoprism/internal/photoprism.IndexRelated(0xc000011de8, 0x1, 0x1, 0xc013974700, 0xc013a7ccf0, 0x0, 0x0, 0x5c0101, 0x0, 0x0, ...)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/index_related.go:76 +0x11f fp=0xc013edbe70 sp=0xc013edb960 pc=0xb946df
github.com/photoprism/photoprism/internal/photoprism.IndexWorker(0xc000040d80)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/index_worker.go:12 +0x115 fp=0xc013edbfb0 sp=0xc013edbe70 pc=0xb95375
github.com/photoprism/photoprism/internal/photoprism.(*Index).Start.func2(0xc000040d80, 0xc0177eb1d0)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/index.go:96 +0x2b fp=0xc013edbfd0 sp=0xc013edbfb0 pc=0xba464b
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1374 +0x1 fp=0xc013edbfd8 sp=0xc013edbfd0 pc=0x478241
created by github.com/photoprism/photoprism/internal/photoprism.(*Index).Start
	/go/src/github.com/photoprism/photoprism/internal/photoprism/index.go:95 +0x265

goroutine 1 [chan send]:
github.com/photoprism/photoprism/internal/photoprism.(*Index).Start.func5(0xc0134b1140, 0x3f, 0xc013955d70, 0xc01349f020, 0x50d525)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/index.go:200 +0xb3a
github.com/karrick/godirwalk.walk(0xc0134b1140, 0x3f, 0xc013955d70, 0xc0145b9630, 0x3f, 0x0)
	/go/pkg/mod/github.com/karrick/godirwalk@v1.16.1/walk.go:277 +0x69
github.com/karrick/godirwalk.walk(0xc0134b0b40, 0x32, 0xc013c3e8d0, 0xc0145b9630, 0x32, 0x0)
	/go/pkg/mod/github.com/karrick/godirwalk@v1.16.1/walk.go:338 +0x47b
github.com/karrick/godirwalk.walk(0xc01384af40, 0x1a, 0xc013955830, 0xc0145b9630, 0x1a, 0xc0191c5460)
	/go/pkg/mod/github.com/karrick/godirwalk@v1.16.1/walk.go:338 +0x47b
github.com/karrick/godirwalk.walk(0xc01a5a5ee0, 0x15, 0xc013c3e240, 0xc0145b9630, 0x0, 0x0)
	/go/pkg/mod/github.com/karrick/godirwalk@v1.16.1/walk.go:338 +0x47b
github.com/karrick/godirwalk.Walk(0xc01a5a5ee0, 0x15, 0xc01349f630, 0x9, 0xc01349f5e8)
	/go/pkg/mod/github.com/karrick/godirwalk@v1.16.1/walk.go:258 +0x246
github.com/photoprism/photoprism/internal/photoprism.(*Index).Start(0xc013a7ccf0, 0x0, 0x0, 0x101, 0x0)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/index.go:118 +0x605
github.com/photoprism/photoprism/internal/commands.indexAction(0xc0135202c0, 0x0, 0x0)
	/go/src/github.com/photoprism/photoprism/internal/commands/index.go:68 +0x329
github.com/urfave/cli.HandleAction(0xf4f7c0, 0x11229c0, 0xc0135202c0, 0xc0135202c0, 0x0)
	/go/pkg/mod/github.com/urfave/cli@v1.22.5/app.go:524 +0xfd
github.com/urfave/cli.Command.Run(0x10a3a96, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10d6d59, 0x27, 0x0, ...)
	/go/pkg/mod/github.com/urfave/cli@v1.22.5/command.go:173 +0x58e
github.com/urfave/cli.(*App).Run(0xc013534000, 0xc00009e060, 0x3, 0x3, 0x0, 0x0)
	/go/pkg/mod/github.com/urfave/cli@v1.22.5/app.go:277 +0x7e8
main.main()
	/go/src/github.com/photoprism/photoprism/cmd/photoprism/photoprism.go:71 +0x529

goroutine 19 [select]:
github.com/melihmucuk/geocache.NewCache.func1(0xc00026bdb0, 0xc0002c7780)
	/go/pkg/mod/github.com/melihmucuk/geocache@v0.0.0-20160621165317-521b336a001c/cache.go:82 +0xbd
created by github.com/melihmucuk/geocache.NewCache
	/go/pkg/mod/github.com/melihmucuk/geocache@v0.0.0-20160621165317-521b336a001c/cache.go:80 +0xf3

goroutine 53 [chan receive]:
github.com/photoprism/photoprism/internal/config.(*Config).initPro.func1(0xc01a5c8050, 0xc0135096c0)
	/go/src/github.com/photoprism/photoprism/internal/config/config.go:311 +0x31
created by github.com/photoprism/photoprism/internal/config.(*Config).initPro
	/go/src/github.com/photoprism/photoprism/internal/config/config.go:308 +0x165

goroutine 26 [select]:
github.com/go-sql-driver/mysql.(*mysqlConn).startWatcher.func1(0xc013f02480, 0xc013ef4240, 0xc0002c4240)
	/go/pkg/mod/github.com/go-sql-driver/mysql@v1.5.0/connection.go:621 +0xcd
created by github.com/go-sql-driver/mysql.(*mysqlConn).startWatcher
	/go/pkg/mod/github.com/go-sql-driver/mysql@v1.5.0/connection.go:618 +0xbe

goroutine 59 [select]:
database/sql.(*DB).connectionOpener(0xc01a5f1d40, 0x1261480, 0xc01a5a8100)
	/usr/local/go/src/database/sql/sql.go:1126 +0xf5
created by database/sql.OpenDB
	/usr/local/go/src/database/sql/sql.go:740 +0x12a

goroutine 63 [select]:
github.com/go-sql-driver/mysql.(*mysqlConn).startWatcher.func1(0xc000348c60, 0xc01a5aa5a0, 0xc01a5965a0)
	/go/pkg/mod/github.com/go-sql-driver/mysql@v1.5.0/connection.go:621 +0xcd
created by github.com/go-sql-driver/mysql.(*mysqlConn).startWatcher
	/go/pkg/mod/github.com/go-sql-driver/mysql@v1.5.0/connection.go:618 +0xbe

goroutine 65 [chan receive]:
github.com/photoprism/photoprism/internal/entity.SaveErrorMessages()
	/go/src/github.com/photoprism/photoprism/internal/entity/error.go:28 +0x1af
created by github.com/photoprism/photoprism/internal/config.(*Config).InitDb
	/go/src/github.com/photoprism/photoprism/internal/config/db.go:114 +0x92

goroutine 7 [runnable]:
github.com/dsoprea/go-exif/v3.(*TagIndex).Add(0xc00027b0f0, 0xc014776e80, 0x0, 0x0)
	/go/pkg/mod/github.com/dsoprea/go-exif/v3@v3.0.0-20200807075213-089aa48c91e6/tags.go:226 +0x1da
github.com/dsoprea/go-exif/v3.LoadStandardTags(0xc00027b0f0, 0x0, 0x0)
	/go/pkg/mod/github.com/dsoprea/go-exif/v3@v3.0.0-20200807075213-089aa48c91e6/tags.go:401 +0x5de
github.com/dsoprea/go-exif/v3.(*TagIndex).Get(0xc00027b0f0, 0xc0000acba0, 0xc01790010e, 0x0, 0x0, 0x0)
	/go/pkg/mod/github.com/dsoprea/go-exif/v3@v3.0.0-20200807075213-089aa48c91e6/tags.go:241 +0x1aa
github.com/dsoprea/go-exif/v3.(*IfdEnumerate).parseTag(0xc013ee3698, 0xc0000acba0, 0x0, 0xc013c3fe30, 0x0, 0x0, 0x0)
	/go/pkg/mod/github.com/dsoprea/go-exif/v3@v3.0.0-20200807075213-089aa48c91e6/ifd_enumerate.go:249 +0x3a5
github.com/dsoprea/go-exif/v3.(*IfdEnumerate).parseIfd(0xc013ee3698, 0xc0000acba0, 0xc013c3fe30, 0x0, 0x0, 0x0, 0x0, 0x225e450, 0x0, 0x0, ...)
	/go/pkg/mod/github.com/dsoprea/go-exif/v3@v3.0.0-20200807075213-089aa48c91e6/ifd_enumerate.go:434 +0x25e
github.com/dsoprea/go-exif/v3.(*IfdEnumerate).Collect(0xc013ee3698, 0xc000000008, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/go/pkg/mod/github.com/dsoprea/go-exif/v3@v3.0.0-20200807075213-089aa48c91e6/ifd_enumerate.go:1342 +0xb29
github.com/dsoprea/go-exif/v3.Collect(0xc0000aa600, 0xc00027b0f0, 0xc014062006, 0xadd6, 0xadd6, 0x1269660, 0x225e450, 0x8, 0x0, 0x0, ...)
	/go/pkg/mod/github.com/dsoprea/go-exif/v3@v3.0.0-20200807075213-089aa48c91e6/exif.go:230 +0x26c
github.com/photoprism/photoprism/internal/meta.(*Data).Exif(0xc013c7ced0, 0xc0134b0d80, 0x3f, 0x109f980, 0x3, 0x0, 0x0)
	/go/src/github.com/photoprism/photoprism/internal/meta/exif.go:78 +0x2f3
github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).MetaData.func1()
	/go/src/github.com/photoprism/photoprism/internal/photoprism/metadata.go:18 +0xba
sync.(*Once).doSlow(0xc013c7d0f0, 0xc013ee3d28)
	/usr/local/go/src/sync/once.go:66 +0xec
sync.(*Once).Do(...)
	/usr/local/go/src/sync/once.go:57
github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).MetaData(0xc013c7ce00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/metadata.go:14 +0xbd
github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).Orientation(...)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/mediafile.go:894
github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).decodeDimensions(0xc013c7ce00, 0x0, 0x0)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/mediafile.go:821 +0x17c
github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).Width(0xc013c7ce00, 0x9)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/mediafile.go:845 +0x68
github.com/photoprism/photoprism/internal/photoprism.(*Index).MediaFile(0xc013a7ccf0, 0xc013c7ce00, 0x0, 0x0, 0x20a0101, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/index_mediafile.go:280 +0x13e5
github.com/photoprism/photoprism/internal/photoprism.IndexMain(0xc013ec7e70, 0xc013a7ccf0, 0x0, 0x0, 0x101, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/index_related.go:57 +0x152
github.com/photoprism/photoprism/internal/photoprism.IndexRelated(0xc013c28a10, 0x1, 0x1, 0xc013c7ce00, 0xc013a7ccf0, 0x0, 0x0, 0x101, 0x0, 0x0, ...)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/index_related.go:76 +0x11f
github.com/photoprism/photoprism/internal/photoprism.IndexWorker(0xc000040d80)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/index_worker.go:12 +0x115
github.com/photoprism/photoprism/internal/photoprism.(*Index).Start.func2(0xc000040d80, 0xc0177eb1d0)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/index.go:96 +0x2b
created by github.com/photoprism/photoprism/internal/photoprism.(*Index).Start
	/go/src/github.com/photoprism/photoprism/internal/photoprism/index.go:95 +0x265

goroutine 8 [runnable]:
github.com/dsoprea/go-jpeg-image-structure.(*JpegSplitter).handleSegment(0xc01394ff40, 0x0, 0x10af4d1, 0x9, 0x0, 0xc0280e2000, 0x21c3de4, 0x22c25c5, 0x0, 0x0)
	/go/pkg/mod/github.com/dsoprea/go-jpeg-image-structure@v0.0.0-20200807080200-98ca71ef1508/splitter.go:403 +0xca
github.com/dsoprea/go-jpeg-image-structure.(*JpegSplitter).processScanData(0xc01394ff40, 0xc0280e2000, 0x22b7386, 0x22c25c5, 0x0, 0x0, 0x0)
	/go/pkg/mod/github.com/dsoprea/go-jpeg-image-structure@v0.0.0-20200807080200-98ca71ef1508/splitter.go:116 +0x1b4
github.com/dsoprea/go-jpeg-image-structure.(*JpegSplitter).readSegment(0xc01394ff40, 0xc0280e2000, 0x22b7386, 0x22c25c5, 0x0, 0x0, 0x0)
	/go/pkg/mod/github.com/dsoprea/go-jpeg-image-structure@v0.0.0-20200807080200-98ca71ef1508/splitter.go:158 +0x1152
github.com/dsoprea/go-jpeg-image-structure.(*JpegSplitter).Split(0xc01394ff40, 0xc0280e2000, 0x22b7386, 0x22c25c5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/go/pkg/mod/github.com/dsoprea/go-jpeg-image-structure@v0.0.0-20200807080200-98ca71ef1508/splitter.go:315 +0x109
bufio.(*Scanner).Scan(0xc01400f3e0, 0xc013d8b7e0)
	/usr/local/go/src/bufio/scan.go:146 +0x64e
github.com/dsoprea/go-jpeg-image-structure.(*JpegMediaParser).Parse(0xc01400f54f, 0x1257b00, 0xc013d9e520, 0x22c25c5, 0x0, 0x0, 0x0, 0x0)
	/go/pkg/mod/github.com/dsoprea/go-jpeg-image-structure@v0.0.0-20200807080200-98ca71ef1508/media_parser.go:45 +0x1f1
github.com/dsoprea/go-jpeg-image-structure.(*JpegMediaParser).ParseFile(0xc01400f54f, 0xc0134b1000, 0x3f, 0x0, 0x0, 0x0, 0x0)
	/go/pkg/mod/github.com/dsoprea/go-jpeg-image-structure@v0.0.0-20200807080200-98ca71ef1508/media_parser.go:78 +0x193
github.com/photoprism/photoprism/internal/meta.RawExif(0xc0134b1000, 0x3f, 0x109f980, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0)
	/go/src/github.com/photoprism/photoprism/internal/meta/exif_parser.go:33 +0xdec
github.com/photoprism/photoprism/internal/meta.(*Data).Exif(0xc013c7d5d0, 0xc0134b1000, 0x3f, 0x109f980, 0x3, 0x0, 0x0)
	/go/src/github.com/photoprism/photoprism/internal/meta/exif.go:54 +0xc7
github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).MetaData.func1()
	/go/src/github.com/photoprism/photoprism/internal/photoprism/metadata.go:18 +0xba
sync.(*Once).doSlow(0xc013c7d7f0, 0xc01400fd28)
	/usr/local/go/src/sync/once.go:66 +0xec
sync.(*Once).Do(...)
	/usr/local/go/src/sync/once.go:57
github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).MetaData(0xc013c7d500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/metadata.go:14 +0xbd
github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).Orientation(...)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/mediafile.go:894
github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).decodeDimensions(0xc013c7d500, 0x0, 0x0)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/mediafile.go:821 +0x17c
github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).Width(0xc013c7d500, 0x9)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/mediafile.go:845 +0x68
github.com/photoprism/photoprism/internal/photoprism.(*Index).MediaFile(0xc013a7ccf0, 0xc013c7d500, 0x0, 0x0, 0x20a0101, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/index_mediafile.go:280 +0x13e5
github.com/photoprism/photoprism/internal/photoprism.IndexMain(0xc013ecbe70, 0xc013a7ccf0, 0x0, 0x0, 0x101, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/index_related.go:57 +0x152
github.com/photoprism/photoprism/internal/photoprism.IndexRelated(0xc013c28bd8, 0x1, 0x1, 0xc013c7d500, 0xc013a7ccf0, 0x0, 0x0, 0x101, 0x0, 0x0, ...)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/index_related.go:76 +0x11f
github.com/photoprism/photoprism/internal/photoprism.IndexWorker(0xc000040d80)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/index_worker.go:12 +0x115
github.com/photoprism/photoprism/internal/photoprism.(*Index).Start.func2(0xc000040d80, 0xc0177eb1d0)
	/go/src/github.com/photoprism/photoprism/internal/photoprism/index.go:96 +0x2b
created by github.com/photoprism/photoprism/internal/photoprism.(*Index).Start
	/go/src/github.com/photoprism/photoprism/internal/photoprism/index.go:95 +0x265

@oscar-b commented on GitHub (Nov 21, 2020): @lastzero The `photoprism index -a` looked the same (`index: skipped archived main jpg file`), but afterwards the files are visible under Photos->Archive, which they weren't before! So if that's the expected behavior in this case, it looks fine to me! It would be nice if it displayed a counter in the menu next to Archive. It wasn't completely obvious how to un-archive, since that wasn't possible to do in list mode (?) which I was using thinking it would be easiest to select multiple photos in that mode. I got a crash when running index one more time after unarchiving all files, but another index run after that seems to chug along. Interested in that one off crash? ``` I have no name!@25a1110be815:/photoprism$ photoprism index -a INFO[2020-11-21T20:55:58Z] indexing photos in /photoprism/originals INFO[2020-11-21T20:55:58Z] classify: loading nasnet INFO[2020-11-21T20:56:08Z] classify: loading labels from labels.txt INFO[2020-11-21T20:56:08Z] index: no .ppignore file found fatal error: concurrent map read and map write goroutine 6 [running]: runtime.throw(0x10d0c48, 0x21) /usr/local/go/src/runtime/panic.go:1116 +0x72 fp=0xc013ed2f98 sp=0xc013ed2f68 pc=0x442712 runtime.mapaccess2(0xf86d40, 0xc01467e210, 0xc013ed300e, 0x3, 0xc013f55ea8) /usr/local/go/src/runtime/map.go:469 +0x25b fp=0xc013ed2fd8 sp=0xc013ed2f98 pc=0x41b71b github.com/dsoprea/go-exif/v3.(*TagIndex).Get(0xc00027b0f0, 0xc0143a4c00, 0xc013ed011b, 0x0, 0x0, 0x0) /go/pkg/mod/github.com/dsoprea/go-exif/v3@v3.0.0-20200807075213-089aa48c91e6/tags.go:252 +0xe5 fp=0xc013ed3030 sp=0xc013ed2fd8 pc=0xb09e65 github.com/dsoprea/go-exif/v3.(*IfdEnumerate).tagPostParse(0xc013ed3698, 0xc0146f0630, 0x0, 0x0, 0x0) /go/pkg/mod/github.com/dsoprea/go-exif/v3@v3.0.0-20200807075213-089aa48c91e6/ifd_enumerate.go:327 +0xb8 fp=0xc013ed31c0 sp=0xc013ed3030 pc=0xaffed8 github.com/dsoprea/go-exif/v3.(*IfdEnumerate).parseIfd(0xc013ed3698, 0xc0143a4c00, 0xc0141893b0, 0x0, 0x0, 0x0, 0x0, 0xc0146ed000, 0x6, 0x8, ...) /go/pkg/mod/github.com/dsoprea/go-exif/v3@v3.0.0-20200807075213-089aa48c91e6/ifd_enumerate.go:445 +0x3fe fp=0xc013ed3360 sp=0xc013ed31c0 pc=0xb00d3e github.com/dsoprea/go-exif/v3.(*IfdEnumerate).Collect(0xc013ed3698, 0xc000000008, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) /go/pkg/mod/github.com/dsoprea/go-exif/v3@v3.0.0-20200807075213-089aa48c91e6/ifd_enumerate.go:1342 +0xb29 fp=0xc013ed3630 sp=0xc013ed3360 pc=0xb074a9 github.com/dsoprea/go-exif/v3.Collect(0xc0000aa600, 0xc00027b0f0, 0xc013acc006, 0xb170, 0xb170, 0x1269660, 0x225e450, 0x8, 0x0, 0x0, ...) /go/pkg/mod/github.com/dsoprea/go-exif/v3@v3.0.0-20200807075213-089aa48c91e6/exif.go:230 +0x26c fp=0xc013ed36f0 sp=0xc013ed3630 pc=0xafe3cc github.com/photoprism/photoprism/internal/meta.(*Data).Exif(0xc0139747d0, 0xc01391b600, 0x3f, 0x109f980, 0x3, 0x0, 0x0) /go/src/github.com/photoprism/photoprism/internal/meta/exif.go:78 +0x2f3 fp=0xc013ed3b58 sp=0xc013ed36f0 pc=0xb72973 github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).MetaData.func1() /go/src/github.com/photoprism/photoprism/internal/photoprism/metadata.go:18 +0xba fp=0xc013ed3cc8 sp=0xc013ed3b58 pc=0xba5c3a sync.(*Once).doSlow(0xc0139749f0, 0xc013ed3d28) /usr/local/go/src/sync/once.go:66 +0xec fp=0xc013ed3d18 sp=0xc013ed3cc8 pc=0x48256c sync.(*Once).Do(...) /usr/local/go/src/sync/once.go:57 github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).MetaData(0xc013974700, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /go/src/github.com/photoprism/photoprism/internal/photoprism/metadata.go:14 +0xbd fp=0xc013ed3d48 sp=0xc013ed3d18 pc=0xb9db3d github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).Orientation(...) /go/src/github.com/photoprism/photoprism/internal/photoprism/mediafile.go:894 github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).decodeDimensions(0xc013974700, 0x0, 0x0) /go/src/github.com/photoprism/photoprism/internal/photoprism/mediafile.go:821 +0x17c fp=0xc013ed4838 sp=0xc013ed3d48 pc=0xb9bc3c github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).Width(0xc013974700, 0x9) /go/src/github.com/photoprism/photoprism/internal/photoprism/mediafile.go:845 +0x68 fp=0xc013ed4890 sp=0xc013ed4838 pc=0xb9c008 github.com/photoprism/photoprism/internal/photoprism.(*Index).MediaFile(0xc013a7ccf0, 0xc013974700, 0x0, 0x0, 0x20a0101, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /go/src/github.com/photoprism/photoprism/internal/photoprism/index_mediafile.go:280 +0x13e5 fp=0xc013edb678 sp=0xc013ed4890 pc=0xb8abc5 github.com/photoprism/photoprism/internal/photoprism.IndexMain(0xc013ecbe70, 0xc013a7ccf0, 0x0, 0x0, 0x101, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /go/src/github.com/photoprism/photoprism/internal/photoprism/index_related.go:57 +0x152 fp=0xc013edb960 sp=0xc013edb678 pc=0xb934f2 github.com/photoprism/photoprism/internal/photoprism.IndexRelated(0xc000011de8, 0x1, 0x1, 0xc013974700, 0xc013a7ccf0, 0x0, 0x0, 0x5c0101, 0x0, 0x0, ...) /go/src/github.com/photoprism/photoprism/internal/photoprism/index_related.go:76 +0x11f fp=0xc013edbe70 sp=0xc013edb960 pc=0xb946df github.com/photoprism/photoprism/internal/photoprism.IndexWorker(0xc000040d80) /go/src/github.com/photoprism/photoprism/internal/photoprism/index_worker.go:12 +0x115 fp=0xc013edbfb0 sp=0xc013edbe70 pc=0xb95375 github.com/photoprism/photoprism/internal/photoprism.(*Index).Start.func2(0xc000040d80, 0xc0177eb1d0) /go/src/github.com/photoprism/photoprism/internal/photoprism/index.go:96 +0x2b fp=0xc013edbfd0 sp=0xc013edbfb0 pc=0xba464b runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1374 +0x1 fp=0xc013edbfd8 sp=0xc013edbfd0 pc=0x478241 created by github.com/photoprism/photoprism/internal/photoprism.(*Index).Start /go/src/github.com/photoprism/photoprism/internal/photoprism/index.go:95 +0x265 goroutine 1 [chan send]: github.com/photoprism/photoprism/internal/photoprism.(*Index).Start.func5(0xc0134b1140, 0x3f, 0xc013955d70, 0xc01349f020, 0x50d525) /go/src/github.com/photoprism/photoprism/internal/photoprism/index.go:200 +0xb3a github.com/karrick/godirwalk.walk(0xc0134b1140, 0x3f, 0xc013955d70, 0xc0145b9630, 0x3f, 0x0) /go/pkg/mod/github.com/karrick/godirwalk@v1.16.1/walk.go:277 +0x69 github.com/karrick/godirwalk.walk(0xc0134b0b40, 0x32, 0xc013c3e8d0, 0xc0145b9630, 0x32, 0x0) /go/pkg/mod/github.com/karrick/godirwalk@v1.16.1/walk.go:338 +0x47b github.com/karrick/godirwalk.walk(0xc01384af40, 0x1a, 0xc013955830, 0xc0145b9630, 0x1a, 0xc0191c5460) /go/pkg/mod/github.com/karrick/godirwalk@v1.16.1/walk.go:338 +0x47b github.com/karrick/godirwalk.walk(0xc01a5a5ee0, 0x15, 0xc013c3e240, 0xc0145b9630, 0x0, 0x0) /go/pkg/mod/github.com/karrick/godirwalk@v1.16.1/walk.go:338 +0x47b github.com/karrick/godirwalk.Walk(0xc01a5a5ee0, 0x15, 0xc01349f630, 0x9, 0xc01349f5e8) /go/pkg/mod/github.com/karrick/godirwalk@v1.16.1/walk.go:258 +0x246 github.com/photoprism/photoprism/internal/photoprism.(*Index).Start(0xc013a7ccf0, 0x0, 0x0, 0x101, 0x0) /go/src/github.com/photoprism/photoprism/internal/photoprism/index.go:118 +0x605 github.com/photoprism/photoprism/internal/commands.indexAction(0xc0135202c0, 0x0, 0x0) /go/src/github.com/photoprism/photoprism/internal/commands/index.go:68 +0x329 github.com/urfave/cli.HandleAction(0xf4f7c0, 0x11229c0, 0xc0135202c0, 0xc0135202c0, 0x0) /go/pkg/mod/github.com/urfave/cli@v1.22.5/app.go:524 +0xfd github.com/urfave/cli.Command.Run(0x10a3a96, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10d6d59, 0x27, 0x0, ...) /go/pkg/mod/github.com/urfave/cli@v1.22.5/command.go:173 +0x58e github.com/urfave/cli.(*App).Run(0xc013534000, 0xc00009e060, 0x3, 0x3, 0x0, 0x0) /go/pkg/mod/github.com/urfave/cli@v1.22.5/app.go:277 +0x7e8 main.main() /go/src/github.com/photoprism/photoprism/cmd/photoprism/photoprism.go:71 +0x529 goroutine 19 [select]: github.com/melihmucuk/geocache.NewCache.func1(0xc00026bdb0, 0xc0002c7780) /go/pkg/mod/github.com/melihmucuk/geocache@v0.0.0-20160621165317-521b336a001c/cache.go:82 +0xbd created by github.com/melihmucuk/geocache.NewCache /go/pkg/mod/github.com/melihmucuk/geocache@v0.0.0-20160621165317-521b336a001c/cache.go:80 +0xf3 goroutine 53 [chan receive]: github.com/photoprism/photoprism/internal/config.(*Config).initPro.func1(0xc01a5c8050, 0xc0135096c0) /go/src/github.com/photoprism/photoprism/internal/config/config.go:311 +0x31 created by github.com/photoprism/photoprism/internal/config.(*Config).initPro /go/src/github.com/photoprism/photoprism/internal/config/config.go:308 +0x165 goroutine 26 [select]: github.com/go-sql-driver/mysql.(*mysqlConn).startWatcher.func1(0xc013f02480, 0xc013ef4240, 0xc0002c4240) /go/pkg/mod/github.com/go-sql-driver/mysql@v1.5.0/connection.go:621 +0xcd created by github.com/go-sql-driver/mysql.(*mysqlConn).startWatcher /go/pkg/mod/github.com/go-sql-driver/mysql@v1.5.0/connection.go:618 +0xbe goroutine 59 [select]: database/sql.(*DB).connectionOpener(0xc01a5f1d40, 0x1261480, 0xc01a5a8100) /usr/local/go/src/database/sql/sql.go:1126 +0xf5 created by database/sql.OpenDB /usr/local/go/src/database/sql/sql.go:740 +0x12a goroutine 63 [select]: github.com/go-sql-driver/mysql.(*mysqlConn).startWatcher.func1(0xc000348c60, 0xc01a5aa5a0, 0xc01a5965a0) /go/pkg/mod/github.com/go-sql-driver/mysql@v1.5.0/connection.go:621 +0xcd created by github.com/go-sql-driver/mysql.(*mysqlConn).startWatcher /go/pkg/mod/github.com/go-sql-driver/mysql@v1.5.0/connection.go:618 +0xbe goroutine 65 [chan receive]: github.com/photoprism/photoprism/internal/entity.SaveErrorMessages() /go/src/github.com/photoprism/photoprism/internal/entity/error.go:28 +0x1af created by github.com/photoprism/photoprism/internal/config.(*Config).InitDb /go/src/github.com/photoprism/photoprism/internal/config/db.go:114 +0x92 goroutine 7 [runnable]: github.com/dsoprea/go-exif/v3.(*TagIndex).Add(0xc00027b0f0, 0xc014776e80, 0x0, 0x0) /go/pkg/mod/github.com/dsoprea/go-exif/v3@v3.0.0-20200807075213-089aa48c91e6/tags.go:226 +0x1da github.com/dsoprea/go-exif/v3.LoadStandardTags(0xc00027b0f0, 0x0, 0x0) /go/pkg/mod/github.com/dsoprea/go-exif/v3@v3.0.0-20200807075213-089aa48c91e6/tags.go:401 +0x5de github.com/dsoprea/go-exif/v3.(*TagIndex).Get(0xc00027b0f0, 0xc0000acba0, 0xc01790010e, 0x0, 0x0, 0x0) /go/pkg/mod/github.com/dsoprea/go-exif/v3@v3.0.0-20200807075213-089aa48c91e6/tags.go:241 +0x1aa github.com/dsoprea/go-exif/v3.(*IfdEnumerate).parseTag(0xc013ee3698, 0xc0000acba0, 0x0, 0xc013c3fe30, 0x0, 0x0, 0x0) /go/pkg/mod/github.com/dsoprea/go-exif/v3@v3.0.0-20200807075213-089aa48c91e6/ifd_enumerate.go:249 +0x3a5 github.com/dsoprea/go-exif/v3.(*IfdEnumerate).parseIfd(0xc013ee3698, 0xc0000acba0, 0xc013c3fe30, 0x0, 0x0, 0x0, 0x0, 0x225e450, 0x0, 0x0, ...) /go/pkg/mod/github.com/dsoprea/go-exif/v3@v3.0.0-20200807075213-089aa48c91e6/ifd_enumerate.go:434 +0x25e github.com/dsoprea/go-exif/v3.(*IfdEnumerate).Collect(0xc013ee3698, 0xc000000008, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) /go/pkg/mod/github.com/dsoprea/go-exif/v3@v3.0.0-20200807075213-089aa48c91e6/ifd_enumerate.go:1342 +0xb29 github.com/dsoprea/go-exif/v3.Collect(0xc0000aa600, 0xc00027b0f0, 0xc014062006, 0xadd6, 0xadd6, 0x1269660, 0x225e450, 0x8, 0x0, 0x0, ...) /go/pkg/mod/github.com/dsoprea/go-exif/v3@v3.0.0-20200807075213-089aa48c91e6/exif.go:230 +0x26c github.com/photoprism/photoprism/internal/meta.(*Data).Exif(0xc013c7ced0, 0xc0134b0d80, 0x3f, 0x109f980, 0x3, 0x0, 0x0) /go/src/github.com/photoprism/photoprism/internal/meta/exif.go:78 +0x2f3 github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).MetaData.func1() /go/src/github.com/photoprism/photoprism/internal/photoprism/metadata.go:18 +0xba sync.(*Once).doSlow(0xc013c7d0f0, 0xc013ee3d28) /usr/local/go/src/sync/once.go:66 +0xec sync.(*Once).Do(...) /usr/local/go/src/sync/once.go:57 github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).MetaData(0xc013c7ce00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /go/src/github.com/photoprism/photoprism/internal/photoprism/metadata.go:14 +0xbd github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).Orientation(...) /go/src/github.com/photoprism/photoprism/internal/photoprism/mediafile.go:894 github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).decodeDimensions(0xc013c7ce00, 0x0, 0x0) /go/src/github.com/photoprism/photoprism/internal/photoprism/mediafile.go:821 +0x17c github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).Width(0xc013c7ce00, 0x9) /go/src/github.com/photoprism/photoprism/internal/photoprism/mediafile.go:845 +0x68 github.com/photoprism/photoprism/internal/photoprism.(*Index).MediaFile(0xc013a7ccf0, 0xc013c7ce00, 0x0, 0x0, 0x20a0101, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /go/src/github.com/photoprism/photoprism/internal/photoprism/index_mediafile.go:280 +0x13e5 github.com/photoprism/photoprism/internal/photoprism.IndexMain(0xc013ec7e70, 0xc013a7ccf0, 0x0, 0x0, 0x101, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /go/src/github.com/photoprism/photoprism/internal/photoprism/index_related.go:57 +0x152 github.com/photoprism/photoprism/internal/photoprism.IndexRelated(0xc013c28a10, 0x1, 0x1, 0xc013c7ce00, 0xc013a7ccf0, 0x0, 0x0, 0x101, 0x0, 0x0, ...) /go/src/github.com/photoprism/photoprism/internal/photoprism/index_related.go:76 +0x11f github.com/photoprism/photoprism/internal/photoprism.IndexWorker(0xc000040d80) /go/src/github.com/photoprism/photoprism/internal/photoprism/index_worker.go:12 +0x115 github.com/photoprism/photoprism/internal/photoprism.(*Index).Start.func2(0xc000040d80, 0xc0177eb1d0) /go/src/github.com/photoprism/photoprism/internal/photoprism/index.go:96 +0x2b created by github.com/photoprism/photoprism/internal/photoprism.(*Index).Start /go/src/github.com/photoprism/photoprism/internal/photoprism/index.go:95 +0x265 goroutine 8 [runnable]: github.com/dsoprea/go-jpeg-image-structure.(*JpegSplitter).handleSegment(0xc01394ff40, 0x0, 0x10af4d1, 0x9, 0x0, 0xc0280e2000, 0x21c3de4, 0x22c25c5, 0x0, 0x0) /go/pkg/mod/github.com/dsoprea/go-jpeg-image-structure@v0.0.0-20200807080200-98ca71ef1508/splitter.go:403 +0xca github.com/dsoprea/go-jpeg-image-structure.(*JpegSplitter).processScanData(0xc01394ff40, 0xc0280e2000, 0x22b7386, 0x22c25c5, 0x0, 0x0, 0x0) /go/pkg/mod/github.com/dsoprea/go-jpeg-image-structure@v0.0.0-20200807080200-98ca71ef1508/splitter.go:116 +0x1b4 github.com/dsoprea/go-jpeg-image-structure.(*JpegSplitter).readSegment(0xc01394ff40, 0xc0280e2000, 0x22b7386, 0x22c25c5, 0x0, 0x0, 0x0) /go/pkg/mod/github.com/dsoprea/go-jpeg-image-structure@v0.0.0-20200807080200-98ca71ef1508/splitter.go:158 +0x1152 github.com/dsoprea/go-jpeg-image-structure.(*JpegSplitter).Split(0xc01394ff40, 0xc0280e2000, 0x22b7386, 0x22c25c5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /go/pkg/mod/github.com/dsoprea/go-jpeg-image-structure@v0.0.0-20200807080200-98ca71ef1508/splitter.go:315 +0x109 bufio.(*Scanner).Scan(0xc01400f3e0, 0xc013d8b7e0) /usr/local/go/src/bufio/scan.go:146 +0x64e github.com/dsoprea/go-jpeg-image-structure.(*JpegMediaParser).Parse(0xc01400f54f, 0x1257b00, 0xc013d9e520, 0x22c25c5, 0x0, 0x0, 0x0, 0x0) /go/pkg/mod/github.com/dsoprea/go-jpeg-image-structure@v0.0.0-20200807080200-98ca71ef1508/media_parser.go:45 +0x1f1 github.com/dsoprea/go-jpeg-image-structure.(*JpegMediaParser).ParseFile(0xc01400f54f, 0xc0134b1000, 0x3f, 0x0, 0x0, 0x0, 0x0) /go/pkg/mod/github.com/dsoprea/go-jpeg-image-structure@v0.0.0-20200807080200-98ca71ef1508/media_parser.go:78 +0x193 github.com/photoprism/photoprism/internal/meta.RawExif(0xc0134b1000, 0x3f, 0x109f980, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0) /go/src/github.com/photoprism/photoprism/internal/meta/exif_parser.go:33 +0xdec github.com/photoprism/photoprism/internal/meta.(*Data).Exif(0xc013c7d5d0, 0xc0134b1000, 0x3f, 0x109f980, 0x3, 0x0, 0x0) /go/src/github.com/photoprism/photoprism/internal/meta/exif.go:54 +0xc7 github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).MetaData.func1() /go/src/github.com/photoprism/photoprism/internal/photoprism/metadata.go:18 +0xba sync.(*Once).doSlow(0xc013c7d7f0, 0xc01400fd28) /usr/local/go/src/sync/once.go:66 +0xec sync.(*Once).Do(...) /usr/local/go/src/sync/once.go:57 github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).MetaData(0xc013c7d500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /go/src/github.com/photoprism/photoprism/internal/photoprism/metadata.go:14 +0xbd github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).Orientation(...) /go/src/github.com/photoprism/photoprism/internal/photoprism/mediafile.go:894 github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).decodeDimensions(0xc013c7d500, 0x0, 0x0) /go/src/github.com/photoprism/photoprism/internal/photoprism/mediafile.go:821 +0x17c github.com/photoprism/photoprism/internal/photoprism.(*MediaFile).Width(0xc013c7d500, 0x9) /go/src/github.com/photoprism/photoprism/internal/photoprism/mediafile.go:845 +0x68 github.com/photoprism/photoprism/internal/photoprism.(*Index).MediaFile(0xc013a7ccf0, 0xc013c7d500, 0x0, 0x0, 0x20a0101, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /go/src/github.com/photoprism/photoprism/internal/photoprism/index_mediafile.go:280 +0x13e5 github.com/photoprism/photoprism/internal/photoprism.IndexMain(0xc013ecbe70, 0xc013a7ccf0, 0x0, 0x0, 0x101, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /go/src/github.com/photoprism/photoprism/internal/photoprism/index_related.go:57 +0x152 github.com/photoprism/photoprism/internal/photoprism.IndexRelated(0xc013c28bd8, 0x1, 0x1, 0xc013c7d500, 0xc013a7ccf0, 0x0, 0x0, 0x101, 0x0, 0x0, ...) /go/src/github.com/photoprism/photoprism/internal/photoprism/index_related.go:76 +0x11f github.com/photoprism/photoprism/internal/photoprism.IndexWorker(0xc000040d80) /go/src/github.com/photoprism/photoprism/internal/photoprism/index_worker.go:12 +0x115 github.com/photoprism/photoprism/internal/photoprism.(*Index).Start.func2(0xc000040d80, 0xc0177eb1d0) /go/src/github.com/photoprism/photoprism/internal/photoprism/index.go:96 +0x2b created by github.com/photoprism/photoprism/internal/photoprism.(*Index).Start /go/src/github.com/photoprism/photoprism/internal/photoprism/index.go:95 +0x265 ```
Author
Owner

@alexislefebvre commented on GitHub (Nov 21, 2020):

This error looks like this other one: https://github.com/photoprism/photoprism/issues/600#issuecomment-727545399

@alexislefebvre commented on GitHub (Nov 21, 2020): This error looks like this other one: https://github.com/photoprism/photoprism/issues/600#issuecomment-727545399
Author
Owner

@lastzero commented on GitHub (Nov 21, 2020):

@oscar-b I'm going to have a look at the fatal error now.

@lastzero commented on GitHub (Nov 21, 2020): @oscar-b I'm going to have a look at the fatal error now.
Author
Owner

@lastzero commented on GitHub (Nov 26, 2020):

Closing this since no negative test reports came in.

@lastzero commented on GitHub (Nov 26, 2020): Closing this since no negative test reports came in.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/photoprism#502
No description provided.