Opened 18 years ago
Closed 18 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 , 18 years ago
| Description: | modified (diff) | 
|---|---|
| Keywords: | needinfo added | 
| Priority: | normal → high | 
comment:2 by , 18 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 , 18 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 , 18 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 , 18 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 , 18 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 , 18 years ago
Last thing to test: does it also happen without the AccountManager plugin?
comment:8 by , 18 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)