Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 519978

Summary: net-libs/libgadu-1.12.0: recent issues sending messages
Product: Gentoo Linux Reporter: Michał Górny <mgorny>
Component: Current packagesAssignee: Maciej Mrozowski <reavertm>
Status: CONFIRMED ---    
Severity: normal CC: b.brachaczek, net-im, pacho
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: Debug log

Description Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-08-15 09:50:53 UTC
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.
Comment 1 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-08-15 10:13:30 UTC
Created attachment 382924 [details]
Debug log

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.
Comment 2 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-08-15 10:25:00 UTC
And 1.11.4 works fine.
Comment 3 Tomasz Golinski 2014-12-07 23:41:45 UTC
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.
Comment 4 Bartosz Brachaczek 2015-01-03 00:21:32 UTC
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
Comment 5 Tomasz Golinski 2015-01-04 15:03:28 UTC
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)...
Comment 6 Bartosz Brachaczek 2015-01-04 15:24:08 UTC
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.
Comment 7 Bartosz Brachaczek 2015-01-04 15:32:08 UTC
s/harmful/harmless/
Comment 8 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-01-04 15:54:10 UTC
(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.
Comment 9 Pacho Ramos gentoo-dev 2015-04-30 11:23:49 UTC
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? :/
Comment 10 Bartosz Brachaczek 2015-04-30 16:50:36 UTC
(In reply to Pacho Ramos from comment #9)

It seems Kadu and Pidgin users are not affected.
Comment 11 Tomasz Golinski 2015-05-07 23:00:58 UTC
I confirm that from my observation. Maybe it would be good to make ekg2 to depend on libgadu-1.11.*?
Comment 12 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-05-08 04:27:24 UTC
(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.
Comment 13 Maciej Mrozowski gentoo-dev 2017-03-17 00:38:45 UTC
Meanwhile libgadu-1.12.2 is released and in tree. Claims some fixes, though likely unrelated to mentioned in here.

http://libgadu.net/releases/1.12.2.html