remotely stored (nfs) Thumbnails missing
#1
Hello,
I'm using the latest OpenElec stable (3.0.3) on my Raspberry Pi. Recently I decided to store my database on my Synology NAS (mysql). When moving the database I also configured pathsubstitution for the thumbnails in advancedsettings.xml:
Code:
<pathsubstitution>
     <substitute>
      <from>special://masterprofile/Thumbnails/</from>
      <to>nfs://192.168.0.27/volume1/XBMC_Thumbnails/</to>
     </substitute>
    </pathsubstitution>
I re-imported my database and everything seemed to work fine until now. I discovered that newly scraped movies don't show a thumbnail image. Just to make sure we are talking about the same thing, by "thumbnail" I mean the small picture displayed in the lower right corner of the screen when you move the cursor over a movie in the database view (not the huge background image).

I turned on debugt logging and got the following errors:
Code:
00:12:49 T:2922878048    INFO: CNFSFile::Open: Unable to open file : 'volume1/XBMC_Thumbnails/1/19c814a0.jpg'  error : 'open call failed with "NFS: Lookup of //1 failed with NFS3ERR_NOENT(-2)"'
00:12:49 T:2922878048   ERROR: COMXImage::ReadFile special://masterprofile/Thumbnails/1/19c814a0.jpg not found
00:12:49 T:2922878048    INFO: CNFSFile::Open: Unable to open file : 'volume1/XBMC_Thumbnails/1/19c814a0.jpg'  error : 'open call failed with "NFS: Lookup of //1 failed with NFS3ERR_NOENT(-2)"'
00:12:49 T:2922878048   DEBUG: LoadFromFileInternal - Load of special://masterprofile/Thumbnails/1/19c814a0.jpg failed. Falling back to ImageLib
00:12:49 T:2922878048   ERROR: NFS: Failed to stat(volume1/XBMC_Thumbnails/1/19c814a0.jpg) stat call failed with "NFS: Lookup of //1 failed with NFS3ERR_NOENT(-2)"
00:12:49 T:2922878048    INFO: CNFSFile::Open: Unable to open file : 'volume1/XBMC_Thumbnails/1/19c814a0.jpg'  error : 'open call failed with "NFS: Lookup of //1 failed with NFS3ERR_NOENT(-2)"'
00:12:49 T:2922878048    INFO:   msg: PICTURE::LoadImage: Unable to open image: special://masterprofile/Thumbnails/1/19c814a0.jpg Error: (2)
00:12:49 T:2922878048   ERROR: Texture manager unable to load file: special://masterprofile/Thumbnails/1/19c814a0.jpg

I then checked the path provided in the error message on my NAS and the file really is missing there. I have no idea how xbmc retrieves the thumbnails, but I suppose they are downloaded and stored when scraping the movie. So I tried to re-scrape on of my movies but the image is still missing. I could not find any error messages in the debug log which corresponded to problems storing the thumbnail. Full log file here: http://pastebin.com/5SXBXj8N

