Modify

Opened 12 years ago

Closed 11 years ago

Last modified 11 years ago

#234 closed defect (fixed)

AccountManager LoginModule fails with error "can't set attribute"

Reported by: Russ Brown Owned by: Matt Good
Priority: normal Component: AccountManagerPlugin
Severity: normal Keywords:
Cc: Trac Release: 0.10

Description

When using the LoginModule we get the following error when submitting the login form:

2006-03-22 01:21:32,264 Trac[main] ERROR: can't set attribute
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 283, in dispatch_request
    dispatcher.dispatch(req)
  File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 143, in dispatch
    req.authname = self.authenticate(req)
  File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 126, in authenticate
    authname = authenticator.authenticate(req)
  File "build/bdist.linux-i686/egg/acct_mgr/web_ui.py", line 160, in wrap
  File "build/bdist.linux-i686/egg/acct_mgr/web_ui.py", line 167, in authenticate
AttributeError: can't set attribute

I've had a quick look at the code myself but can't see anything obvious.

Attachments (0)

Change History (4)

comment:1 Changed 12 years ago by Matt Good

Resolution: fixed
Status: newclosed

(In [532]) req.remote_user can't be set as a property after the WSGI merge, so set it in the WSGI req.environ instead (fixes #234)

comment:2 Changed 11 years ago by r@…

Resolution: fixed
Status: closedreopened
Trac Release: 0.10

I have this problem, too; not sure if it's the same cause but it's certainly the same error message and also occurs when logging in. This is with Trac 0.10.

Error message:

Traceback (most recent call last):
  File "/home/robmiller/packages/lib/python2.3/site-packages/trac/web/main.py", line 356, in dispatch_request
    dispatcher.dispatch(req)
  File "/home/robmiller/packages/lib/python2.3/site-packages/trac/web/main.py", line 189, in dispatch
    req.authname = self.authenticate(req)
  File "/home/robmiller/packages/lib/python2.3/site-packages/trac/web/main.py", line 145, in authenticate
    authname = authenticator.authenticate(req)
  File "build/bdist.linux-i686/egg/acct_mgr/web_ui.py", line 172, in wrap
  File "build/bdist.linux-i686/egg/acct_mgr/web_ui.py", line 181, in authenticate
AttributeError: can't set attribute

The only thing I can see is that I'm running Python 2.3 as opposed to 2.4—could that be a problem?

This happens when trying to log in with any user. When trying to register a new account, I get this message:

Traceback (most recent call last):
  File "/home/robmiller/packages/lib/python2.3/site-packages/trac/web/main.py", line 356, in dispatch_request
    dispatcher.dispatch(req)
  File "/home/robmiller/packages/lib/python2.3/site-packages/trac/web/main.py", line 224, in dispatch
    resp = chosen_handler.process_request(req)
  File "build/bdist.linux-i686/egg/acct_mgr/web_ui.py", line 117, in process_request
  File "build/bdist.linux-i686/egg/acct_mgr/web_ui.py", line 150, in _do_create
  File "build/bdist.linux-i686/egg/acct_mgr/api.py", line 88, in set_password
  File "build/bdist.linux-i686/egg/acct_mgr/htfile.py", line 63, in set_password
  File "build/bdist.linux-i686/egg/acct_mgr/htfile.py", line 98, in _update_file
  File "/home/robmiller/packages/lib/python2.3/fileinput.py", line 231, in next
    line = self.readline()
  File "/home/robmiller/packages/lib/python2.3/fileinput.py", line 300, in readline
    os.rename(self._filename, self._backupfilename)
OSError: [Errno 16] Device or resource busy

comment:3 in reply to:  2 Changed 11 years ago by anonymous

Resolution: fixed
Status: reopenedclosed

Replying to r@robm.me.uk:

I have this problem, too; not sure if it's the same cause but it's certainly the same error message and also occurs when logging in. This is with Trac 0.10.

There are two versions of the plugin: one for 0.9 and one for 0.10 and you've installed the 0.9 version. Check the installation instructions and install the 0.10 version instead.

comment:4 Changed 11 years ago by anonymous

Forgive my stupdity—I'm new to Trac—but how do I do this without access to the administration panel?

I've downloaded the "eggs" for WebAdmin and AccountManager, and run "easy_install" on them. I kill my fastcgi process, and now the link to log in is gone.

I poke around my config, and figure I should set the following line to enabled:

trac.web.auth.loginmodule = disabled

Which brings up the Login link, but when I click it I'm hit with the following error:

AssertionError: Authentication information not available.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Matt Good.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.