Opened 10 years ago

#1098 closed defect (Fixed)

bridgedb corrupts its database on exit

Reported by: arma Owned by:
Priority: Low Milestone:
Component: Webpages/Website Version: 0.2.1.19
Severity: Keywords:
Cc: arma, nickm, Sebastian Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

Several times a year, when I kill the bridgedb process, it corrupts its
database.

When I try to run it again, it produces a traceback like the one below. We should
figure out why it's corrupting itself, and either make it use a different db type
by default, or figure out how to auto-uncorrupt it, or what.

Traceback (most recent call last):

File "/usr/lib/python2.5/runpy.py", line 95, in run_module

filename, loader, alter_sys)

File "/usr/lib/python2.5/runpy.py", line 52, in _run_module_code

mod_name, mod_fname, mod_loader)

File "/usr/lib/python2.5/runpy.py", line 32, in _run_code

exec code in run_globals

File "/home/bridges/lib/python2.5/site-packages/TorBridgeDB.py", line 4, in <m

odule>

bridgedb.Main.run()

File "/home/bridges/lib/python2.5/site-packages/bridgedb/Main.py", line 326, i

n run

startup(configuration)

File "/home/bridges/lib/python2.5/site-packages/bridgedb/Main.py", line 290, i

n startup

reload()

File "/home/bridges/lib/python2.5/site-packages/bridgedb/Main.py", line 275, i

n reload

load(cfg, splitter, clear=True)

File "/home/bridges/lib/python2.5/site-packages/bridgedb/Main.py", line 144, in load

splitter.insert(bridge)

File "/home/bridges/lib/python2.5/site-packages/bridgedb/Bridges.py", line 509, in insert

s.insert(bridge)

File "/home/bridges/lib/python2.5/site-packages/bridgedb/Bridges.py", line 459, in insert

self.lastSeenStore[bridgeID] = now

File "/home/bridges/lib/python2.5/site-packages/bridgedb/Bridges.py", line 390, in setitem

self._d[self._p+k] = v

File "/home/bridges/lib/python2.5/site-packages/bridgedb/Bridges.py", line 362, in setitem

self._db[k] = v

File "/usr/lib/python2.5/bsddb/init.py", line 230, in setitem

_DeadlockWrap(wrapF) # self.db[key] = value

File "/usr/lib/python2.5/bsddb/dbutils.py", line 62, in DeadlockWrap

return function(*_args, _kwargs)

File "/usr/lib/python2.5/bsddb/init.py", line 229, in wrapF

self.db[key] = value

bsddb.db.DBRunRecoveryError: (-30975, 'DB_RUNRECOVERY: Fatal error, run database recovery -- PANIC: Invalid argument')
Exception bsddb.db.DBRunRecoveryError: DBRunRecoveryError(-30975, 'DB_RUNRECOVERY: Fatal error, run database recovery -- PANIC: fatal region error detected; run recovery') in ignored

[Automatically added by flyspray2trac: Operating System: All]

Child Tickets

Change History (4)

comment:1 Changed 10 years ago by nickm

Does the machine where bridgedb runs have sqlite and pysqlite installed? If so, what version(s)?

comment:2 Changed 10 years ago by arma

libsqlite3-0 3.5.9-6

python-pysqlite2 2.4.1-1

comment:3 Changed 10 years ago by arma

The new bridgedb migrates to a new db format away from the old one. Great.
Closing this bug.

comment:4 Changed 10 years ago by arma

flyspray2trac: bug closed.

Note: See TracTickets for help on using tickets.