[Kolab-devel] Upgrade report 3.1 to 3.2 on Debian Wheezy

Jeroen van Meeuwen (Kolab Systems) vanmeeuwen at kolabsys.com
Sun Feb 16 02:36:24 CET 2014


On 2014-02-16 00:52, Paul Boddie wrote:
> On Saturday 15. February 2014 20.56.01 Paul Boddie wrote:
>> On Saturday 15. February 2014 19.27.52 Tobias Brunner wrote:
>> > I was brave enough to upgrade from 3.1 to 3.2 on Debian Wheezy. Here is
>> > my experience:
>> >
>> > kolabd 100% CPU
>> > ---------------
>> > Since the upgrade the process "/usr/bin/python /usr/sbin/kolabd -l
>> > warning --fork --user kolab --pid-file /run/kolabd/kolabd.pid" is
>> > running with 100% CPU. Could not find a log giving hints on what's going
>> > wrong. strace does also not give any usable hints.
>> 
>> This sounds somewhat familiar. Since kolabd's job is to synchronise 
>> the
>> IMAP and LDAP components, if I remember correctly, any failure with 
>> either
>> of those may cause kolabd to "busy loop". I seem to remember this
>> happening a few months ago before I managed to get the configuration
>> sorted out.
> 
> Well, I was sort of correct here, but the actual cause surprised me 
> somewhat:
> 
> http://git.kolab.org/pykolab/tree/kolabd/__init__.py#n223
> 
> In effect, the LDAP connection loop can never terminate because it will 
> never
> get a true value from the connect method being called. I've attached a 
> patch
> that should fix this, and it seems to have worked for me.
> 

So the fix in this case is to first try/except connecting, then in try 
set connected to True.

Your patch added an else/break some place two tabs in, which I wasn't 
sure would need to be translated to 4*4 spaces or ended up in the middle 
of nowhere.

> There are also some other problems that may need patching...
> 
> A missing definition for delivery_address_attribute in the
> _change_none_sharedfolder method of the pykolab.auth.ldap.LDAP class:
> 
> http://git.kolab.org/pykolab/tree/pykolab/auth/ldap/__init__.py#n1728
> 
> It presumably needs to be set as follows before being used:
> 
> delivery_address_attribute = \
>   self.config_get('sharedfolder_delivery_address_attribute')
> 

Thanks, this fixes a problem that has not yet been reported (afaik).

> Missing initialisation of the configuration object:
> 
> http://git.kolab.org/pykolab/tree/pykolab/conf/__init__.py#n448
> 

Applied.

Kind regards,

Jeroen van Meeuwen

-- 
Systems Architect, Kolab Systems AG

e: vanmeeuwen at kolabsys.com
m: +44 74 2516 3817
w: http://www.kolabsys.com

pgp: 9342 BF08


More information about the devel mailing list