Modify ↓
Opened 13 years ago
Closed 13 years ago
#10822 closed defect (duplicate)
AttributeError: 'tuple' object has no attribute 'cursor'
| Reported by: | anonymous | Owned by: | |
|---|---|---|---|
| Priority: | high | Milestone: | |
| Component: | general | Version: | 0.12 |
| Severity: | major | Keywords: | needinfo |
| Cc: | Branch: | ||
| Release Notes: | |||
| API Changes: | |||
| Internal Changes: | |||
Description
How to Reproduce
While doing a GET operation on /, Trac issued an internal error.
(please provide additional details here)
== Visiting (firefox) virtualbox.org ==
Request parameters:
{}
User agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1
System Information
System information not available
== Precise pangolin ==
Enabled Plugins
Plugin information not available
Python Traceback
Traceback (most recent call last):
File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 513, in _dispatch_request
dispatcher.dispatch(req)
File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 200, in dispatch
chosen_handler)
File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 346, in _pre_process_request
chosen_handler = filter_.pre_process_request(req, chosen_handler)
File "/usr/lib/python2.4/site-packages/trac/versioncontrol/api.py", line 330, in pre_process_request
repo = self.get_repository(reponame)
File "/usr/lib/python2.4/site-packages/trac/versioncontrol/api.py", line 503, in get_repository
repoinfo = self.get_all_repositories().get(reponame, {})
File "/usr/lib/python2.4/site-packages/trac/versioncontrol/api.py", line 571, in get_all_repositories
for reponame, info in provider.get_repositories() or []:
File "/usr/lib/python2.4/site-packages/trac/versioncontrol/api.py", line 113, in get_repositories
cursor = db.cursor()
File "/usr/lib/python2.4/site-packages/trac/db/util.py", line 102, in __getattr__
return getattr(self.cnx, name)
AttributeError: 'tuple' object has no attribute 'cursor'
Attachments (0)
Change History (3)
comment:1 by , 13 years ago
comment:2 by , 13 years ago
| Keywords: | needinfo added |
|---|
(if no update in 3 months, will be closed as duplicate)
comment:3 by , 13 years ago
| Resolution: | → duplicate |
|---|---|
| Status: | new → closed |
Note:
See TracTickets
for help on using tickets.



… which in turn looks like a duplicate of #9640.
In particular, do you have any plugin enabled and does the problem goes away when you disable some plugins? (ticket:9640#comment:6)
Otherwise, looking at the code in tags/trac-0.12.2/trac/db/pool.py@#L77, it's really hard to imagine how we could end up with the
(op, cnx)tuple staying in the_activedict…If the problem is reproducible and you're willing to add a few
log.debug("tid=%d key=%r _active=%r cnx=%r", tid, key, self._active, cnx)statements (or similar) in theget_cnx()method linked to above, that would be highly appreciated!