You are not logged in.

#1 2009-09-19 09:52:40

Szelek
Member
From: Warsaw
Registered: 2008-09-03
Posts: 86

[SOLVED] Exaile database doesnt't work.

Hello everybody. Today I have another problem fo You to solve.

Yestarday in my house the electricity went down for few minutes. Computer turned off in the middle of updating the exaile music library. Now when I want to start exaile, it crashes with this log:

INFO    : Loading Exaile 0.3.0.1...
INFO    : Loading settings...
INFO    : Setting up deferred idle manager function...
INFO    : Loading plugins...
INFO    : Loading collection...
Traceback (most recent call last):
  File "/usr/lib/exaile/exaile.py", line 56, in <module>
    main()
  File "/usr/lib/exaile/exaile.py", line 53, in main
    exaile = main.Exaile()
  File "/usr/lib/exaile/xl/main.py", line 90, in __init__
    self.__init()
  File "/usr/lib/exaile/xl/main.py", line 147, in __init
    location=os.path.join(xdg.get_data_dirs()[0], 'music.db'))
  File "/usr/lib/exaile/xl/collection.py", line 92, in __init__
    pickle_attrs=pickle_attrs)
  File "/usr/lib/exaile/xl/trackdb.py", line 143, in __init__
    self.load_from_location()
  File "/usr/lib/exaile/xl/common.py", line 100, in wrapper
    return func(self,*__args,**__kw)
  File "/usr/lib/exaile/xl/trackdb.py", line 216, in load_from_location
    pdata.close()
  File "/usr/lib/python2.6/shelve.py", line 143, in close
    self.sync()
  File "/usr/lib/python2.6/shelve.py", line 164, in sync
    self.dict.sync()
  File "/usr/lib/python2.6/bsddb/__init__.py", line 344, in sync
    return _DeadlockWrap(self.db.sync)
  File "/usr/lib/python2.6/bsddb/dbutils.py", line 68, in DeadlockWrap
    return function(*_args, **_kwargs)
bsddb.db.DBRunRecoveryError: (-30974, 'DB_RUNRECOVERY: Fatal error, run database recovery -- PANIC: fatal region error detected; run recovery')
Exception bsddb.db.DBRunRecoveryError: DBRunRecoveryError(-30974, 'DB_RUNRECOVERY: Fatal error, run database recovery -- PANIC: fatal region error detected; run recovery') in  ignored
Exception bsddb.db.DBRunRecoveryError: DBRunRecoveryError(-30974, 'DB_RUNRECOVERY: Fatal error, run database recovery -- PANIC: fatal region error detected; run recovery') in  ignored

I have searched for a solution and I found something about recovering the database using db4.1_recover. The problem is that I don't have the exaile music database. The DB should be in .exaile/music.db afaik but there is no such folder. And when I execute the db4.1_recover the result looks like this:

db_recover: Ignoring log file: log.0000000001: unsupported log version 14
db_recover: Invalid log file: log.0000000001: Invalid argument
db_recover: PANIC: Invalid argument
db_recover: PANIC: DB_RUNRECOVERY: Fatal error, run database recovery
db_recover: fatal region error detected; run recovery
db_recover: DB_ENV->open: DB_RUNRECOVERY: Fatal error, run database recovery

Any ideas what the hell is wrong?

I have completely forgot that I can run exaile in terminal. After few attempts of running exaile with different options exaile --no-import made it through.

Last edited by Szelek (2009-09-21 12:42:16)

Offline

Board footer

Powered by FluxBB