Edgewall Software
Modify

Opened 16 years ago

Closed 16 years ago

#6914 closed defect (wontfix)

How do I forcefully remove a corrupt ticket

Reported by: sbsheetz@… Owned by: Jonas Borgström
Priority: normal Milestone:
Component: general Version:
Severity: normal Keywords:
Cc: Branch:
Release Notes:
API Changes:
Internal Changes:

Description (last modified by Tim Hatch)

Someone submitted a malicious ticket to our trac wiki that cannot be opened or evem removed (ticket remove <number>. I assume the submission included some code that is breaking something in python when the ticket is opened because when trac renders the ticket and attempts to display it within the browser I see nothing but python related errors. Here is the traceback I get:

Python Traceback

Traceback (most recent call last):
  File "/sage/local/lib/python2.5/site-packages/trac/web/main.py", line 387, in dispatch_request
    dispatcher.dispatch(req)
  File "/sage/local/lib/python2.5/site-packages/trac/web/main.py", line 237, in dispatch
    resp = chosen_handler.process_request(req)
  File "/sage/local/lib/python2.5/site-packages/trac/ticket/web_ui.py", line 275, in process_request
    ticket = Ticket(self.env, id, db=db)
  File "/sage/local/lib/python2.5/site-packages/trac/ticket/model.py", line 40, in __init__
    self._fetch_ticket(tkt_id, db)
  File "/sage/local/lib/python2.5/site-packages/trac/ticket/model.py", line 83, in _fetch_ticket
    % ','.join(std_fields), (tkt_id,))
  File "/sage/local/lib/python2.5/site-packages/trac/db/util.py", line 50, in execute
    return self.cursor.execute(sql_escape_percent(sql), args)
  File "/sage/local/lib/python2.5/site-packages/trac/db/sqlite_backend.py", line 56, in execute
    args or [])
  File "/sage/local/lib/python2.5/site-packages/trac/db/sqlite_backend.py", line 48, in _rollback_on_error
    return function(self, *args, **kwargs)
OperationalError: Could not decode to UTF-8 column 'reporter' with text '"�����<�����math.washington.edu>'

If I use the trac-admin tool to try to remove the ticket, the result is:

Trac [/home/helpmessages/help-trac]> ticket remove 280
Failed to open environment. [Errno 2] No such file or directory: '/home/helpmessages/help-trac/VERSION'
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/trac/scripts/admin.py", line 134, in env_open
    self.__env = Environment(self.envname)
  File "/usr/lib/python2.4/site-packages/trac/env.py", line 126, in __init__
    self.verify()
  File "/usr/lib/python2.4/site-packages/trac/env.py", line 174, in verify
    fd = open(os.path.join(self.path, 'VERSION'), 'r')
IOError: [Errno 2] No such file or directory: '/home/helpmessages/help-trac/VERSION'

Attachments (0)

Change History (2)

comment:1 by Tim Hatch, 16 years ago

Description: modified (diff)

First, this sounds like a support issue so please check MailingList or IrcChannel for how to get actual help.

The trac-admin bit should be the right solution, but maybe you have your paths wrong? It also looks like you're using a different Python/Trac install for trac-admin, so make sure that's right. Make sure you're running trac-admin to the right trac env directory (that VERSION file should be there).

comment:2 by Christian Boos, 16 years ago

Resolution: wontfix
Status: newclosed

As Tim said, support issue and trac-admin ticket delete is the way. This should work provided your environment is correct (if it's not, you have a bigger problem than just a corrupt ticket).

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.