Edgewall Software
Modify

Opened 12 years ago

Closed 11 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 Christian Boos, 12 years ago

… 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 _active dict…

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 the get_cnx() method linked to above, that would be highly appreciated!

comment:2 by Christian Boos, 12 years ago

Keywords: needinfo added

(if no update in 3 months, will be closed as duplicate)

comment:3 by Christian Boos, 11 years ago

Resolution: duplicate
Status: newclosed

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The ticket will remain with no owner.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from (none) to the specified user.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.