Opened 16 years ago

Last modified 16 years ago

#2885 closed defect

AccountManager Registration Aborts all transactions — at Initial Version

Reported by: Robert M. Zigweid Owned by: Matt Good
Priority: normal Component: AccountManagerPlugin
Severity: blocker Keywords: registration
Cc: Trac Release: 0.11

Description

I'm trying to set up trac initially and using the AccountManager Plugin to handle my authentication. Snip from trac.ini

[components] acct_mgr.* = enabled trac.web.auth.loginmodule = disabled webadmin.* = enabled

[account-manager] hash_method = HtDigestHashMethod password_store = SessionStore

When submitting the form to register user 'test' I logged the following statements from Postgres.

LOG: statement: SET DATESTYLE TO 'ISO' LOG: statement: SHOW client_encoding LOG: statement: SHOW default_transaction_isolation LOG: statement: SET client_encoding = 'UNICODE' LOG: statement: BEGIN; SET TRANSACTION ISOLATION LEVEL READ COMMITTED LOG: statement: SELECT value FROM system WHERE name='database_version' LOG: statement: ABORT LOG: statement: BEGIN; SET TRANSACTION ISOLATION LEVEL READ COMMITTED LOG: statement: SELECT * FROM session_attribute WHERE authenticated=1 AND name='password' AND sid='test' LOG: statement: ABORT LOG: statement: BEGIN; SET TRANSACTION ISOLATION LEVEL READ COMMITTED LOG: statement: SELECT username,action FROM permission LOG: statement: ABORT LOG: statement: BEGIN; SET TRANSACTION ISOLATION LEVEL READ COMMITTED LOG: statement: SELECT username,action FROM permission LOG: statement: ABORT LOG: statement: BEGIN; SET TRANSACTION ISOLATION LEVEL READ COMMITTED LOG: statement: UPDATE session_attribute SET value=':14d2f8f05e52ae70a58d8e2dd916bbbe' WHERE authenticated=1 AND name='password' AND sid='test' LOG: statement: INSERT INTO session_attribute (sid,authenticated,name,value) VALUES ('test',1,'password',':14d2f8f05e52ae70a58d8e2dd916bbbe') LOG: statement: ABORT LOG: statement: BEGIN; SET TRANSACTION ISOLATION LEVEL READ COMMITTED LOG: statement: SELECT count(*) FROM session WHERE sid='test' AND authenticated=1 LOG: statement: END LOG: statement: BEGIN; SET TRANSACTION ISOLATION LEVEL READ COMMITTED LOG: statement: SELECT last_visit FROM session WHERE sid='c65b0b1ed8ad25d555b4d2ec' AND authenticated=0 LOG: statement: ABORT LOG: statement: BEGIN; SET TRANSACTION ISOLATION LEVEL READ COMMITTED LOG: statement: SELECT username,action FROM permission LOG: statement: ABORT LOG: statement: BEGIN; SET TRANSACTION ISOLATION LEVEL READ COMMITTED LOG: statement: SELECT last_visit FROM session WHERE sid='c65b0b1ed8ad25d555b4d2ec' AND authenticated=0 LOG: statement: ABORT

Needless to say, the account is not getting created. Why are all the transactions being aborted? Issuing the statements (in particular the INSERT) is successful when doing it from the psql tool logged in as the trac user.

I'm fully prepared to admit the problem exists between keyboard and chair, but I'm not sure what I've done wrong here.

Trac is 0.11b1 AccountManager is from the trunk about April 7 08 PostgreSQL 8.2.7

Change History (0)

Note: See TracTickets for help on using tickets.