I’ve been running Pi Music Box for nearly a year with no problems but last week it stopped working.
I’ve taken a look at mopidy,log and found this…
2016-12-19 08:48:15,029 - ERROR Uncaught exception
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/mopidy/commands.py", line 272, in run
backends = self.start_backends(config, backend_classes, audio)
File "/usr/local/lib/python2.7/dist-packages/mopidy/commands.py", line 343, in start_backends
config=config, audio=audio).proxy()
File "/usr/lib/python2.7/dist-packages/pykka/actor.py", line 93, in start
obj = cls(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/mopidy/local/actor.py", line 40, in __init__
self.library = LocalLibraryProvider(backend=self, library=library)
File "/usr/local/lib/python2.7/dist-packages/mopidy/local/library.py", line 19, in __init__
self.refresh()
File "/usr/local/lib/python2.7/dist-packages/mopidy/local/library.py", line 29, in refresh
num_tracks = self._library.load()
File "/usr/local/lib/python2.7/dist-packages/mopidy_local_sqlite/library.py", line 58, in load
version = schema.load(connection)
File "/usr/local/lib/python2.7/dist-packages/mopidy_local_sqlite/schema.py", line 158, in load
user_version = c.execute('PRAGMA user_version').fetchone()[0]
OperationalError: unable to open database file
Any ideas what could be wrong and why it would just suddenly stop working?
I don’t think we’ve seen this issue before. My guess is that the sqlite database file is corrupt. Could you try to force a full rescan? I think there is a --force option or something. Otherwise, try deleting the database file and doing a clean scan. @tkem any ideas?
Yes, probably a corrupt database file. SD cards, you know
Deleting the database file should do the trick, a rescan will probably not change anything, since the user_version query happens at initialization time, AFAICR.
Interestingly, I made an image of the 1GB SD card, wrote it to a new 2GB card, rebooted then edited the settings file to resize the card, rebooted and now it’s working again.
Interesting. Any chance your 1 GB card was simply “full”? IIRC Sqlite tries to create some file(s) when opening a database (journals, etc), so if there wasn’t any space left for these, this could also trigger an error.