#494 closed defect (wontfix)

IntegrityError: columns sid, authenticated, name are not unique

Reported by: j.vogt Owned by: MickeM
Priority: 1 Milestone:
Component: Trac (web-site) Version: 0.3.9
Severity: Bugs Keywords:
Cc:

Description

To Reproduce

Click on "ask a question". Trac error shows.

Zum Reproduzieren

Während der Ausführung von GET auf /discussion/ hat Trac einen internen Fehler gemeldet.

Anfrageparameter:

{}

User agent: #USER_AGENT#

Systeminformationen

Systeminformation nicht verfügbar

Aktive Plugins

Plugininformation nicht verfügbar

Python-Zurückverfolgungsinformationen

Traceback (most recent call last):
  File "build/bdist.linux-x86_64/egg/trac/web/main.py", line 511, in _dispatch_request
    dispatcher.dispatch(req)
  File "build/bdist.linux-x86_64/egg/trac/web/main.py", line 260, in dispatch
    req.session.save()
  File "build/bdist.linux-x86_64/egg/trac/web/session.py", line 105, in save
    @self.env.with_transaction()
  File "build/bdist.linux-x86_64/egg/trac/db/api.py", line 77, in transaction_wrapper
    fn(ldb)
  File "build/bdist.linux-x86_64/egg/trac/web/session.py", line 146, in save_session
    """, [(self.sid, authenticated, k, v) for k, v in items])
  File "build/bdist.linux-x86_64/egg/trac/db/util.py", line 85, in executemany
    return self.cursor.executemany(sql_escape_percent(sql), args)
  File "build/bdist.linux-x86_64/egg/trac/db/sqlite_backend.py", line 62, in executemany
    args)
  File "build/bdist.linux-x86_64/egg/trac/db/sqlite_backend.py", line 48, in _rollback_on_error
    return function(self, *args, **kwargs)
IntegrityError: columns sid, authenticated, name are not unique

Change History (1)

comment:1 Changed 16 months ago by mickem

  • Component changed from Core to Trac (web-site)
  • Resolution set to wontfix
  • Status changed from new to closed

Unfortunately this seems to be related to various design issues inside trac, seems someone doesn't understand multi threaded programming and the entire session processing is prone to race conditions which ends up corrupting the database...

Note: See TracTickets for help on using tickets.