Debian Bug report logs - #693617
amule: Amuled and amulegui use 100% CPU when removing someone from the friends list

version graph

Package: amule; Maintainer for amule is Sandro Tosi <morph@debian.org>; Source for amule is src:amule (PTS, buildd, popcon).

Reported by: Marc Coll <marcoll@ya.com>

Date: Sun, 18 Nov 2012 16:39:02 UTC

Severity: normal

Found in version amule/2.3.1-9

Forwarded to http://bugs.amule.org/view.php?id=1726

Reply or subscribe to this bug.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Debian aMule Team <pkg-amule-devel@lists.alioth.debian.org>:
Bug#693617; Package amule. (Sun, 18 Nov 2012 16:39:04 GMT) (full text, mbox, link).


Acknowledgement sent to Marc Coll <marcoll@ya.com>:
New Bug report received and forwarded. Copy sent to Debian aMule Team <pkg-amule-devel@lists.alioth.debian.org>. (Sun, 18 Nov 2012 16:39:04 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Marc Coll <marcoll@ya.com>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: amule: Amuled and amulegui use 100% CPU when removing someone from the friends list
Date: Sun, 18 Nov 2012 16:59:45 +0100
Package: amule
Version: 2.3.1-9
Severity: normal

Dear Maintainer,

I am using amuled and amulegui, and whenever I remove someone from the friends
list (in the messages screen) amulegui and amuled start consuming lots of CPU.
I need to kill amulegui in order to restore normal CPU usage, and even after
that amuled takes some time to normalize.



-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (990, 'testing'), (300, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=ca_ES.UTF-8, LC_CTYPE=ca_ES.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages amule depends on:
ii  amule-common    2.3.1-9
ii  libc6           2.13-35
ii  libcrypto++9    5.6.1-6
ii  libgcc1         1:4.7.2-4
ii  libgeoip1       1.4.8+dfsg-3
ii  libstdc++6      4.7.2-4
ii  libupnp6        1:1.6.17-1.1
ii  libwxbase2.8-0  2.8.12.1-12
ii  libwxgtk2.8-0   2.8.12.1-12
ii  zlib1g          1:1.2.7.dfsg-13

Versions of packages amule recommends:
ii  amule-utils  2.3.1-9
ii  unzip        6.0-7

Versions of packages amule suggests:
ii  amule-utils-gui  2.3.1-9

-- no debconf information



Information forwarded to debian-bugs-dist@lists.debian.org, Debian aMule Team <pkg-amule-devel@lists.alioth.debian.org>:
Bug#693617; Package amule. (Sun, 18 Nov 2012 21:36:24 GMT) (full text, mbox, link).


Acknowledgement sent to Sandro Tosi <morph@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian aMule Team <pkg-amule-devel@lists.alioth.debian.org>. (Sun, 18 Nov 2012 21:36:24 GMT) (full text, mbox, link).


Message #10 received at 693617@bugs.debian.org (full text, mbox, reply):

From: Sandro Tosi <morph@debian.org>
To: Marc Coll <marcoll@ya.com>, 693617@bugs.debian.org
Subject: Re: [Pkg-amule-devel] Bug#693617: amule: Amuled and amulegui use 100% CPU when removing someone from the friends list
Date: Sun, 18 Nov 2012 22:34:00 +0100
Hello Marc,
thanks for your report.

On Sun, Nov 18, 2012 at 4:59 PM, Marc Coll <marcoll@ya.com> wrote:
> I am using amuled and amulegui, and whenever I remove someone from the friends
> list (in the messages screen) amulegui and amuled start consuming lots of CPU.
> I need to kill amulegui in order to restore normal CPU usage, and even after
> that amuled takes some time to normalize.
...
>   APT policy: (990, 'testing'), (300, 'unstable'), (1, 'experimental')

I see you have experimental in the APT sources: can you please try to
install the -10 version (from experimental) along with debug symbols
and run amulegui/amuled thru gdb and get a traceback with the problem
occurs?

Thanks,
--
Sandro Tosi (aka morph, morpheus, matrixhasu)
My website: http://matrixhasu.altervista.org/
Me at Debian: http://wiki.debian.org/SandroTosi



Information forwarded to debian-bugs-dist@lists.debian.org, Debian aMule Team <pkg-amule-devel@lists.alioth.debian.org>:
Bug#693617; Package amule. (Mon, 19 Nov 2012 19:57:03 GMT) (full text, mbox, link).


Acknowledgement sent to Marc Coll <marcoll@ya.com>:
Extra info received and forwarded to list. Copy sent to Debian aMule Team <pkg-amule-devel@lists.alioth.debian.org>. (Mon, 19 Nov 2012 19:57:03 GMT) (full text, mbox, link).


Message #15 received at 693617@bugs.debian.org (full text, mbox, reply):

From: Marc Coll <marcoll@ya.com>
To: Sandro Tosi <morph@debian.org>
Cc: 693617@bugs.debian.org
Subject: Re: [Pkg-amule-devel] Bug#693617: amule: Amuled and amulegui use 100% CPU when removing someone from the friends list
Date: Mon, 19 Nov 2012 20:01:59 +0100
Hello Sandro.

I've run amulegui through gdb, and this is what I got:


Program received signal SIGINT, Interrupt.
CECSocket::WritePacket (this=this@entry=0x93c000,
packet=packet@entry=0x7fffffffca80)
at ../../../../../src/libs/ec/cpp/ECSocket.cpp:738
738 ../../../../../src/libs/ec/cpp/ECSocket.cpp: El fitxer o directori
no existeix.
(gdb) bt
#0 CECSocket::WritePacket (this=this@entry=0x93c000,
packet=packet@entry=0x7fffffffca80)
at ../../../../../src/libs/ec/cpp/ECSocket.cpp:738
#1 0x000000000052e6d9 in CECSocket::SendPacket (this=0x93c000,
packet=0x7fffffffca80)
at ../../../../../src/libs/ec/cpp/ECSocket.cpp:294
#2 0x000000000043bdfa in CFriendListRem::RemoveFriend (this=0xb0ac20,
toremove=0x134b810)
at ../../src/amule-remote-gui.cpp:1874
#3 0x0000000000485f09 in CFriendListCtrl::OnRemoveFriend (this=0xd65ad0)
at ../../src/FriendListCtrl.cpp:179
#4 0x00007ffff6e323f6 in
wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&,
wxEvtHandler*, wxEvent&) () from
/usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
#5 0x00007ffff6e32564 in wxEventHashTable::HandleEvent(wxEvent&,
wxEvtHandler*) ()
from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
#6 0x00007ffff6e32887 in wxEvtHandler::ProcessEvent(wxEvent&) ()
from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
#7 0x00007ffff75b53d9 in wxWindowBase::TryParent(wxEvent&) ()
from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
#8 0x00007ffff6e32810 in wxEvtHandler::ProcessEvent(wxEvent&) ()
from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
#9 0x00007ffff75ddb35 in wxScrollHelperEvtHandler::ProcessEvent(wxEvent&) ()
from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
#10 0x00007ffff75981e0 in wxMenuBase::SendEvent(int, int) ()
from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
#11 0x00007ffff753744e in ?? () from
/usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
#12 0x00007ffff3ac26e0 in g_closure_invoke () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#13 0x00007ffff3ad3750 in ?? () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#14 0x00007ffff3adb6bc in g_signal_emit_valist ()
from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#15 0x00007ffff3adb852 in g_signal_emit () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#16 0x00007ffff52eeb6c in gtk_widget_activate () from
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#17 0x00007ffff51eadbd in gtk_menu_shell_activate_item ()
from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#18 0x00007ffff51eb15c in ?? () from
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#19 0x00007ffff51d8099 in ?? () from
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#20 0x00007ffff3ac26e0 in g_closure_invoke () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#21 0x00007ffff3ad34d0 in ?? () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#22 0x00007ffff3adb2db in g_signal_emit_valist ()
from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#23 0x00007ffff3adb852 in g_signal_emit () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#24 0x00007ffff52ef93e in ?? () from
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#25 0x00007ffff51d6434 in gtk_propagate_event () from
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#26 0x00007ffff51d678b in gtk_main_do_event () from
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#27 0x00007ffff4e437ac in ?? () from
/usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#28 0x00007ffff33f9355 in g_main_context_dispatch () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007ffff33f9688 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007ffff33f9744 in g_main_context_iteration () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007ffff51d59a1 in gtk_main_iteration () from
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#32 0x00007ffff7538a2d in wxWindow::DoPopupMenu(wxMenu*, int, int) ()
from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
#33 0x00000000004867b1 in PopupMenu (pos=..., menu=0x13fe460, this=0xd65ad0)
at /usr/include/wx-2.8/wx/window.h:924
#34 CFriendListCtrl::OnRightClick (this=0xd65ad0, event=...) at
../../src/FriendListCtrl.cpp:145
#35 0x00007ffff6e323f6 in
wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&,
wxEvtHandler*, wxEvent&) () from
/usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
#36 0x00007ffff6e32564 in wxEventHashTable::HandleEvent(wxEvent&,
wxEvtHandler*) ()
from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
#37 0x00007ffff6e32887 in wxEvtHandler::ProcessEvent(wxEvent&) ()
from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
#38 0x00000000004ca6c6 in MuleExtern::wxListMainWindow::OnMouse
(this=0xd68b50, event=...)
---Type <return> to continue, or q <return> to quit---
at ../../src/extern/wxWidgets/listctrl.cpp:3048
#39 0x00007ffff6e323f6 in
wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&,
wxEvtHandler*, wxEvent&) () from
/usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
#40 0x00007ffff6e32564 in wxEventHashTable::HandleEvent(wxEvent&,
wxEvtHandler*) ()
from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
#41 0x00007ffff6e32887 in wxEvtHandler::ProcessEvent(wxEvent&) ()
from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
#42 0x00007ffff6e32810 in wxEvtHandler::ProcessEvent(wxEvent&) ()
from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
#43 0x00007ffff75ddb35 in
wxScrollHelperEvtHandler::ProcessEvent(wxEvent&) ()
from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
#44 0x00007ffff74eccbb in ?? () from
/usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
#45 0x00007ffff51d8099 in ?? () from
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#46 0x00007ffff3ac26e0 in g_closure_invoke () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#47 0x00007ffff3ad3750 in ?? () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#48 0x00007ffff3adb2db in g_signal_emit_valist ()
from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#49 0x00007ffff3adb852 in g_signal_emit () from
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#50 0x00007ffff52ef93e in ?? () from
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#51 0x00007ffff51d6434 in gtk_propagate_event () from
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#52 0x00007ffff51d678b in gtk_main_do_event () from
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#53 0x00007ffff4e437ac in ?? () from
/usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#54 0x00007ffff33f9355 in g_main_context_dispatch () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#55 0x00007ffff33f9688 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#56 0x00007ffff33f9a82 in g_main_loop_run () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#57 0x00007ffff51d5797 in gtk_main () from
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#58 0x00007ffff74db268 in wxEventLoop::Run() ()
from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
#59 0x00007ffff754d33c in wxAppBase::MainLoop() ()
---Type <return> to continue, or q <return> to quit---
from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0
#60 0x00007ffff6de44e5 in wxEntry(int&, wchar_t**) ()
from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
#61 0x000000000042c342 in main (argc=1, argv=<optimized out>) at
../../src/amule-remote-gui.cpp:134
(gdb)


