Hi Dag,
On 28.05.05, Dag Wieers wrote:
On Sat, 28 May 2005, Dag Wieers wrote:
I have a strange case of corruption.
[dag@emyn ~]$ pytone Traceback (most recent call last): File "/usr/lib/python2.3/site-packages/pytone/pytone.py", line 115, in ? songdbid = songdbmanager.addsongdb(songdbname, config.database[songdbname]) File "/usr/lib/python2.3/site-packages/pytone/services/songdb.py", line 148, in addsongdb songdb = songdbs.local.songdb(id, config, self.songdbhub) File "/usr/lib/python2.3/site-packages/pytone/services/songdbs/local.py", line 156, in __init__ self.dbenv = dbenv(config.dbenvdir, config.cachesize) File "/usr/lib/python2.3/site-packages/pytone/services/songdbs/local.py", line 74, in __init__ bsddb.db.DB_CREATE | bsddb._db.DBRunRecoveryError: (-30978, 'DB_RUNRECOVERY: Fatal error, run database recovery -- /home/dag/.pytone/cdrom.db: unable to flush page: 85')
This happened after I switched from ogg DVD and did an update of the directory. Since pytone stalled (probably while scanning the new media and maybe indexing) I exited pytone and restarted.
Maybe pytone allows you to exit the application while doing updates to the db and that corrupts these files ?
Also, if I change media I assume pytone wille throw away everything I collected about the old media ? Are there plans to support removable media (or even support a complete index of soundfiles, so that the same file with the same metadata will have the same pytone info attached to it, regardless of the media/location).
Before wasting too much time on this, I noticed that my disk was full due to a set of core-files in my home directory.
However, there is still a big problem with most Unix programs not catching disk-full problems and trashing/corrupting files.
I hope the bsddb does something reasonable in the case of disk-full problems... Have you already tried to run db_recover in the database directory (~/.pytone/mp3/ or whatever you have configured)
Jörg