Edgewall Software
Modify

Opened 19 years ago

Closed 19 years ago

Last modified 19 years ago

#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 Christopher Lenz)

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 Christopher Lenz, 19 years ago

Description: modified (diff)

Do other modifications work, for example editing a wiki page?

comment:2 by anonymous, 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 anonymous, 19 years ago

Cc: edgewall@… added

comment:4 by Christopher Lenz, 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 edgewall@…, 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 Christopher Lenz, 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:7 by edgewall@…, 19 years ago

Works with [2053].

comment:8 by edgewall@…, 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 Christopher Lenz, 19 years ago

Resolution: fixed
Status: newclosed

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).

comment:10 by Jonas Borgström, 19 years ago

test

comment:11 by Jonas Borgström, 19 years ago

test2

comment:12 by anonymous, 19 years ago

'test2' received, but not the first one.

comment:13 by edgewall@…, 19 years ago

Cc: edgewall@… removed

Confirmed, trac-admin can remove wiki pages now.

Thanks!

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Jonas Borgström.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from Jonas Borgström 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.