After that, I did the same with amuled, but there were many different
threads:


(gdb) info threads
Id Target Id Frame
14 Thread 0x7ffff4ac3700 (LWP 28068) "amuled" 0x00007ffff5c82203 in
select ()
from /lib/x86_64-linux-gnu/libc.so.6
13 Thread 0x7ffff32c0700 (LWP 28067) "amuled" 0x00007ffff7bcc64b in
pthread_cond_timedwait@@GLIBC_2.3.2 () from
/lib/x86_64-linux-gnu/libpthread.so.0
10 Thread 0x7ffff12bc700 (LWP 28056) "amuled" 0x00007ffff7bcf8ad in
nanosleep ()
from /lib/x86_64-linux-gnu/libpthread.so.0
9 Thread 0x7ffff1abd700 (LWP 28052) "amuled" 0x00007ffff5c82203 in select ()
from /lib/x86_64-linux-gnu/libc.so.6
8 Thread 0x7ffff22be700 (LWP 28051) "amuled" 0x00007ffff7bcc64b in
pthread_cond_timedwait@@GLIBC_2.3.2 () from
/lib/x86_64-linux-gnu/libpthread.so.0
7 Thread 0x7ffff2abf700 (LWP 28050) "amuled" 0x00007ffff7bcc64b in
pthread_cond_timedwait@@GLIBC_2.3.2 () from
/lib/x86_64-linux-gnu/libpthread.so.0
5 Thread 0x7ffff3ac1700 (LWP 28048) "amuled" 0x00007ffff7bcc64b in
pthread_cond_timedwait@@GLIBC_2.3.2 () from
/lib/x86_64-linux-gnu/libpthread.so.0
4 Thread 0x7ffff42c2700 (LWP 28047) "amuled" 0x00007ffff7bcc64b in
pthread_cond_timedwait@@GLIBC_2.3.2 () from
/lib/x86_64-linux-gnu/libpthread.so.0
2 Thread 0x7ffff52c4700 (LWP 28045) "amuled" 0x00007ffff7bcc2d4 in
pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
* 1 Thread 0x7ffff7fdd720 (LWP 28040) "amuled" CECSocket::WritePacket (
this=this@entry=0x1a306e0, packet=packet@entry=0x1ffbef0)
at ../../../../../src/libs/ec/cpp/ECSocket.cpp:738
(gdb)


