Anonymous | Login | Signup for a new account | 2024-12-04 11:14 CET |
My View | View Issues | Change Log | Roadmap |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||
0001726 | aMule | GUI | public | 2014-09-07 16:22 | 2014-09-07 16:22 | ||||||||
Reporter | morph | ||||||||||||
Assigned To | |||||||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||||||
Status | new | Resolution | open | ||||||||||
Platform | Linux | OS | Debian | OS Version | sid | ||||||||
Product Version | 2.3.1 | ||||||||||||
Target Version | Fixed in Version | ||||||||||||
Summary | 0001726: Amuled and amulegui use 100% CPU when removing someone from the friends list | ||||||||||||
Description | Hello, I'm forwarding the debian bug https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=693617: [^] >>> 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. <<< >>> 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 0000001 0x000000000052e6d9 in CECSocket::SendPacket (this=0x93c000, packet=0x7fffffffca80) at ../../../../../src/libs/ec/cpp/ECSocket.cpp:294 0000002 0x000000000043bdfa in CFriendListRem::RemoveFriend (this=0xb0ac20, toremove=0x134b810) at ../../src/amule-remote-gui.cpp:1874 0000003 0x0000000000485f09 in CFriendListCtrl::OnRemoveFriend (this=0xd65ad0) at ../../src/FriendListCtrl.cpp:179 0000004 0x00007ffff6e323f6 in wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 0000005 0x00007ffff6e32564 in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 0000006 0x00007ffff6e32887 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 0000007 0x00007ffff75b53d9 in wxWindowBase::TryParent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 0000008 0x00007ffff6e32810 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 0000009 0x00007ffff75ddb35 in wxScrollHelperEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 0000010 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 0000012 0x00007ffff3ac26e0 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 0000013 0x00007ffff3ad3750 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 0000014 0x00007ffff3adb6bc in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 0000015 0x00007ffff3adb852 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 0000016 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--- 0000017 0x00007ffff51eadbd in gtk_menu_shell_activate_item () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 0000018 0x00007ffff51eb15c in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 0000019 0x00007ffff51d8099 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 0000020 0x00007ffff3ac26e0 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 0000021 0x00007ffff3ad34d0 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 0000022 0x00007ffff3adb2db in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 0000023 0x00007ffff3adb852 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 0000024 0x00007ffff52ef93e in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 0000025 0x00007ffff51d6434 in gtk_propagate_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 0000026 0x00007ffff51d678b in gtk_main_do_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 0000027 0x00007ffff4e437ac in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 0000028 0x00007ffff33f9355 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 0000029 0x00007ffff33f9688 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 0000030 0x00007ffff33f9744 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 0000031 0x00007ffff51d59a1 in gtk_main_iteration () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 0000032 0x00007ffff7538a2d in wxWindow::DoPopupMenu(wxMenu*, int, int) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 0000033 0x00000000004867b1 in PopupMenu (pos=..., menu=0x13fe460, this=0xd65ad0) at /usr/include/wx-2.8/wx/window.h:924 0000034 CFriendListCtrl::OnRightClick (this=0xd65ad0, event=...) at ../../src/FriendListCtrl.cpp:145 0000035 0x00007ffff6e323f6 in wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 0000036 0x00007ffff6e32564 in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 0000037 0x00007ffff6e32887 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 0000038 0x00000000004ca6c6 in MuleExtern::wxListMainWindow::OnMouse (this=0xd68b50, event=...) ---Type <return> to continue, or q <return> to quit--- at ../../src/extern/wxWidgets/listctrl.cpp:3048 0000039 0x00007ffff6e323f6 in wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 0000040 0x00007ffff6e32564 in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 0000041 0x00007ffff6e32887 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 0000042 0x00007ffff6e32810 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 0000043 0x00007ffff75ddb35 in wxScrollHelperEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 0000044 0x00007ffff74eccbb in ?? () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 0000045 0x00007ffff51d8099 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 0000046 0x00007ffff3ac26e0 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 0000047 0x00007ffff3ad3750 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 0000048 0x00007ffff3adb2db in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 0000049 0x00007ffff3adb852 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 0000050 0x00007ffff52ef93e in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 0000051 0x00007ffff51d6434 in gtk_propagate_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 0000052 0x00007ffff51d678b in gtk_main_do_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 0000053 0x00007ffff4e437ac in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 0000054 0x00007ffff33f9355 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 0000055 0x00007ffff33f9688 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 0000056 0x00007ffff33f9a82 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 0000057 0x00007ffff51d5797 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 0000058 0x00007ffff74db268 in wxEventLoop::Run() () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-2.8.so.0 0000059 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 0000060 0x00007ffff6de44e5 in wxEntry(int&, wchar_t**) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 0000061 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 0000001 0x000000000054bd19 in CECSocket::SendPacket (this=0x1a306e0, packet=0x1ffbef0) at ../../../../../src/libs/ec/cpp/ECSocket.cpp:294 0000002 0x000000000054c3ed in CECSocket::OnInput (this=0x1a306e0) at ../../../../../src/libs/ec/cpp/ECSocket.cpp:406 0000003 0x00007ffff67c13f6 in wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 0000004 0x00007ffff67c1564 in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 0000005 0x00007ffff67c1887 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 0000006 0x00007ffff67c1360 in wxEvtHandler::ProcessPendingEvents() () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 0000007 0x00007ffff6744899 in wxAppConsole::ProcessPendingEvents() () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 0000008 0x0000000000431ef8 in CamuleDaemonApp::OnRun (this=0x820e50) at ../../src/amuled.cpp:590 0000009 0x00007ffff67734e5 in wxEntry(int&, wchar_t**) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-2.8.so.0 0000010 0x000000000042d8d2 in main (argc=1, argv=<optimized out>) at ../../src/amuled.cpp:118 (gdb) <<< | ||||||||||||
Tags | No tags attached. | ||||||||||||
Fixed in Revision | |||||||||||||
Operating System | Debian sid | ||||||||||||
Attached Files | |||||||||||||
Issue History | |||
Date Modified | Username | Field | Change |
2014-09-07 16:22 | morph | New Issue |
Copyright © 2000 - 2024 MantisBT Team |