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

Paul Boddie paul at boddie.org.uk
Sun Feb 16 00:52:47 CET 2014


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.

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')

Missing initialisation of the configuration object:

http://git.kolab.org/pykolab/tree/pykolab/conf/__init__.py#n448

I've attached a patch for this, but due to differences between my fork of 
pykolab and the upstream version, the line numbers may need adjusting.

I did also see the reported heavy usage of various translation-related files, 
or at least when I interrupted kolabd one time, the traceback I got (by 
modifying the code) showed some activity in that department. That may have 
been a side-effect of the other issues, however.

Anyway, I hope these findings are helpful.

Paul

P.S. If the patches get stripped by the mailing list, I'll happily send them 
to anyone or put them somewhere online.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix-ldap-infinite-loop.diff
Type: text/x-patch
Size: 924 bytes
Desc: not available
URL: <http://lists.kolab.org/pipermail/devel/attachments/20140216/ae4c5556/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix-config-initialisation.diff
Type: text/x-patch
Size: 842 bytes
Desc: not available
URL: <http://lists.kolab.org/pipermail/devel/attachments/20140216/ae4c5556/attachment-0003.bin>


More information about the devel mailing list