Opened 19 years ago
Closed 19 years ago
#1709 closed defect (invalid)
DB crash?
Reported by: | anonymous | Owned by: | Jonas Borgström |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | timeline | Version: | 0.8.1 |
Severity: | normal | Keywords: | |
Cc: | Branch: | ||
Release Notes: | |||
API Changes: | |||
Internal Changes: |
Description
The following happens on either timeline or browse source
I just got this error on my project page:
Trac detected an internal error:
('Berkeley DB error while opening environment for filesystem /repositories/keylargo/db:\nDB_RUNRECOVERY: Fatal error, run database recovery', 160029)
Traceback: Python traceback
Traceback (most recent call last):
File "/usr/lib/python2.2/site-packages/trac/core.py", line 531, in cgi_start
real_cgi_start()
File "/usr/lib/python2.2/site-packages/trac/core.py", line 526, in real_cgi_start
dispatch_request(path_info, args, req, env)
File "/usr/lib/python2.2/site-packages/trac/core.py", line 439, in dispatch_request
module = module_factory(args, env, database, req)
File "/usr/lib/python2.2/site-packages/trac/core.py", line 175, in module_factory
pool, rep, fs_ptr = open_svn_repos(repos_dir)
File "/usr/lib/python2.2/site-packages/trac/core.py", line 458, in open_svn_repos
rep = repos.svn_repos_open(repos_dir, pool)
SubversionException: ('Berkeley DB error while opening environment for filesystem /repositories/keylargo/db:\nDB_RUNRECOVERY: Fatal error, run database recovery',160029)
This is not a TRAC DB issue:
This is a Subversion DB issue: your Subversion repository is based on a BDB backend (not a FSFS backend), and if the computer that harbours this DB is likely to have been rebooted/shut down unproperly, so the BDB is not in a clean state.
The BDB engine which sits below the Subversion library requires you run a 'recovery', which means that you need to either use the svnadmin command (I don't remember which it is) or the db4.x_recover tool to clean up the database.
You won't be able to use the repository until you clean it up.
As Trac tries to access the repository, Trac forwards the error it got from the Subversion layer.