id	summary	reporter	owner	description	type	status	priority	component	severity	resolution	keywords	cc	release
8657	ProgrammingError: Cannot operate on a closed cursor	schodet	rjollos	Seen on trac 0.11.7.\r\n\r\n{{{\r\nFile "/usr/lib/python2.6/dist-packages/trac/web/main.py", line 450, in _dispatch_request\r\n  dispatcher.dispatch(req)\r\nFile "/usr/lib/python2.6/dist-packages/trac/web/main.py", line 227, in dispatch\r\n  data, content_type)\r\nFile "/usr/lib/python2.6/dist-packages/trac/web/chrome.py", line 773, in render_template\r\n  stream.render(method, doctype=doctype, out=buffer)\r\nFile "/usr/lib/pymodules/python2.6/genshi/core.py", line 183, in render\r\n  return encode(generator, method=method, encoding=encoding, out=out)\r\nFile "/usr/lib/pymodules/python2.6/genshi/output.py", line 58, in encode\r\n  for chunk in iterator:\r\nFile "/usr/lib/pymodules/python2.6/genshi/output.py", line 339, in __call__\r\n  for kind, data, pos in stream:\r\nFile "/usr/lib/pymodules/python2.6/genshi/output.py", line 826, in __call__\r\n  for kind, data, pos in stream:\r\nFile "/usr/lib/pymodules/python2.6/genshi/output.py", line 670, in __call__\r\n  for kind, data, pos in stream:\r\nFile "/usr/lib/pymodules/python2.6/genshi/output.py", line 771, in __call__\r\n  for kind, data, pos in chain(stream, [(None, None, None)]):\r\nFile "/usr/lib/pymodules/python2.6/genshi/output.py", line 586, in __call__\r\n  for ev in stream:\r\nFile "/usr/lib/pymodules/python2.6/genshi/core.py", line 288, in _ensure\r\n  for event in stream:\r\nFile "/usr/lib/pymodules/python2.6/genshi/core.py", line 288, in _ensure\r\n  for event in stream:\r\nFile "/usr/lib/python2.6/dist-packages/trac/web/chrome.py", line 838, in _strip_accesskeys\r\n  for kind, data, pos in stream:\r\nFile "/usr/lib/pymodules/python2.6/genshi/core.py", line 288, in _ensure\r\n  for event in stream:\r\nFile "/usr/lib/python2.6/dist-packages/trac/web/chrome.py", line 827, in _generate\r\n  for kind, data, pos in stream:\r\nFile "/usr/lib/pymodules/python2.6/genshi/core.py", line 288, in _ensure\r\n  for event in stream:\r\nFile "/usr/lib/pymodules/python2.6/genshi/core.py", line 288, in _ensure\r\n  for event in stream:\r\nFile "/usr/lib/pymodules/python2.6/genshi/filters/transform.py", line 686, in _unmark\r\n  for mark, event in stream:\r\nFile "/usr/lib/pymodules/python2.6/genshi/filters/transform.py", line 1152, in __call__\r\n  for subevent in self._inject():\r\nFile "/usr/lib/pymodules/python2.6/genshi/filters/transform.py", line 1042, in _inject\r\n  content = content()\r\nFile "/usr/local/lib/python2.6/dist-packages/ExtendedVersionTracPlugin-0.0-py2.6.egg/extendedversion/milestone.py", line 83, in apply_version\r\n  return self._version_display(req, buffer.events[1][1])\r\nFile "/usr/local/lib/python2.6/dist-packages/ExtendedVersionTracPlugin-0.0-py2.6.egg/extendedversion/milestone.py", line 90, in _version_display\r\n  cursor.execute("SELECT version FROM milestone_version WHERE milestone=%s", (milestone,))\r\nFile "/usr/lib/python2.6/dist-packages/trac/db/util.py", line 64, in execute\r\n  return self.cursor.execute(sql_escape_percent(sql), args)\r\nFile "/usr/lib/python2.6/dist-packages/trac/db/sqlite_backend.py", line 80, in execute\r\n  result = PyFormatCursor.execute(self, *args)\r\nFile "/usr/lib/python2.6/dist-packages/trac/db/sqlite_backend.py", line 59, in execute\r\n  args or [])\r\nFile "/usr/lib/python2.6/dist-packages/trac/db/sqlite_backend.py", line 51, in _rollback_on_error\r\n  return function(self, *args, **kwargs)\r\n}}}\r\n\r\nAs a workaround, I temporarily disabled the _version_display function:\r\n\r\n{{{\r\n#!diff\r\nIndex: extendedversion/milestone.py\r\n===================================================================\r\n--- extendedversion/milestone.py        (revision 10007)\r\n+++ extendedversion/milestone.py        (working copy)\r\n@@ -86,6 +86,8 @@\r\n         return stream | filter\r\n \r\n     def _version_display(self, req, milestone):\r\n+        # XXX not working.\r\n+        return []\r\n         cursor = self.env.get_db_cnx().cursor()\r\n         cursor.execute("SELECT version FROM milestone_version WHERE milestone=%s", (milestone,))\r\n         row = cursor.fetchone()\r\n}}}	defect	closed	normal	ExtendedVersionPlugin	normal	fixed			0.11
