Opened 16 years ago
Closed 16 years ago
#8719 closed defect (worksforme)
Unable to create new tickets with postgresql
| Reported by: | Owned by: | ||
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | ticket system | Version: | 0.11.5 |
| Severity: | normal | Keywords: | |
| Cc: | Branch: | ||
| Release Notes: | |||
| API Changes: | |||
| Internal Changes: | |||
Description
When creating a new ticket using postgresql the following errors occur:
2009-10-04 07:35:45,435 Trac[main] ERROR: Exception caught while post-processing request:
Traceback (most recent call last):
File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/web/main.py", line 238, in dispatch
self._post_process_request(req)
File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/web/main.py", line 310, in _post_process_request
f.post_process_request(req, *(None,)*extra_arg_count)
File "build/bdist.linux-x86_64/egg/acct_mgr/web_ui.py", line 206, in post_process_request
if req.session.get('force_change_passwd', False):
File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/web/api.py", line 195, in __getattr__
value = self.callbacks[name](self)
File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/web/main.py", line 264, in _get_session
return Session(self.env, req)
File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/web/session.py", line 157, in __init__
self.get_session(req.authname, authenticated=True)
File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/web/session.py", line 173, in get_session
super(Session, self).get_session(sid, authenticated)
File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/web/session.py", line 56, in get_session
(sid, int(authenticated)))
File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/db/util.py", line 59, in execute
return self.cursor.execute(sql_escape_percent(sql), args)
File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/db/util.py", line 59, in execute
return self.cursor.execute(sql_escape_percent(sql), args)
InternalError: current transaction is aborted, commands ignored until end of transaction block
InternalError: current transaction is aborted, commands ignored until end of transaction block
2009-10-04 07:35:45,435 Trac[main] ERROR: Internal Server Error:
Traceback (most recent call last):
File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/web/main.py", line 444, in _dispatch_request
dispatcher.dispatch(req)
File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/web/main.py", line 205, in dispatch
resp = chosen_handler.process_request(req)
File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/ticket/web_ui.py", line 183, in process_request
return self._process_newticket_request(req)
File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/ticket/web_ui.py", line 394, in _process_newticket_request
self._do_create(req, ticket) # (redirected if successful)
File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/ticket/web_ui.py", line 981, in _do_create
ticket.insert()
File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/ticket/model.py", line 195, in insert
[self[name] for name in std_fields] + [created, changed])
File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/db/util.py", line 59, in execute
return self.cursor.execute(sql_escape_percent(sql), args)
File "/usr/local/lib/python2.6/dist-packages/Trac-0.11.5-py2.6.egg/trac/db/util.py", line 59, in execute
return self.cursor.execute(sql_escape_percent(sql), args)
IntegrityError: null value in column "id" violates not-null constraint
IntegrityError: null value in column "id" violates not-null constraint
Attachments (0)
Change History (5)
comment:1 by , 16 years ago
comment:2 by , 16 years ago
I suspect that the DB schema is wrong (id sequence missing). Did you convert the environment from sqlite → postgres? Please list the tables/sequences in your psql db ('\d').
The AccountManager stuff is expected if a broken transaction goes into the pool (e.g. after a previous IntegrityError).
comment:3 by , 16 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
Yeah, it was something weird with the DB schema. I recreated the DB from trac-admin and the ticket table schema changed.
Before:
trac_bkup=# \d
public | attachment | table | tracuser
public | auth_cookie | table | tracuser
public | component | table | tracuser
public | enum | table | tracuser
public | milestone | table | tracuser
public | node_change | table | tracuser
public | permission | table | tracuser
public | report | table | tracuser
public | revision | table | tracuser
public | session | table | tracuser
public | session_attribute | table | tracuser
public | system | table | tracuser
public | ticket | table | tracuser
public | ticket_change | table | tracuser
public | ticket_custom | table | tracuser
public | version | table | tracuser
public | wiki | table | tracuser
trac_bkup=# \d ticket
Table "public.ticket"
Column | Type | Modifiers
-------------+---------+-----------
id | integer | not null
type | text |
time | integer |
changetime | integer |
component | text |
severity | text |
priority | text |
owner | text |
reporter | text |
cc | text |
version | text |
milestone | text |
status | text |
resolution | text |
summary | text |
description | text |
keywords | text |
This was an upgrade from another Trac 0.11 installation with postgres that was moved from another server. I performed a pg_dump of the database and "psql db < db.sql" to import the data then ran "trac-admin trac update" to pull my old data over. Looks like the schema wasn't completely updated.
comment:4 by , 16 years ago
| Resolution: | fixed |
|---|---|
| Status: | closed → reopened |
The "fixed" resolution is for tickets where something was actually done in the code. This is rather a "worksforme". But thanks for the feedback.
comment:5 by , 16 years ago
| Resolution: | → worksforme |
|---|---|
| Status: | reopened → closed |



Looks like a PluginIssue (AccountManagerPlugin), but not really, as it's in the session management code. No idea what's happening.