#721: Crash when clicking on username
-----------------------+--------------------
Reporter: joat | Owner: nobody
Type: defect | Status: new
Priority: major | Milestone:
Component: trac core | Version: 0.7.0
Keywords: |
-----------------------+--------------------
When on a ticket, clicking on a username (after Reported by:, Owned by:,
whatever) crashes with:
{{{
Trac detected an internal error:
ProgrammingError: column t.product does not exist LINE 1: ...ECT COUNT(*)
FROM (SELECT DISTINCT * FROM (SELECT t.product ... ^
}}}
debug_sql doesn't log the statement in this case so I extracted it from PG
logs:
{{{
SELECT COUNT(*) FROM (SELECT DISTINCT * FROM (SELECT t.product AS
product,t.id AS id,t.summary AS summary,t.status AS status,t.owner AS
owner,t.type AS type,t.priority AS priority,t.milestone AS
milestone,t.time AS time,t.changetime AS changetime,t.reporter AS
reporter,priority.value AS priority_value
FROM ticket AS t
LEFT OUTER JOIN enum AS priority ON (priority.type='priority'
AND priority.name=priority)
WHERE ((COALESCE(t.status,'')!=E'closed') AND
(COALESCE(t.reporter,'')=E'chrusch'))
ORDER BY COALESCE(priority.value,'')='',CAST(priority.value AS
int),t.id) AS subquery) AS x
}}}
Python traceback:
{{{
File "/usr/local/bloodhound/trac/trac/web/main.py", line 477, in
_dispatch_request
dispatcher.dispatch(req)
File "/usr/local/bloodhound/trac/trac/web/main.py", line 214, in dispatch
resp = chosen_handler.process_request(req)
File "/usr/local/bloodhound/trac/trac/ticket/query.py", line 968, in
process_request
return self.display_html(req, query)
File "/usr/local/bloodhound/trac/trac/ticket/query.py", line 1066, in
display_html
tickets = query.execute(req)
File
"/usr/local/bloodhound/bloodhound_multiproduct/multiproduct/ticket/query.py",
line 103, in execute
self.num_items = self._count(sql, args)
File
"/usr/local/bloodhound/bloodhound_multiproduct/multiproduct/ticket/query.py",
line 61, in _count
% sql, args)[0][0]
File
"/usr/local/bloodhound/bloodhound_multiproduct/multiproduct/dbcursor.py",
line 185, in __call__
return self.db_context(*args, **kwargs)
File "/usr/local/bloodhound/trac/trac/db/api.py", line 122, in execute
return db.execute(query, params)
File "/usr/local/bloodhound/trac/trac/db/util.py", line 121, in execute
cursor.execute(query, params)
File
"/usr/local/bloodhound/bloodhound_multiproduct/multiproduct/dbcursor.py",
line 85, in execute
return super(BloodhoundIterableCursor,
self).execute(translate_sql(self.env, sql), args=args)
File "/usr/local/bloodhound/trac/trac/db/util.py", line 54, in execute
r = self.cursor.execute(sql_escape_percent(sql), args)
}}}
System Information:
User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/31.0.1650.57 Safari/537.36
Babel 0.9.6
Genshi 0.6.1 (without speedups)
GIT 1.7.1
mod_wsgi 3.2 (WSGIProcessGroup bh_tracker WSGIApplicationGroup
%{GLOBAL})
psycopg2 2.0.14
Pygments 1.6
jQuery 1.7.2
t refers to the ticket table and in my database the column "product"
indeed doesn't exist:
{{{
bloodhound=# \d ticket
Table "public.ticket"
Column | Type | Modifiers
-------------+---------+-----------------------------------------------------
id | integer | not null default
nextval('ticket_id_seq'::regclass)
type | text |
time | bigint |
changetime | bigint |
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 |
}}}
--
Ticket URL: <https://issues.apache.org/bloodhound/ticket/721>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker