Recurring Database Errors - Failed to decode files

I keep getting these database errors that can't seem to fix. When I check my logs I keep seeing the same errors:

2026/08/11 09:58:01.483063 [ERR] Failed to decode files #62560: msgpack: invalid code=49 decoding string/bytes length
2026/08/11 09:59:31.296711 [ERR] Failed to decode files #62560: msgpack: invalid code=49 decoding string/bytes length

I wouldn't mind just deleting the corrupted file. I tried restoring a database backup from a couple of weeks ago, but the error is still showing. Is there a way to know what file #62560 is? I can't seem to find what recording that file belongs to.

Full logs submitted: 940bcc4b-1ad5-4c9a-a56c-4464e40d212c

Any Devs or advanced users that can explain how I match the file #62560 to the actual file it pertains to in Channels? There are two of these files that fail and fill my logs with errors. I would prefer to delete/re-add them or find another way to fix the errors.

@maddox Is there anyway to tell what files these corrupted msgpack belong to? I would like to delete and re-record these corrupted files or at least know why my logs are filled with these errors.

It's not currently possible to fix this. We may just disable the error message.

Assuming 62560 is the file ID, you could try to view it in the DVR web UI:
http://dvr-ip:8089/admin/movies/62560
(This can display TV show episodes too, but some of the buttons won't work since this view is intended for movies.)

You could also try to view the raw JSON for file ID 62560:
http://dvr-ip:8089/dvr/files/62560

Ok, I thought it might be related to the random channels DVR crashes that occur every month or so, but it sounds like you are saying this error is innocuous. I will just ignore it.

I did just get another crash last night. Even though it seems to restart after the crash, nothing can access Channels even after it comes back up. Can't access from the tv streamers and can't even access the admin panel. Here is the timeframe in the log where the crash occured...

2026/08/20 23:46:43.606633 stderr:  unexpected fault address 0x14ee867e0000
2026/08/20 23:46:43.607100 stderr:  fatal error: fault
2026/08/20 23:48:43.709116 [SYS] Starting Channels DVR v2026.08.14.2222 (linux-x86_64 pid:7) in /channels-dvr/data
2026/08/20 23:48:43.824507 [SYS] Started HTTP Server on 8089
2026/08/20 23:48:47.762124 [HDR] Found 3 devices
2026/08/20 23:48:48.071100 [DVR] Recording engine started in /shares/DVR
2026/08/20 23:48:48.081526 [DVR] Waiting 7h10m42s until next job 1787309970-14 Good Morning America
2026/08/20 23:48:48.942744 [SYS] Bonjour service running for dvr-centralperk.local. [10.10.10.50]
2026/08/20 23:48:51.555965 stderr:  unexpected fault address 0x15112e7e0000
2026/08/20 23:48:51.563061 stderr:  fatal error: fault
2026/08/20 23:48:51.563240 stderr:  [signal SIGBUS: bus error code=0x2 addr=0x15112e7e0000 pc=0x499d15]
2026/08/20 23:48:51.563343 stderr:  
2026/08/20 23:48:51.563384 stderr:  goroutine 658 gp=0x1ba95c6954a0 m=28 mp=0x1ba958981008 [running]:
2026/08/20 23:48:51.563404 stderr:  runtime.throw({0x3184a2a?, 0xfa000?})
2026/08/20 23:48:51.563476 stderr:  	runtime/panic.go:1229 +0x48 fp=0x1ba967197930 sp=0x1ba967197900 pc=0x490cc8
2026/08/20 23:48:51.563495 stderr:  runtime.sigpanic()
2026/08/20 23:48:51.563514 stderr:  	runtime/signal_unix.go:928 +0x10a fp=0x1ba967197990 sp=0x1ba967197930 pc=0x49354a
2026/08/20 23:48:51.563531 stderr:  runtime.memmove()
2026/08/20 23:48:51.563549 stderr:  	runtime/memmove_amd64.s:122 +0xd5 fp=0x1ba967197998 sp=0x1ba967197990 pc=0x499d15
2026/08/20 23:48:51.563567 stderr:  github.com/tmm1/buckets.(*Bucket).Get.func1(0x8?)
2026/08/20 23:48:51.563586 stderr:  	github.com/tmm1/[email protected]/buckets.go:126 +0x99 fp=0x1ba967197a00 sp=0x1ba967197998 pc=0x7c5959
2026/08/20 23:48:51.563616 stderr:  go.etcd.io/bbolt.(*DB).View(0x1ba95a9f7a80?, 0x1ba967197a90)
2026/08/20 23:48:51.563634 stderr:  	go.etcd.io/[email protected]/db.go:780 +0x6c fp=0x1ba967197a68 sp=0x1ba967197a00 pc=0x7b88cc
2026/08/20 23:48:51.563659 stderr:  github.com/tmm1/buckets.(*Bucket).Get(0x1ba9679c2008?, {0x1ba9657c2360?, 0x2edaa?, 0x1ba9657c2368?})
2026/08/20 23:48:51.563683 stderr:  	github.com/tmm1/[email protected]/buckets.go:123 +0x5c fp=0x1ba967197ad0 sp=0x1ba967197a68 pc=0x7c585c
2026/08/20 23:48:51.563703 stderr:  github.com/fancybits/channels-server/dvr.(*Recorder).EachFile.(*Recorder).AllFiles.(*Recorder).AllFilteredFiles.func1(...)
2026/08/20 23:48:51.563726 stderr:  	github.com/fancybits/channels-server/dvr/db_files.go:359
2026/08/20 23:48:51.563741 stderr:  github.com/fancybits/channels-server/dvr.(*Recorder).EachFile(0x1ba95c1ea848, 0x1ba967197ce8)
2026/08/20 23:48:51.563759 stderr:  	github.com/fancybits/channels-server/dvr/db_files.go:260 +0x1b1 fp=0x1ba967197b88 sp=0x1ba967197ad0 pc=0x2062731
2026/08/20 23:52:16.578628 [SYS] Starting Channels DVR v2026.08.14.2222 (linux-x86_64 pid:7) in /channels-dvr/data
2026/08/20 23:52:16.634055 [SYS] Started HTTP Server on 8089

Logs have been submitted as 320f055b-365d-4044-a8ce-182cc2d9e610

Good thinking, but didn't work. Sounds like the Devs know about it and it isn't a big issue.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.