Edgewall Software
Modify

Opened 10 years ago

Closed 10 years ago

#12078 closed defect (cantfix)

IntegrityError: UNIQUE constraint failed: ticket_change.ticket, ticket_change.time, ticket_change.field

Reported by: glinders@… Owned by:
Priority: normal Milestone:
Component: general Version: 1.0
Severity: normal Keywords:
Cc: Branch:
Release Notes:
API Changes:
Internal Changes:

Description

How to Reproduce

While doing a POST operation on /batchmodify, Trac issued an internal error.

I get this fault when using Batch Modify to change the "Blocking" field. I assume the problem lies within the relation between "Blocking" and "Blocked By".

Request parameters:

{'__FORM_TOKEN': u'9b61781acf6f1236b1837d3d',
 'batchmod_submit': u'Change tickets',
 'batchmod_value_blocking': u'61',
 'batchmod_value_comment': u'',
 'query_href': u'/query?status=closed&col=id&col=summary&col=status&col=type&col=priority&col=milestone&col=component&col=parent&order=priority',
 'selected_tickets': u'1,2,3,4,5'}

User agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0

System Information

Trac 1.0
Babel 0.9.6 (translations unavailable)
Docutils 0.11
Genshi 0.7 (with speedups)
Mercurial 2.8.2
mod_wsgi 3.4 (WSGIProcessGroup WSGIApplicationGroup %{GLOBAL})
Pygments 1.6
pysqlite 2.6.0
Python 2.7.6 (default, Mar 22 2014, 23:03:41)
[GCC 4.8.2]
pytz 2012c
setuptools 0.6
SQLite 3.8.2
jQuery 1.7.2

Enabled Plugins

AdvancedTicketWorkflowPlugin 0.11dev-r9962
InterLinksPlugin 1.4
NavAdd 0.1
TicketCreationStatus 0.1
trac-WorkflowNotificationPlugin 0.4
Tracchildtickets 2.5.0
TracMasterTickets 3.0.2
TracMercurial 1.0.0.3dev
TracProgressMeterMacro 0.3
TracTypedTicketWorkflow 0.2dev
WantedPages 0.4dev

Python Traceback

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/Trac-1.0-py2.7.egg/trac/web/main.py", line 497, in _dispatch_request
    dispatcher.dispatch(req)
  File "/usr/local/lib/python2.7/dist-packages/Trac-1.0-py2.7.egg/trac/web/main.py", line 214, in dispatch
    resp = chosen_handler.process_request(req)
  File "/usr/local/lib/python2.7/dist-packages/Trac-1.0-py2.7.egg/trac/ticket/batch.py", line 63, in process_request
    new_values, comment, action)
  File "/usr/local/lib/python2.7/dist-packages/Trac-1.0-py2.7.egg/trac/ticket/batch.py", line 162, in _save_ticket_changes
    t.save_changes(req.authname, comment, when=when)
  File "/usr/local/lib/python2.7/dist-packages/Trac-1.0-py2.7.egg/trac/ticket/model.py", line 369, in save_changes
    listener.ticket_changed(self, comment, author, old_values)
  File "/usr/local/lib/python2.7/dist-packages/TracMasterTickets-3.0.2-py2.7.egg/mastertickets/api.py", line 111, in ticket_changed
    links.save(author, comment, tkt.time_changed, db)
  File "/usr/local/lib/python2.7/dist-packages/TracMasterTickets-3.0.2-py2.7.egg/mastertickets/model.py", line 72, in save
    (n, when_ts, author, field, old_value, new_value))
  File "/usr/local/lib/python2.7/dist-packages/Trac-1.0-py2.7.egg/trac/db/util.py", line 65, in execute
    return self.cursor.execute(sql_escape_percent(sql), args)
  File "/usr/local/lib/python2.7/dist-packages/Trac-1.0-py2.7.egg/trac/db/sqlite_backend.py", line 78, in execute
    result = PyFormatCursor.execute(self, *args)
  File "/usr/local/lib/python2.7/dist-packages/Trac-1.0-py2.7.egg/trac/db/sqlite_backend.py", line 56, in execute
    args or [])
  File "/usr/local/lib/python2.7/dist-packages/Trac-1.0-py2.7.egg/trac/db/sqlite_backend.py", line 48, in _rollback_on_error
    return function(self, *args, **kwargs)
IntegrityError: UNIQUE constraint failed: ticket_change.ticket, ticket_change.time, ticket_change.field

Attachments (0)

Change History (1)

comment:1 by Ryan J Ollos, 10 years ago

Resolution: cantfix
Status: newclosed

PluginIssue: th:MasterTicketsPlugin.

Side note: th:ProgressMeterMacro isn't needed with Trac 1.0 and later.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The ticket will remain with no owner.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from (none) 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.