I am running OSMC with Kodi 16 on a Rasperry Pi 3. Lately I had a power outage, and after booting the Pi up again, Kodi did not show any fanarts anymore. Everything else was okay, covers were showing, but just black background instead of the fanarts, no matter which skin I used.
So I deleted the whole library, all thumbnails and let Kodi rebuilt the library. Fanarts were there, but disappeared again from one moment to another. When I select to choose the fanart for a movie, it does display the current fanart, so it is there, just not displayed. When I reboot, the fanarts do show again, but sooner or later disappear again and won’t reappear before another reboot.
I have no idea if any other file could have been corrupted or what the issue is. Does anyone have any clue that could help to permanently fix this?
I do not know if that is a problem related to Kodi itself, to OSMC or to the raspberry pi (e.g. sd card), so I posted it in the general help forum.
If you deleted .kodi/userdata/Thumbnails/ then you must also delete .kodi/userdata/Database/Textures13.db
I did that, deleted thumbnails folder, textures and movie database. As mentioned, it first works (and does so after a reboot), but suddenly they disappear again.
A debug log may show if you are getting errors caching new artwork.
A reinstall is likely to resolve the issue.
I recreated all cached pictures with this tool:
This has proven to work and does not require kodi itself to cache artwork on demand while navigating through.
I’d like to prevent reinstall as that requires some hours of effort and in the end there needs to be a reason why it currently does not work properly.
Post a debug log - it may have some clues.
Took some time, but here is the log:
What I did:
- Enable logging
- Navigate around
- Start a series and stop it
-> Fanarts not displayed anymore, which won’t change until another OSMC restart.
It is not directly related to playing a movie, sometimes the fanarts even just disappear from one moment to another while browsing the library. Any idea from the log, what the issue is?
I can’t see any errors in the log that would explain this.
13:45:57 64.193184 T:1481634800 ERROR: COMXImageFile::ReadFile smb://syno/filme/Boyhood (2014)/extrathumbs/thumb1.jpg m_image_size zero
Looks like you have a zero sized thumb1.jpg fie which may stop this movie’s artwork from working so should be deleted/replaced. But that shouldn’t affect other video’s artwork.
It could be worth trying with increased gpu_mem (perhaps gpu_mem=320). Probably won’t help.
The other thing I might try is zapping the current artwork cache.
rm -rf ~/.kodi/userdata/Thumbnails/ ~/.kodi/userdata/Database/Textures13.db
and restart kodi. The artwork will recache as you browse (can be forced with texturecahe).
As I mentioned before, I had already deleted the textures database and rebuilt it.
The odd thing is that I never had those issues for months, until this one power failure where the pi was shutdown without properly turning it off. Only since then I have this effect.
I will try the gpu_mem (I will find this setting in the OSMC settings I guess), also look for the zero size thumbnails, but I doubt this will help.
The odd thing is: If the SD card got corrupted or something similar, I would either expect general errors or just for single files. It is also not related to the skin, as all skins show the same behaviour.
And as a reboot solves the problem (until it reappears), it seems to be triggered by any event and the system is not able to get back to normal behaviour unless restarted.
I could try reinstall and another sd card, but was hoping that I could save those hours of time…
I wouldn’t be so sure. Random is as random does, as Forrest Gump might have said. Corruption is like a box of chocolates. You never know what you’re gonna get.
But errors in the file system or with the SD card should be possible to identify with a check, right?
This is not OSMC related, but do you know how to do this with a telnet session? Or would it also work to put the SD card into a Windows PC and do a drive check there?
Not really. An fsck will check the filesystem as best it can, but the file data could be severely borked.
Running a real operating system on an SD card is, TBH, pushing the limits of the technology. It’s also worth mentioning that not all SD cards are the same and it really is worth spending a bit extra on a reputable brand when you know it’s going to get a good workout. I personally have a Samsung Evo+ on a Pi3 and, so far, it’s been trouble free.
OSMC automatically runs an fsck at startup, so it shouldn’t be necessary. Windows will only recognise a DOS format filesystem, so won’t be of use.
I bought a new SD card, backed up the old one with win32diskimager, put the image on the new SD card, and the problem remains, fanarts disappear. So I guess it must be something on the software side. What’s left is to set up OSMC from scratch…
That might not have been the best route to take. Win32diskmanager is:
designed to write a raw disk image to a removable device or backup a removable device to a raw image file.
If your original image already contained corrupted and/or missing files, you’ll simply be transferring all of your problems to the new SD card if you copy a raw disk image. Instead, you first need to back up your data from the old SD card to a USB (or network) drive, then install a fresh copy of OSMC on the new SD card.
The installation of OSMC to the new SD card is a very straightforward process. If you have backed up the user data, you can choose either to take a risk and restore it, bearing in mind that we know it already had some corruption issues, or manually reconfigure everything from scratch, which will guarantee a clean build. I would also recommend that from now on you run regular backups of the user data to an external device.
I’d also recommend that you do not re-use or otherwise overwrite the old SD card until you are 110% sure that the new system is working to your liking.
Edit: Reword since user data might also be corrupted.
Feedback: I have completely reinstalled a fresh osmc and set everything up again manually, while still using the same SD card. So far no fanarts disappeared, so it really seemed to be any corrupted file. However it is sad thad Kodi did not offer any option to find out which one and repair it. So time to do a complete image backup to be prepared for another power failure.
Thanks for the feedback. Backups are your friend!
@pigeldi, it would be rather difficult for Kodi (or any system) to detect corrupt files on a per-file basis. Especially on an SD card that can have odd random failures.