#1770 closed defect (fixed)
Oops on deleting wiki page
Reported by: | anonymous | Owned by: | Jonas Borgström |
---|---|---|---|
Priority: | normal | Milestone: | 0.9 |
Component: | wiki system | Version: | devel |
Severity: | normal | Keywords: | |
Cc: | Branch: | ||
Release Notes: | |||
API Changes: | |||
Internal Changes: |
Description (last modified by )
Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/trac/web/cgi_frontend.py", line 103, in run dispatch_request(os.getenv('PATH_INFO', ''), req, env) File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 419, in dispatch_request dispatcher.dispatch(req) File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 283, in dispatch resp = chosen_handler.process_request(req) File "/usr/lib/python2.4/site-packages/trac/wiki/web_ui.py", line 88, in process_request self._do_delete(req, db, page) File "/usr/lib/python2.4/site-packages/trac/wiki/web_ui.py", line 155, in _do_delete page.delete(version, db) File "/usr/lib/python2.4/site-packages/trac/wiki/model.py", line 100, in delete listener.wiki_page_deleted(self) File "/usr/lib/python2.4/site-packages/trac/wiki/api.py", line 119, in wiki_page_deleted if self.has_page(page.name): File "/usr/lib/python2.4/site-packages/trac/wiki/api.py", line 105, in has_page self._load_pages() File "/usr/lib/python2.4/site-packages/trac/wiki/api.py", line 90, in _load_pages cursor.execute("SELECT DISTINCT name FROM wiki") File "/usr/lib/python2.4/site-packages/sqlite/main.py", line 244, in execute self.rs = self.con.db.execute(SQL) OperationalError: database is locked
I have TRAC_ADMIN permission and can't delete the page even using trac-admin tool, it just run without any message and the page still there.
Attachments (0)
Change History (13)
comment:1 by , 19 years ago
Description: | modified (diff) |
---|
comment:2 by , 19 years ago
Milestone: | → 0.9 |
---|
Same problem here with WIKI_ADMIN permission, when trying to delete either a wiki page or a page version. Wiki editing does work though.
comment:3 by , 19 years ago
Cc: | added |
---|
comment:4 by , 19 years ago
I cannot reproduce this. Tested with SQLite 2.8.x and SQLite 3.1.x, as well as with PySQLite 1.0.1, PySQLite 1.1.6 and PySQLite 2.0.3.
comment:5 by , 19 years ago
The following is with trac '0.9.pre' downloaded at [1979], python 2.3.4, SQLite 2.8.16 and PySQLite 1.0.1:
Traceback (most recent call last): File "/usr/lib/python2.3/site-packages/trac/web/cgi_frontend.py", line 103, in run dispatch_request(os.getenv('PATH_INFO', ''), req, env) File "/usr/lib/python2.3/site-packages/trac/web/main.py", line 424, in dispatch_request dispatcher.dispatch(req) File "/usr/lib/python2.3/site-packages/trac/web/main.py", line 284, in dispatch resp = chosen_handler.process_request(req) File "/usr/lib/python2.3/site-packages/trac/wiki/web_ui.py", line 96, in process_request self._do_delete(req, db, page) File "/usr/lib/python2.3/site-packages/trac/wiki/web_ui.py", line 165, in _do_delete page.delete(version, db) File "/usr/lib/python2.3/site-packages/trac/wiki/model.py", line 105, in delete listener.wiki_page_deleted(self) File "/usr/lib/python2.3/site-packages/trac/wiki/api.py", line 127, in wiki_page_deleted if self.has_page(page.name): File "/usr/lib/python2.3/site-packages/trac/wiki/api.py", line 113, in has_page self._update_index() File "/usr/lib/python2.3/site-packages/trac/wiki/api.py", line 92, in _update_index cursor.execute("SELECT DISTINCT name FROM wiki") File "/var/tmp/python-sqlite-1.0.1-1-buildroot//usr/lib/python2.3/site-packages/sqlite/main.py", line 244, in execute OperationalError: database is locked
Let me know if you need any more info.
comment:6 by , 19 years ago
Can you please try with a later version, at least [2013]. There have been enhancements to the database connection pooling, and I believe they fix the issue you're seeing here.
comment:8 by , 19 years ago
Actually, the web interface works but the trac-admin 'wiki remove' command still fails silently. Not sure if the two are related though.
comment:9 by , 19 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Embarrassingly, the wiki remove
command wasn't committing the DB transaction. Also embarrassingly, the fix for this accidentially slipped into [2059] (it should've been checked in seperately, of course).
Do other modifications work, for example editing a wiki page?