Edgewall Software

Ticket #5591 (closed defect: fixed)

Opened 19 months ago

Last modified 8 months ago

Trac can't handle unicode curly quotes

Reported by: Dave Abrahams <dave@…> Owned by: jonas
Priority: highest Milestone: not applicable
Component: plugin/spamfilter Version: 0.10-stable
Severity: critical Keywords: unicode
Cc:

Description

Trying to submit “this” causes an internal error.

Attachments

Change History

Changed 19 months ago by Dave Abrahams <dave@…>

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.

Changed 19 months ago by cboos

  • owner changed from cboos to mgood
  • component changed from wiki to spamfilter
  • milestone set to not applicable

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.

Changed 18 months ago by Dave Abrahams <dave@…>

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

Changed 14 months ago by cboos

  • keywords unicode added
  • priority changed from normal to high
  • severity changed from normal to major

#5848 and #6049 were closed as duplicates.

Changed 14 months ago by cboos

... #5311, #5577 and #5605 as well.

Changed 8 months ago by cboos

  • priority changed from high to highest
  • severity changed from major to critical

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

Changed 8 months ago by jonas

  • owner changed from mgood to jonas

Changed 8 months ago by jonas

  • status changed from new to closed
  • resolution set to fixed

Fixed in [6990].

Add/Change #5591 (Trac can't handle unicode curly quotes)

Author



Change Properties
<Author field>
Action
as closed
Next status will be 'reopened'
to The owner will change from jonas. Next status will be 'closed'
 
Note: See TracTickets for help on using tickets.