Thread number one was the more suspicious, as it was stuck in the same
function as amulegui, so I did the backtrace of this one:


(gdb) thread 1
[Switching to thread 1 (Thread 0x7ffff7fdd720 (LWP 28040))]
#0 CECSocket::WritePacket (this=this@entry=0x1a306e0,
packet=packet@entry=0x1ffbef0)
at ../../../../../src/libs/ec/cpp/ECSocket.cpp:738
738 ../../../../../src/libs/ec/cpp/ECSocket.cpp: S’ha denegat el permís.
(gdb) bt
#0 CECSocket::WritePacket (this=this@entry=0x1a306e0,
packet=packet@entry=0x1ffbef0)
at ../../../../../src/libs/ec/cpp/ECSocket.cpp:738
#1 0x000000000054bd19 in CECSocket::SendPacket (this=0x1a306e0,
packet=0x1ffbef0)
at ../../../../../src/libs/ec/cpp/ECSocket.cpp:294
#2 0x000000000054c3ed in CECSocket::OnInput (this=0x1a306e0)
at ../../../../../src/libs/ec/cpp/ECSocket.cpp:406
#3 0x00007ffff67c13f6 in
wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&,
wxEvtHandler*, wxEvent&) () from
/usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
#4 0x00007ffff67c1564 in wxEventHashTable::HandleEvent(wxEvent&,
wxEvtHandler*) ()
from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
#5 0x00007ffff67c1887 in wxEvtHandler::ProcessEvent(wxEvent&) ()
from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
#6 0x00007ffff67c1360 in wxEvtHandler::ProcessPendingEvents() ()
from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
#7 0x00007ffff6744899 in wxAppConsole::ProcessPendingEvents() ()
from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
#8 0x0000000000431ef8 in CamuleDaemonApp::OnRun (this=0x820e50) at
../../src/amuled.cpp:590
#9 0x00007ffff67734e5 in wxEntry(int&, wchar_t**) ()
from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0
#10 0x000000000042d8d2 in main (argc=1, argv=<optimized out>) at
../../src/amuled.cpp:118
(gdb)


