Thumbnails missing after upgrade and trouble with YouTube-synchronization

After upgrade to 8.1.2. all the thumbnails was missing, and I’m not sure what made it happen. I also ended up having trouble with the YouTube synchronization.

I find it easiest to explain it with how it happened:

  1. I upgraded to v8.1.1 last week. Ran the upgrade script, and also the regenerate thumbnails and prune scrips. Everything seemed to work fine, also the last couple of days.
  2. Today I upgraded to 8.1.2.
  3. Now, all the thumbnails was gone.
  4. I tried to run the Regenerate video thumbnails script, but got a lot of error messages saying images was missing from the thumbnails directory.
  5. Since all the videos are synched from YouTube, I tried to click « Fully synchronize the channel », hoping that even if the videos weren’t actually missing, the missing data would be synched.
  6. This ended up with a lot of ffmpeg processes and 600%-something CPU usage and a full meltdown of the server. It looked like all the videos was transcoded again, even if they were already present. After a restart, I managed to kill the processes.
  7. I tried to restore only the thumbnails directory from backup, but this didn’t contain the missing images. In fact, it was basically the same as the current version.
  8. I ended up doing a full restore of the server from a backup from before the first upgrade, because I couldn’t find the missing images. However, there were images with the missing names in the preview directory. Anyway, I’m now back at v8.0.2.

There are two questions I have after all this:

  • The thumbnail issue? What did I do wrong, or, what could have gone wrong? I found this issue, but I’m not sure if it’s related: NaN value breaks video listing under v8.1.2 · Issue #7501 · Chocobozzz/PeerTube · GitHub. One comment says something about not running the upgrade script. I feel quite certain I did run the script after the first upgrade, but maybe not, or not at the correct point in time? I’m very aware that I need to do it, so I don’t believe I forgot it.
  • The Youtube-synchronization: Why did it go wild like this? It says « This fetches any missing videos on the local channel », so why does it try to transcode videos, and so much at the same time? In my config I have: « Amount of local transcoding jobs to execute in parallel: concurrency: 1 »
1 Like

The thumbnail issue?

Can you paste your instance URL?

The Youtube-synchronization:

I would need more information:

  • Imports that were created during this new sync
  • Active local jobs
  • ffmpeg number of threads
  • PeerTube logs

The URL is https://peertube.ra.no

Since the server was restored from backup, I can’t provide the other information. All I know is that all videos on the channel on YouTube was already at peertube.ra.no, so there was not really any videos to synch to begin with. I just hoped that it would synch the missing data for the thumbnails, somehow.

I’m not sure what you mean with local jobs, but there were no other jobs than the one YouTube synchronization job, and that appeared to be finished, I believe. But apparently it triggered re-transcoding videos. And also recreation of subtitles with Whisper.

So I don’t know the number of threads for ffmpeg. But from my look at htop, it was « a lot ».

Edit: It probably was a lot of processes - not threads. I’ll see if I can get some numbers of the total number, before and after, even if I can’t be specific about the ffmpeg processes.

This is showing the peak of number of processes.

Unfortunately it’s difficult to help since I can’t reproduce or see what happened on your server :confused:

Yes, I understand.

But about the thumbnails problem: Is it likely that I did something wrong? As I said, it worked fine after the upgrade to v8.1.1, and happened after the upgrade to 8.1.2. I’m currently waiting to do the upgrade again, to see if I can find out if the problem was something I did or didn’t or if it’s something else.

Unfortunately I don’t know. I suggest waiting for 8.1.3 that will include some thumbnail fixes

My errors looked like this:

Processing video Life size.
Cannot process video 15. Error: Thumbnail /data/thumbnails/b07343ed-a752-48b9-908c-52e3e23c5717.jpg does not exist on disk
at processVideo (file:///app/dist/scripts/regenerate-thumbnails.js:31:15)
Processing video ahhh.
Cannot process video 72. Error: Thumbnail /data/thumbnails/e4cc0519-8da0-41c6-bd8d-9d70cf81799f.jpg does not exist on disk
at processVideo (file:///app/dist/scripts/regenerate-thumbnails.js:31:15)
Processing video ahhh
Processing video Sea fan.
Cannot process video 14. Error: Thumbnail /data/thumbnails/75632bee-2247-409e-848d-8ee7216d5572.jpg does not exist on disk
at processVideo (file:///app/dist/scripts/regenerate-thumbnails.js:31:15)
Cannot process video 64. Error: Thumbnail /data/thumbnails/c290f172-9121-4873-a41c-f492ec52c7a8.jpg does not exist on disk
at processVideo (file:///app/dist/scripts/regenerate-thumbnails.js:31:15)
Processing video ahh?.
Processing video ahhh.
Cannot process video 259. Error: Thumbnail /data/thumbnails/3cb199b0-0250-4c9f-9385-a695cbd0cd3c.jpg does not exist on disk
at processVideo (file:///app/dist/scripts/regenerate-thumbnails.js:31:15)

I searched for one of the file names:

qlyoung@qlyoung ~/a/p/docker-volume> find . -type f -name ‹ 22fc5c8c-6abe-43a7-a745-74391ed6e85c.jpg ›
./data/previews/22fc5c8c-6abe-43a7-a745-74391ed6e85c.jpg

Seems it’s in the previews dir. Stupid idea - copy all files in there to thumbnails and tweak permissions:

cp previews/* ./thumbnails/
chown -R 999:999 thumbnails/*

After trying the regen job again, it completed and all my thumbnails returned.

docker compose exec -u peertube peertube npm run regenerate-thumbnails

YMMV

Hi,

It seems you missed the migration script from Release v8.1.0 · Chocobozzz/PeerTube · GitHub

I did. Thanks for the pointer. Appreciate your work.