LdapUserMapping gets stuck when viewing topic whose author has been removed

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

LdapUserMapping gets stuck when viewing topic whose author has been removed

Alan
In my Foswiki installation, if I remove a user account that has
created a topic, any new view on this topic will trigger an infinite
recursion in Foswiki, until the process runs out of memory.

It looks like LdapUserMapping is stuck in a cycle, trying to find the
author's information::

LdapUserMapping userExists()
LdapContrib getWikiNameOfLogin()
LdapUserMapping getLoginName()
LdapContrib getWikiNameOfLogin()
LdapUserMapping handlesUser()
LdapUserMapping userExists()
...

If I manually replace the author with an existent account, the problem is gone.

I noticed this also happens when the user account's case doesn't match
the one stored in the topic.

Eg:
topic author = someUsEr
user account = someuser

Even when using $Foswiki::cfg{Ldap}{CaseSensitiveLogin} = 0;

------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
Foswiki-discuss mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/foswiki-discuss
Reply | Threaded
Open this post in threaded view
|

Re: LdapUserMapping gets stuck when viewing topic whose author has been removed

Michael Daum-2
On Monday, 21. April 2014 09:56:23 Alan wrote:

> In my Foswiki installation, if I remove a user account that has
> created a topic, any new view on this topic will trigger an infinite
> recursion in Foswiki, until the process runs out of memory.
>
> It looks like LdapUserMapping is stuck in a cycle, trying to find the
> author's information::
>
> LdapUserMapping userExists()
> LdapContrib getWikiNameOfLogin()
> LdapUserMapping getLoginName()
> LdapContrib getWikiNameOfLogin()
> LdapUserMapping handlesUser()
> LdapUserMapping userExists()

This is a bug, either in the core or in LdapContrib. Not sure yet how
to resolve this.

For now you will need to set

$Foswiki::cfg{Register}{AllowLoginName} = 1;

Michael.

--
-- Michael Daum Consulting
-- Wissensmanagement und Intranet-Technologie
-- http://michaeldaumconsulting.com
-- Tel: +49 (0)40 21 99 27 51

------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
Foswiki-discuss mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/foswiki-discuss
Reply | Threaded
Open this post in threaded view
|

Re: LdapUserMapping gets stuck when viewing topic whose author has been removed

Alan
On Mon, Apr 21, 2014 at 4:58 PM, Michael Daum
<[hidden email]> wrote:

> On Monday, 21. April 2014 09:56:23 Alan wrote:
>> In my Foswiki installation, if I remove a user account that has
>> created a topic, any new view on this topic will trigger an infinite
>> recursion in Foswiki, until the process runs out of memory.
>>
>> It looks like LdapUserMapping is stuck in a cycle, trying to find the
>> author's information::
>>
>> LdapUserMapping userExists()
>> LdapContrib getWikiNameOfLogin()
>> LdapUserMapping getLoginName()
>> LdapContrib getWikiNameOfLogin()
>> LdapUserMapping handlesUser()
>> LdapUserMapping userExists()
>
> This is a bug, either in the core or in LdapContrib. Not sure yet how
> to resolve this.
>
> For now you will need to set
>
> $Foswiki::cfg{Register}{AllowLoginName} = 1;

Thanks, but I get the same results with this setting.

Maybe some logic is missing to end the recursion, but since I'm not
familiar with the code, its hard for me to find it.

I can add debug prints to the beginning of every function in Users.pm,
UserMapping.pm, LdapUserMapping.pm and LdapContrib.pm to see what is
going on here, kind of a "live" backtrace.

Or if you can reproduce this bug, I think you can find the problem
much faster than this way.

Thanks.

Alan

------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
Foswiki-discuss mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/foswiki-discuss