Evedel/bow

panic: checkparents

cristi- opened this issue · 4 comments

Hi,

I am getting a panic when the repository is first indexed:

panic: interface conversion: interface is nil, not []interface {}

goroutine 21 [running]:
panic(0x8041e0, 0xc820302100)
/usr/lib/go-1.6/src/runtime/panic.go:481 +0x3e6
checker.checkParents(0xc82011e150)
/app/src/checker/parents.go:37 +0x1a05
created by checker.DaemonManager
/app/src/checker/checker.go:26 +0x4d0
[ Fri, 03 Feb 2017 19:23:15 UTC ][ L2 ] DB: INIT: Start
[ Fri, 03 Feb 2017 19:23:15 UTC ][ L2 ] DB: INIT: DB Upgrade: Version: 2
[ Fri, 03 Feb 2017 19:23:15 UTC ][ L2 ] DB: INIT: DB Upgrade: Actual version
[ Fri, 03 Feb 2017 19:23:15 UTC ][ L2 ] DB: INIT: Done
[ Fri, 03 Feb 2017 19:23:15 UTC ][ L2 ] Server listening at [:19808]
[ Fri, 03 Feb 2017 19:23:15 UTC ][ L2 ] DaemonManager: Sleep time is : 300 seconds
panic: interface conversion: interface is nil, not []interface {}

goroutine 21 [running]:
panic(0x8041e0, 0xc820281f80)
/usr/lib/go-1.6/src/runtime/panic.go:481 +0x3e6
checker.checkParents(0xc82011e150)
/app/src/checker/parents.go:37 +0x1a05
created by checker.DaemonManager
/app/src/checker/checker.go:26 +0x4d0

I tried restarting the docker registry and ran a registry garbage-collect.

Thank you for the great work (the bearer token is really a great feature) !

Hi,

First of all, thank you for the words of appreciation.

Unfortunately, I still was not able to reproduce the error. I assume this error is image specific one.
Can you send me DB file (it can be found in a mounted directory -v ~/db/bow:/var/lib/bow with a default name asapdrf.db) on evedel@rambler.ru and/or post here log after enable full logging?
For logging you just have to remove -e BS_LOG_SILENT=yes \ line. Something like this:

docker run -d \
   --name=Bow \
   -v ~/db/bow:/var/lib/bow \
   -p 5001:19808 \
   evedel/bow

Cheers, Sergei.

Thanks for the quick reply.

I have sent you the DB. If you start a new instance of Bow it should panic, meaning the data that's causing the error is already stored in the DB. Let me know if you want me to generate a full session log.

Yes, this was enough.
As far as I understood, it cannot be really fixed, because of after image is created with docker commit, it lasts all cmd information and gets nils instead. At least, latest version from docker hub won't be panic anymore.
Thanks for the report.