If you need the backtrace of another thread just ask.

It looks like an easily reproducible bug, though. Have you tried it?

> Hello Marc,
> thanks for your report.
>
> On Sun, Nov 18, 2012 at 4:59 PM, Marc Coll <marcoll@ya.com> wrote:
>> I am using amuled and amulegui, and whenever I remove someone from the friends
>> list (in the messages screen) amulegui and amuled start consuming lots of CPU.
>> I need to kill amulegui in order to restore normal CPU usage, and even after
>> that amuled takes some time to normalize.
> ...
>>   APT policy: (990, 'testing'), (300, 'unstable'), (1, 'experimental')
> I see you have experimental in the APT sources: can you please try to
> install the -10 version (from experimental) along with debug symbols
> and run amulegui/amuled thru gdb and get a traceback with the problem
> occurs?
>
> Thanks,
> --
> Sandro Tosi (aka morph, morpheus, matrixhasu)
> My website: http://matrixhasu.altervista.org/
> Me at Debian: http://wiki.debian.org/SandroTosi
>




Set Bug forwarded-to-address to 'http://bugs.amule.org/view.php?id=1726'. Request was from Sandro Tosi <morph@debian.org> to control@bugs.debian.org. (Sun, 07 Sep 2014 14:45:14 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Sun Jul 2 07:13:05 2023; Machine Name: bembo

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.