Can someone please help me with this?
Reply
#2
I'm thinking it's an nfs permission issue:
00:11:57 T:3041636352 ERROR: NFS: Failed to create(//) mkdir call failed with "NFS: MKDIR of // failed with NFS3ERR_PERM(-1)"
Reply
#3
Path substitution for thumbnails is generally frowned upon these days (since Frodo), so what are you trying to achieve here by using path substitution?

Is it to share thumbnails between multiple clients (generally a bad idea unless all clients are identical) or is it simply to store your thumbs on NFS due to limited local storage in which case booting the Pi with /storage mounted from NFS would be a better idea.
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
#4
(2013-06-01, 02:56)doug Wrote: I'm thinking it's an nfs permission issue:
00:11:57 T:3041636352 ERROR: NFS: Failed to create(//) mkdir call failed with "NFS: MKDIR of // failed with NFS3ERR_PERM(-1)"
Sounds resonable. I will try to create a folder trough the filebrowser to verify this. If its really a permission issue it shoudln't work.

(2013-06-01, 15:02)MilhouseVH Wrote: Path substitution for thumbnails is generally frowned upon these days (since Frodo), so what are you trying to achieve here by using path substitution?

Is it to share thumbnails between multiple clients (generally a bad idea unless all clients are identical) or is it simply to store your thumbs on NFS due to limited local storage in which case booting the Pi with /storage mounted from NFS would be a better idea.
What I'm trying to accomplish is sharing thumbnails between two raspberry pi clients with same database. I'm not doing this because of limited storage.
Reply
#5
I have some update: creating new folders on the nfs share via the built in file browser is possible. Here is another debug log: http://pastebin.com/CfK5ncDA
Seems like it can not be a permission issue?
Reply
#6
Paste the content of your /etc/exports file from your NAS.

Also, can you confirm that files like "volume1/XBMC_Thumbnails/1/19c814a0.jpg" DO exist on the NAS, as the Pi knows about them (because of Textures13.db) but can't find them:

Code:
12:20:59 T:2880246880    INFO: CNFSFile::Open: Unable to open file : 'volume1/XBMC_Thumbnails/1/19c814a0.jpg'  error : 'open call failed with "NFS: Lookup of //1 failed with NFS3ERR_NOENT(-2)"'

If your Textures13.db contains junk then you need to delete .xbmc/userdata/Database/Textures13.db
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
#7
Hello MilhouseVH,

thank you very much for replying. Here are the contents of my exports file on my NAS
Code:
/volume1/XBMC_Thumbnails        192.168.0.36(rw,async,no_wdelay,no_root_squash,insecure_locks,anonuid=0,anongid=0)
/volume1/music  192.168.0.36(ro,async,no_wdelay,no_root_squash,insecure_locks,anonuid=0,anongid=0)
/volume1/video  192.168.0.36(ro,async,no_wdelay,no_root_squash,insecure_locks,anonuid=0,anongid=0)

I just checked, 19c814a0.jpg indeed does not exist on the NAS. From my understanding, xbmc should create the thumbnails when scraping a movie? Is this correct? If so, why don't any file writing errors appear in the debug log file when scraping a movie?

What exactly happens when I delete my Textures13.db? Will all thumbnails be gone? How can I get them back after?
Reply
#8
/etc/exports looks OK, though I'm more familiar with BSD than Debian so if there is a problem someone else may be more suited to answer.

(2013-06-02, 14:07)niehztog Wrote: I just checked, 19c814a0.jpg indeed does not exist on the NAS. From my understanding, xbmc should create the thumbnails when scraping a movie? Is this correct? If so, why don't any file writing errors appear in the debug log file when scraping a movie?

The scraper might not create them if it erroneously thought the file already existed (your Textures13.db is reporting that the file exists, even though it isn't present in the filesystem so XBMC probably - and sensibly - wouldn't try creating it again).

Try deleting /storage/.xbmc/userdata/Database/Textures13.db and restarting OpenELEC. Then browse through your movies to see if the thumbnails appear. If they do, you can also pre-load them automatically.

If there is a problem, it's likely to be that you don't have write access to your NFS mounts... though not sure why that should be given your exports.

(2013-06-02, 14:07)niehztog Wrote: What exactly happens when I delete my Textures13.db? Will all thumbnails be gone? How can I get them back after?

It looks like your thumbnails are already gone - can you confirm how many (if any) files are present in Thumbnails?

Textures13.db is just a database of references between your media library artwork and the local Thumbnails cache. Since your Thumbnails cache appears to be incomplete (if not entirely empty) then removing the false references by deleting Textures13.db is the first step to cleaning up the mess. Once you have removed the Textures13.db and restarted XBMC, the Textures13.db file will be automatically re-created (without the false references) and as you browse your media library and view your artwork (or pre-load the cache) the references will be automatically added.

In fact, deleting the Thumbnails folder on the NAS would also be a good idea - XBMC should re-create it when it restarts - as this would ensure there is no false information remaining and give XBMC the best chance of recreating all the thumbnails correctly. Make sure the new Thumbnails folder is owned by root.

However now that you are sharing your thumbnails with path substitution, you also need to ensure that you sync the Textures13.db file to each of the other clients, at least initially. What happens in future to your shared Thumbnails cache with unsynchronised Textures13.db files on each client is anyones guess - there are several reasons why path substitution for thumbnails is no longer recommended in Frodo!
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
#9
Hello MilhouseVH

thats quite interesting. You braught me to the idea to alter my Textures13.db and to delete only the one erronous row pointing to 1/19c814a0.jpg. After rebooting OpenElec and moving the cursor to the associated movie the thumbnail appeared as it should. I then learned from my debug log that it has been sucessfully downloaded and stored:
Code:
20:24:37 T:2888848480   DEBUG: Caching image 'http://cf2.imgobject.com/t/p/original/3Aa8k6hfR0vlOdiMiZScgre93lu.jpg' to '1/19c814a0.jpg':
20:24:37 T:2888848480   DEBUG: cached image 'special://masterprofile/Thumbnails/1/19c814a0.jpg' size 360x540
Obviously this fixed the problem and prooved your hypothesis. I have no idea how my Textures13.db could become so "corrupted" or why files on my NAS are missing.

I think I am going to try out your script to rebuild my whole Textures13.db. Thank you very much for your support.
Reply
#10
I suspect the reason why my thumbnails were corrupted in the first place is that once you delete movies from your moviedb, xbmc deletes the thumbnail-files but keeps the entries in Textures13.db. If you later re-scrape the same movie again, the thumbnails will be missing. If that is correct this would be a bug.
Reply

Logout Mark Read Team Forum Stats Members Help
remotely stored (nfs) Thumbnails missing0