Opened 17 years ago
Closed 17 years ago
#6405 closed defect (duplicate)
Unable to get database connection within 20 seconds - Hets - Trac
Reported by: | Owned by: | Jonas Borgström | |
---|---|---|---|
Priority: | high | Milestone: | |
Component: | general | Version: | devel |
Severity: | critical | Keywords: | |
Cc: | Branch: | ||
Release Notes: | |||
API Changes: | |||
Internal Changes: |
Description (last modified by )
While trying to access to
http://www.informatik.uni-bremen.de/agbkb/forschung/formal_methods/CoFI/hets/developers_e.htm
I got the following traceback :
Oops… Trac detected an internal error: If you think this really should work and you can reproduce it, you should consider reporting this problem to the Trac team. Go to http://trac.edgewall.org/ and create a new ticket where you describe the problem, how to reproduce it. Don't forget to include the Python traceback found below. TracGuide — The Trac User and Administration Guide Python Traceback Traceback (most recent call last): File "/usr/local/lib64/python2.4/site-packages/trac/web/main.py", line 387, in dispatch_request dispatcher.dispatch(req) File "/usr/local/lib64/python2.4/site-packages/trac/web/main.py", line 191, in dispatch req.perm = PermissionCache(self.env, req.authname) File "/usr/local/lib64/python2.4/site-packages/trac/perm.py", line 267, in __init__ self.perms = PermissionSystem(env).get_user_permissions(username) File "/usr/local/lib64/python2.4/site-packages/trac/perm.py", line 231, in get_user_permissions for perm in self.store.get_user_permissions(username): File "/usr/local/lib64/python2.4/site-packages/trac/perm.py", line 109, in get_user_permissions db = self.env.get_db_cnx() File "/usr/local/lib64/python2.4/site-packages/trac/env.py", line 182, in get_db_cnx return DatabaseManager(self).get_connection() File "/usr/local/lib64/python2.4/site-packages/trac/db/api.py", line 75, in get_connection return self._cnx_pool.get_cnx(self.timeout or None) File "/usr/local/lib64/python2.4/site-packages/trac/db/pool.py", line 107, in get_cnx raise TimeoutError('Unable to get database ' TimeoutError: Unable to get database connection within 20 seconds
Attachments (0)
Change History (8)
comment:1 by , 17 years ago
Description: | modified (diff) |
---|---|
Keywords: | needinfo added |
Priority: | normal → high |
comment:2 by , 17 years ago
Version: | → 0.10.2 |
---|
Ok, checking myself: 0.10.2 for Trac.
You should upgrade that to 0.10.4 at least (or inform that site's admin to do it).
comment:3 by , 17 years ago
Likely a dup of #4465.
BTW, the URL does not look like Trac-ish, and leads to a 404 page error.
comment:4 by , 17 years ago
Milestone: | → 0.11 |
---|---|
Version: | 0.10.2 → devel |
The same problem I have with the devel version.
I'm use tracd and problem break up when I restart the service (for on day or more) and return.
But interesting is, that in the some time, when trac can't connect with DB, from python (with pysqlite) or sqlite I can connect with the same DB file, and execute query.
I have:
- Trac-0.11dev_r6223
- python 2.5.1
- pysqlite 2.4.1 (from SVN)
- sqlite 2.5.2 (from source, with —enable-threadsafe )
Traceback (most recent call last): File "/usr/lib/python2.5/site-packages/Trac-0.11dev_r6223-py2.5.egg/trac/web/api.py", line 342, in send_error 'text/html') File "/usr/lib/python2.5/site-packages/Trac-0.11dev_r6223-py2.5.egg/trac/web/chrome.py", line 590, in render_template data = self.populate_data(req, data) File "/usr/lib/python2.5/site-packages/Trac-0.11dev_r6223-py2.5.egg/trac/web/chrome.py", line 498, in populate_data d['chrome'].update(req.chrome) File "/usr/lib/python2.5/site-packages/Trac-0.11dev_r6223-py2.5.egg/trac/web/api.py", line 170, in __getattr__ value = self.callbacks[name](self) File "/usr/lib/python2.5/site-packages/Trac-0.11dev_r6223-py2.5.egg/trac/web/chrome.py", line 377, in prepare_request for category, name, text in contributor.get_navigation_items(req): File "/usr/lib/python2.5/site-packages/TracWebAdmin-0.1.2dev_r3727-py2.5.egg/webadmin/web_ui.py", line 66, in get_navigation_items pages, providers = self._get_pages(req) File "/usr/lib/python2.5/site-packages/TracWebAdmin-0.1.2dev_r3727-py2.5.egg/webadmin/web_ui.py", line 86, in _get_pages p = list(provider.get_admin_pages(req)) File "/usr/lib/python2.5/site-packages/TracWebAdmin-0.1.2dev_r3727-py2.5.egg/webadmin/logging.py", line 30, in get_admin_pages if req.perm.has_permission('TRAC_ADMIN'): File "/usr/lib/python2.5/site-packages/Trac-0.11dev_r6223-py2.5.egg/trac/web/api.py", line 170, in __getattr__ value = self.callbacks[name](self) File "/usr/lib/python2.5/site-packages/Trac-0.11dev_r6223-py2.5.egg/trac/web/main.py", line 252, in _get_perm return PermissionCache(self.env, self.authenticate(req)) File "/usr/lib/python2.5/site-packages/Trac-0.11dev_r6223-py2.5.egg/trac/web/main.py", line 129, in authenticate authname = authenticator.authenticate(req) File "build/bdist.linux-i686/egg/acct_mgr/web_ui.py", line 349, in wrap return func(self, *args, **kwds) File "build/bdist.linux-i686/egg/acct_mgr/web_ui.py", line 360, in authenticate return auth.LoginModule.authenticate(self, req) File "/usr/lib/python2.5/site-packages/Trac-0.11dev_r6223-py2.5.egg/trac/web/auth.py", line 70, in authenticate authname = self._get_name_for_cookie(req, req.incookie['trac_auth']) File "/usr/lib/python2.5/site-packages/Trac-0.11dev_r6223-py2.5.egg/trac/web/auth.py", line 180, in _get_name_for_cookie db = self.env.get_db_cnx() File "/usr/lib/python2.5/site-packages/Trac-0.11dev_r6223-py2.5.egg/trac/env.py", line 239, in get_db_cnx return DatabaseManager(self).get_connection() File "/usr/lib/python2.5/site-packages/Trac-0.11dev_r6223-py2.5.egg/trac/db/api.py", line 76, in get_connection return self._cnx_pool.get_cnx(self.timeout or None) File "/usr/lib/python2.5/site-packages/Trac-0.11dev_r6223-py2.5.egg/trac/db/pool.py", line 109, in get_cnx % timeout) TimeoutError: Unable to get database connection within 20 seconds
(sorry for my English ;)
comment:5 by , 17 years ago
Thanks for the detailed report.
First, you should disable the webadmin.* components (TracWebAdmin-0.1.2dev_r3727-py2.5.egg gets used, that's not what you want as the web admin is now part of the Trac code base).
Then, it looks like there must be an initial error before that one. Please attach the whole trac log file (at debug level), if possible.
comment:6 by , 17 years ago
Also, please try this:
- stop tracd
- remove or move the trac.log file aside
- start tracd
- use a tabbed browser, open say 10 times the timeline, 10 different custom queries, change the query parameters for each query and press update
- reload all the tabs at once
Chances are that you've just triggered the problem. If so, attach the new trac.log here.
comment:7 by , 17 years ago
Last thing to test: does it also happen without the AccountManager plugin?
comment:8 by , 17 years ago
Keywords: | needinfo removed |
---|---|
Milestone: | 0.11 |
Resolution: | → duplicate |
Status: | new → closed |
Ok, I've been able to reproduce the issue myself, only on Linux though. Please follow-up on #4465.
Which version of Trac / pysqlite and SQLite are you using?
(if you're not using sqlite for the db backend, please mention the relevant information for your db backend as well)