Pages

Tuesday, November 8, 2011

<glibc-2.13 breaks emesene-2.x

For those of you using emesene as IM client, and those who were reluctant enough to use the 2.x version, you may have found out in these past few days that 1.x would not connect anymore. The problem was due (not surprisiginly) to a change on Live servers. A fix is available but only for 2.x, so I had to make the switch (more info on www.emesene.org).

After putting my credentials, emesene-2.x would segfault. If I set it to auto-login, then afterwards it would segfault upon opening. Running a strace on it showed the last call before SIGSEGV to be to getuid32(). I googled around a bit and asked for some help on #emesene and found the culprit to be glibc (more info here).

After upgrading to glibc-2.13 (previous versions seem to have this problem) the issue was gone. You can test for it by doing

$ python
>>> from gtk import glade
>>> import uuid
>>> uuid.uuid4()

If it segfaults after that, then you probably have this issue.

If upgrading glibc is not an option for you, you can try placing an "import uuid" on emesene.py, either before or after the os and sys imports. That should work too.

Hope it's helpful.