It looks like that gg guys started playing with the protocol and libgadu-1.12.0 has problems operating.
The connection seems to freeze after sending a few messages. I don't get any confirmation for the sent messages or any more responses from server. AFAIK the first messages before the 'hang' sometimes actually reaches the recipient.
If I reconnect (with cleared message queue in ekg2), I get incoming messages and the client seems to work as long as I don't try to send another message.
Downgrade to stable net-libs/libgadu-1.11.1 fixed it, so I suspect the issue is related to use of new GG protocol features. I'm going to test 1.11.4 soon.
Created attachment 382924 [details]
Now some more details:
1. it happens only sometimes (well, most of the times actually),
2. attached debug output from ekg2 for sending message,
3. at this moment, no further packets arrive,
4. the message is still in the message queue, so it didn't receive confirmation,
5. if I clear the queue (so that no messages are sent) and reconnect, I receive the reply to my message -- so the last message before the lock is sent,
6. however, further messages (after the lock) are no longer sent.
And 1.11.4 works fine.
From what I could observe - if message queue gets too large or corrupted after hang, ekg2 is no longer able to connect to GG network. Clearing the queue fixes it.
Moreover, I observed that not only gg plugin in ekg2 seems to hang. Often I see whole ekg2 hang - but not right away after plugin hangs.
I'm trying to see if current GIT version solves these issues (there were some commits recently which might be related).
BTW. From what I could learn Kadu users were not affected.
libgadu 1.12.1 fixed some protocol issues that might be related to this bug. Release annoucement (in Polish): http://lists.ziew.org/pipermail/libgadu-devel/2015-January/001228.html
I already tested most of those fixes in git version and it didn't help. I tried also official release. GG plugin still hangs and ekg2 uses 100% cpu. So far I didn't manage to hang ekg2 though.
Since kadu doesn't show these issues with libgadu-1.12.* I would suspect that it is ekg2 issue. I looked at ekg2 commits and gg plugin was not updated since 2012. Thus it doesn't take into account recent API changes/additions. I find it very sad since soon we will be left without CLI client for GG (ekg is being removed for no reason, see bug 523250)...
The libgadu update is meant to be completely backward compatible. It's hard to tell though if it's a subtle regression/compatibility break in libgadu or a bug in ekg2 that is, by accident, harmful with libgadu <1.12. Is ekg2 maintained upstream? Someone should look into this.
Also, I believe the finch CLI client from net-im/pidgin has pretty good support for gadu, especially the Pidgin 3 (unreleased) version.
(In reply to Bartosz Brachaczek from comment #6)
> The libgadu update is meant to be completely backward compatible. It's hard
> to tell though if it's a subtle regression/compatibility break in libgadu or
> a bug in ekg2 that is, by accident, harmful with libgadu <1.12. Is ekg2
> maintained upstream? Someone should look into this.
ekg2 reached the point when none of the developer has time to put the necessary work. If you can provide patches, I can review and commit them for you in a reasonable time but don't really expect me to write large quantities of code ;/.
> Also, I believe the finch CLI client from net-im/pidgin has pretty good
> support for gadu, especially the Pidgin 3 (unreleased) version.
At some point I was wondering about porting the UI part from ekg2 to use pidgin's libraries. However, I never had time for this project and it's rather low in my ever-growing TODO.
I am not sure if this should keep blocking the newer pidgin stabilization, that is also blocking the python-3.4 one... is libgadu upstream even aware of this issues with their newer versions? Or are they caused by ekg2 instead? :/
(In reply to Pacho Ramos from comment #9)
It seems Kadu and Pidgin users are not affected.
I confirm that from my observation. Maybe it would be good to make ekg2 to depend on libgadu-1.11.*?
(In reply to Tomasz Golinski from comment #11)
> I confirm that from my observation. Maybe it would be good to make ekg2 to
> depend on libgadu-1.11.*?
Right, I should have changed this long ago. Now the dep is updated. Still, we'd need to eventually fix this or lastrite ekg2 as being completely and utterly dead.
Meanwhile libgadu-1.12.2 is released and in tree. Claims some fixes, though likely unrelated to mentioned in here.