Problems with account manager plugin

46 views
Skip to first unread message

Chris Forsythe

unread,
Mar 20, 2007, 8:18:34 PM3/20/07
to trac-...@googlegroups.com
Hi folks,

Let me know if this is the wrong place to post this.

With Adium's trac we have a problem regarding the account manager plugin. Basically folks are unable to register, and get a "RuntimeError: input() already active" error message when doing so. Enough people are doing this to annoy the folks monitoring the edgewall trac install [1], I can only offer my apologies regarding that.

The issue first started up well over a month ago. I spoke to Noah regarding this issue. He then created a patch for it (http://adiumx.com/htfile.patch). This patch worked for a few days, and then stopped. I have absolutely no idea as to how that would even be possible, since nothing else changed (I sound like one of my customers). I redownloaded the source to account manager, reapplied the patch and that didn't change a thing.

I've enabled logging from trac's end and found nothing that would be of any help to me, but I'm more than happy to try to get debug logs if anyone needs anything like that.


I would file this on the trac-hacks site, but I'm not sure that it's not just a configuration issue. Noah has said to go to the python developers with this, which I'm fine with, but I want to run this by trac folks on a more broad scale than him, which is you guys, in case someone else has ran into this. 

I've posted what I know would be beneficial below. If you folks need any other info, I'm more than happy to provide it.


Thanks in advance,
Chris Forsythe


Software versions:
trac - 0.10.3
python 2.4.3


Plugins:
TracTicketDelete-1.1.4-py2.4.egg - I cannot get this to work by the way.
TracWebAdmin-0.1.2dev_r4429-py2.4.egg
setuptools-0.6c5-py2.4.egg
TracAccountManager-0.1.3dev-py2.4.egg
IniAdmin-0.1-py2.4.egg
TracSimpleTicket-1.1.3-py2.4.egg - This plugin is a blessing :)



[1]

solo turn

unread,
Mar 20, 2007, 8:40:34 PM3/20/07
to trac-...@googlegroups.com
maybe its http://trac-hacks.org/ticket/1113?

try to look into the database:
http://www.sqlite.org/sqlite.html

there are the tables session and session_details. are there any rows in it?

Chris Forsythe

unread,
Mar 20, 2007, 8:57:21 PM3/20/07
to trac-...@googlegroups.com
Hrmm.. I dunno:

1) Happens with all new users, not just deleted and recreated.

2) We're using postgresql

3) There's a session table with a bunch of sessions in them. "select
count(*) from session;" returns 46599

4) No session_details table:

I hope that helps, thanks for the quick reply!

Chris

Chris Forsythe

unread,
Mar 20, 2007, 9:01:32 PM3/20/07
to trac-...@googlegroups.com
Oh wait, maybe that has something to do with the simple ticket and
authenticated permissions. I'll check it out.

Chris

Chris Forsythe

unread,
Mar 20, 2007, 9:40:43 PM3/20/07
to trac-...@googlegroups.com
Negative, none of these changed anything:

1) Tried removing all permissions from anonymous.

2) Tried removing all permissions from authenticated.

3) Tried removing a slew of permutations as such.

4) Tried giving the different accounts direct permissions rather than
the virtual permissions of readonly_access


Here are the applicable permissions:

User Action
-------------------------------------

anonymous readonly_access
authenticated TICKET_APPEND
authenticated TICKET_CHGPROP
authenticated TICKET_CREATE_SIMPLE

readonly_access BROWSER_VIEW
readonly_access CHANGESET_VIEW
readonly_access FILE_VIEW
readonly_access LOG_VIEW
readonly_access MILESTONE_VIEW
readonly_access REPORT_SQL_VIEW
readonly_access REPORT_VIEW
readonly_access ROADMAP_VIEW
readonly_access SEARCH_VIEW
readonly_access TICKET_VIEW
readonly_access TIMELINE_VIEW
readonly_access WIKI_VIEW

Matt Good

unread,
Mar 21, 2007, 3:45:18 AM3/21/07
to Trac Users
On Mar 20, 8:18 pm, Chris Forsythe <c...@growl.info> wrote:
> With Adium's trac we have a problem regarding the account manager
> plugin. Basically folks are unable to register, and get a
> "RuntimeError: input() already active" error message when doing so.
> Enough people are doing this to annoy the folks monitoring the
> edgewall trac install [1], I can only offer my apologies regarding that.

This is a limitation of the AccountManager plugin. If two users are
trying to register simultaneously it will cause this error since the
fileinput module detects that it's already trying to write to the
file. A synchronization method would help here, but you've probably
got too many users to practically support an htpasswd file. The
frequent user registrations make a collision more likely and the file
will take longer to write as it grows in size, so that's also going to
contribute to the problem. I've just started on a backend to store
passwords in the database which will be better for sites with many
users. It should be able to handle passwords in the htpasswd or
htdigest formats so that either of these can be imported into the
database.

-- Matt Good

Chris Forsythe

unread,
Mar 21, 2007, 8:18:01 AM3/21/07
to trac-...@googlegroups.com
Matt Good wrote:

I'll test this tonight by pointing account manager at a blank file and
will let you know the results. This definitely makes sense to me though,
thanks for the detailed explanation.

Chris

Chris Forsythe

unread,
Mar 22, 2007, 5:53:56 PM3/22/07
to trac-...@googlegroups.com

So I just tested this. I changed the file to an empty file in
trac.ini and then restarted lightty. Upon trying to register, I'm
seeing the same problem.

Chris

Matt Good

unread,
Mar 24, 2007, 8:11:25 PM3/24/07
to Trac Users
On Mar 22, 5:53 pm, Chris Forsythe <c...@growl.info> wrote:
> So I just tested this. I changed the file to an empty file in trac.ini and then restarted lightty. Upon trying to register, I'm
> seeing the same problem.

Well, the file-based storage obviously has serious limitations on
large sites. I've just committed a new SessionStore which stores user
passwords in the session_attributes table. By default it will store
passwords in htdigest format, but it can also be used with htpasswd
format by setting "hash_method = HtPasswdHashMethod" in trac.ini.

I've added a script to the source in "contrib/sessionstore_convert.py"
to move existing user passwords into the database. Call it like
"python sessionstore_convert.py myproject". It will check the config
for the current password file and format used and add the users to the
database, make the necessary changes to the config and save it. You
may need to enable the components if you don't have "acct_mgr.* =
enabled" in your config. I've tested it out a bit, but it's brand new
so if you experience any problems please report them on the trac-hacks
site.

-- Matt Good

solo turn

unread,
Mar 28, 2007, 3:41:06 AM3/28/07
to trac-...@googlegroups.com

how does this help to access the subversion repository? via trac, we
tried to get "web based administration of trac/svn permissions".

-solo

Noah Kantrowitz

unread,
Mar 28, 2007, 5:30:32 AM3/28/07
to trac-...@googlegroups.com
You can use mod_auth_acctmgr (available on trac-hacks).

--Noah

Reply all
Reply to author
Forward
0 new messages