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

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.