id summary reporter owner description type status priority component severity resolution keywords cc release 8511 "After trac update to 0.12.1: duplicate key value violates unique constraint ""forum_pkey""" podskalsky Radek Bartoň "After Trac update to 0.12.1 and !PluginUpdate to 0.7 ... we can't create new entries (New Forum + Add Topic) !!! {{{ ERROR: Trac detected an internal error: IntegrityError: duplicate key value violates unique constraint ""topic_pkey"" }}} WHAT CAN BE WRONG ? {{{ VERSIONS: psql (8.4.5) }}} System Information: {{{ User Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 Trac 0.12.1 Babel 0.9.5 CustomFieldAdmin 0.2.5 Docutils 0.8 FullBlog 0.1.1 Genshi 0.6 mod_wsgi 3.3 (WSGIProcessGroup NexusTest WSGIApplicationGroup %{GLOBAL}) psycopg2 2.3.0-beta1 Pygments 1.3.1 Python 2.6.5 (r265:79063, Jul 14 2010, 11:36:05) [GCC 4.4.4 20100630 (Red Hat 4.4.4-10)] pytz 2010h RPC 1.1.0 setuptools 0.6 SilverCity 0.9.7 Subversion 1.6.11 (r934486) jQuery 1.4.2 Enabled Plugins: AdvancedTicketWorkflowPlugin 0.10dev /usr/lib/python2.6/site-packages/AdvancedTicketWorkflowPlugin-0.10dev-py2.6.egg DocumentGeneratorPlugin 0.2.8 /usr/lib/python2.6/site-packages/DocumentGeneratorPlugin-0.2.8-py2.6.egg graphviz 0.7.5 /usr/lib/python2.6/site-packages/graphviz-0.7.5-py2.6.egg HudsonTrac 0.4 /usr/lib/python2.6/site-packages/HudsonTrac-0.4-py2.6.egg LittleMary 1.0 /usr/lib/python2.6/site-packages/LittleMary-1.0-py2.6.egg MultipleWorkflowPlugin 1.0 /usr/lib/python2.6/site-packages/MultipleWorkflowPlugin-1.0-py2.6.egg NavAdd 0.1 /usr/lib/python2.6/site-packages/NavAdd-0.1-py2.6.egg nexus-commit-updater N/A /data/projects/NexusTest/trac/plugins/nexus_commit_updater.pyc OnTracIniManager 0.2.1 /usr/lib/python2.6/site-packages/OnTracIniManager-0.2.1-py2.6.egg OnTracSVNAccessControl 0.1 /usr/lib/python2.6/site-packages/OnTracSVNAccessControl-0.1-py2.6.egg OnTracTheme 1.0 /usr/lib/python2.6/site-packages/OnTracTheme-1.0-py2.6.egg OnTracTicketFieldFilter 0.1 /usr/lib/python2.6/site-packages/OnTracTicketFieldFilter-0.1-py2.6.egg OnTracTicketValiator 0.1 /usr/lib/python2.6/site-packages/OnTracTicketValiator-0.1-py2.6.egg OnTracUserManager 0.3 /usr/lib/python2.6/site-packages/OnTracUserManager-0.3-py2.6.egg ServerControl 0.3 /usr/lib/python2.6/site-packages/ServerControl-0.3-py2.6.egg SVN-URLs 0.6 /usr/lib/python2.6/site-packages/SVN_URLs-0.6-py2.6.egg ticket-clone Rev /data/projects/NexusTest/trac/plugins/ticket_clone.pyc TicketCreationStatus 0.1 /usr/lib/python2.6/site-packages/TicketCreationStatus-0.1-py2.6.egg TracAutoWikify 0.1 /usr/lib/python2.6/site-packages/TracAutoWikify-0.1-py2.6.egg TracCustomFieldAdmin 0.2.5 /usr/lib/python2.6/site-packages/TracCustomFieldAdmin-0.2.5-py2.6.egg TracDiscussion 0.7 /usr/lib/python2.6/site-packages/TracDiscussion-0.7-py2.6.egg TracFullBlogPlugin 0.1.1 /usr/lib/python2.6/site-packages/TracFullBlogPlugin-0.1.1-py2.6.egg TracNav 4.1 /usr/lib/python2.6/site-packages/TracNav-4.1-py2.6.egg TracPrivateTickets 2.0.2 /usr/lib/python2.6/site-packages/TracPrivateTickets-2.0.2-py2.6.egg TracSVNAuthz 0.11.1.1 /usr/lib/python2.6/site-packages/TracSVNAuthz-0.11.1.1-py2.6.egg TracTags 0.7dev /usr/lib/python2.6/site-packages/TracTags-0.7dev-py2.6.egg TracThemeEngine 2.0.1 /usr/lib/python2.6/site-packages/TracThemeEngine-2.0.1-py2.6.egg TracTocMacro 11.0.0.3 /usr/lib/python2.6/site-packages/TracTocMacro-11.0.0.3-py2.6.egg TracVirtualTicketPermissions 1.0.0 /usr/lib/python2.6/site-packages/TracVirtualTicketPermissions-1.0.0-py2.6.egg TracWikiRename 2.1.1 /usr/lib/python2.6/site-packages/TracWikiRename-2.1.1-py2.6.egg TracWysiwyg 0.12.0.3 /usr/lib/python2.6/site-packages/TracWysiwyg-0.12.0.3-py2.6.egg TracXMLRPC 1.1.0 /usr/lib/python2.6/site-packages/TracXMLRPC-1.1.0-py2.6.egg WikiEditLock 0.2 /usr/lib/python2.6/site-packages/WikiEditLock-0.2-py2.6.egg WikiTableMacro 0.1 /usr/lib/python2.6/site-packages/WikiTableMacro-0.1-py2.6.egg }}} {{{ OUTPUT: # File ""/usr/lib/python2.6/site-packages/Trac-0.12.1-py2.6.egg/trac/web/main.py"", line 511, in _dispatch_request Code fragment: Line 506 try: 507 if not env and env_error: 508 raise HTTPInternalError(env_error) 509 try: 510 dispatcher = RequestDispatcher(env) 511 dispatcher.dispatch(req) 512 except RequestDone: 513 pass 514 resp = req._response or [] 515 516 except HTTPException, e: Local variables: Name Value dispatcher e IntegrityError('duplicate key value violates unique constraint ... env env_error None req resp [] # File ""/usr/lib/python2.6/site-packages/Trac-0.12.1-py2.6.egg/trac/web/main.py"", line 237, in dispatch Code fragment: Line 232 msg = _('Do you have cookies enabled?') 233 raise HTTPBadRequest(_('Missing or invalid form token.' 234 ' %(msg)s', msg=msg)) 235 236 # Process the request and render the template 237 resp = chosen_handler.process_request(req) 238 if resp: 239 if len(resp) == 2: # Clearsilver 240 chrome.populate_hdf(req) 241 template, content_type = \ 242 self._post_process_request(req, *resp) Local variables: Name Value chosen_handler chrome ctype 'application/x-www-form-urlencoded' err (, IntegrityError('duplicate key value ... handler options {} req self # File ""/usr/lib/python2.6/site-packages/TracDiscussion-0.7-py2.6.egg/tracdiscussion/core.py"", line 111, in process_request Code fragment: Line 106 Mimeview(self.env).send_converted(req, 'tracdiscussion.forum', 107 context.resource, req.args.get('format'), filename = None) 108 109 # Process request and return content. 110 api = self.env[DiscussionApi] 111 template, data = api.process_discussion(context) 112 113 if context.redirect_url: 114 # Redirect if needed. 115 href = req.href(context.redirect_url[0]) + context.redirect_url[1] 116 self.log.debug(_(""Redirecting to %s"") % (href)) Local variables: Name Value api context > req self # File ""/usr/lib/python2.6/site-packages/TracDiscussion-0.7-py2.6.egg/tracdiscussion/api.py"", line 245, in process_discussion Code fragment: Line 240 or '{}') 241 context.visited_topics = eval(context.req.session.get('visited-topics') 242 or '{}') 243 244 # Perform actions. 245 self._do_actions(context, actions) 246 247 # Update session data. 248 context.req.session['visited-topics'] = to_unicode(context.visited_topics) 249 context.req.session['visited-forums'] = to_unicode(context.visited_forums) 250 Local variables: Name Value actions ['topic-post-add'] context > db self # File ""/usr/lib/python2.6/site-packages/TracDiscussion-0.7-py2.6.egg/tracdiscussion/api.py"", line 960, in _do_actions Code fragment: Line 955 topic = topic_or_error 956 else: 957 raise TracError(topic_or_error) 958 959 # Add new topic. 960 self.add_topic(context, topic) 961 962 # Get inserted topic with new ID. 963 context.topic = self.get_topic_by_time(context, topic['time']) 964 965 # Notify change listeners. Local variables: Name Value action 'topic-post-add' actions ['topic-post-add'] context > self topic {'body': u'Enter youadadadr message here...', 'forum': 4, 'author': ... # File ""/usr/lib/python2.6/site-packages/TracDiscussion-0.7-py2.6.egg/tracdiscussion/api.py"", line 1745, in add_topic Code fragment: Line 1740 tmp_topic = deepcopy(topic) 1741 1742 # Pack subscribers field. 1743 tmp_topic['subscribers'] = ' '.join(tmp_topic['subscribers']) 1744 1745 self._add_item(context, 'topic', tmp_topic) 1746 1747 def add_message(self, context, message): 1748 self._add_item(context, 'message', message) 1749 1750 # Delete items functions. Local variables: Name Value context > self tmp_topic {'body': u'Enter youadadadr message here...', 'forum': 4, 'author': ... topic {'body': u'Enter youadadadr message here...', 'forum': 4, 'author': ... # File ""/usr/lib/python2.6/site-packages/TracDiscussion-0.7-py2.6.egg/tracdiscussion/api.py"", line 1724, in _add_item Code fragment: Line 1719 'values' : ', '.join([""%s"" for I in range(len(values))])} 1720 sql = (""INSERT INTO %(table)s "" 1721 ""(%(fields)s) "" 1722 ""VALUES (%(values)s)"" % (sql_values)) 1723 self.log.debug(sql % values) 1724 context.cursor.execute(sql, values) 1725 1726 def add_group(self, context, group): 1727 self._add_item(context, 'forum_group', group) 1728 1729 def add_forum(self, context, forum): Local variables: Name Value I 5 context > fields ('body', 'forum', 'author', 'subscribers', 'time', 'subject') item {'body': u'Enter youadadadr message here...', 'forum': 4, 'author': ... self sql 'INSERT INTO topic (body, forum, author, subscribers, time, subject) ... sql_values {'table': 'topic', 'values': '%s, %s, %s, %s, %s, %s', 'fields': 'body, ... table 'topic' values (u'Enter youadadadr message here...', 4, u'AndreasPodskalsky', '', ... # File ""/usr/lib/python2.6/site-packages/Trac-0.12.1-py2.6.egg/trac/db/util.py"", line 65, in execute }}}" defect closed highest DiscussionPlugin blocker fixed 0.12