Edgewall Software
Modify

Opened 12 years ago

Closed 11 years ago

#5591 closed defect (fixed)

Trac can't handle unicode curly quotes

Reported by: Dave Abrahams <dave@…> Owned by: Jonas Borgström
Priority: highest Milestone: not applicable
Component: plugin/spamfilter Version: 0.10-stable
Severity: critical Keywords: unicode
Cc: Branch:
Release Notes:
API Changes:

Description

Trying to submit “this” causes an internal error.

Attachments (0)

Change History (8)

comment:1 by Dave Abrahams <dave@…>, 12 years ago

Well, OK, maybe it can sometimes, but see http://paste.lisp.org/display/43332. I've seen at least one example where removing the curly quotes made the error go away.

comment:2 by Christian Boos, 12 years ago

Component: wikispamfilter
Milestone: not applicable
Owner: changed from Christian Boos to Matthew Good

I confirm the issue which can be triggered when posting a comment with the above content. The corresponding backtrace is:

Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 406, in dispatch_request
    dispatcher.dispatch(req)
  File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 237, in dispatch
    resp = chosen_handler.process_request(req)
  File "/usr/lib/python2.4/site-packages/trac/ticket/web_ui.py", line 290, in process_request
    self._do_save(req, db, ticket)
  File "/usr/lib/python2.4/site-packages/trac/ticket/web_ui.py", line 547, in _do_save
    self._validate_ticket(req, ticket)
  File "/usr/lib/python2.4/site-packages/trac/ticket/web_ui.py", line 77, in _validate_ticket
    for field, message in manipulator.validate_ticket(req, ticket):
  File "build/bdist.linux-x86_64/egg/tracspamfilter/adapters.py", line 67, in validate_ticket
  File "build/bdist.linux-x86_64/egg/tracspamfilter/api.py", line 131, in test
  File "build/bdist.linux-x86_64/egg/tracspamfilter/model.py", line 135, in insert
  File "/usr/lib/python2.4/site-packages/trac/db/util.py", line 50, in execute
    return self.cursor.execute(sql_escape_percent(sql), args)
  File "/usr/lib/python2.4/site-packages/trac/db/util.py", line 50, in execute
    return self.cursor.execute(sql_escape_percent(sql), args)
ProgrammingError: current transaction is aborted, commands ignored until end of transaction block

Looks similar to #4087, so this must be a situation where r5390 was not enough.

comment:3 by Dave Abrahams <dave@…>, 12 years ago

I think a minimal repro may be “{{{x}}}”

comment:4 by Christian Boos, 12 years ago

Keywords: unicode added
Priority: normalhigh
Severity: normalmajor

#5848 and #6049 were closed as duplicates.

comment:5 by Christian Boos, 12 years ago

#5311, #5577 and #5605 as well.

comment:6 by Christian Boos, 11 years ago

Priority: highhighest
Severity: majorcritical

#7187 also - and translation related tickets all contain various complaints of translators getting this problem…

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

Owner: changed from Matthew Good to Jonas Borgström

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

Resolution: fixed
Status: newclosed

Fixed in [6990].

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 as closed 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.