Page 1 of 1
Deluged stuck on 100% cpu
Posted: Sat Nov 01, 2008 10:48 pm
by abc
Hi,
I have a problem with deluged that after ~30 minutes it goes to 100% cpu, the gui is frozen, and no downloads are in progress.
This happens consistently time after time. I don't think I've seen it in the first 2-3 days of using deluge 1.0.3, but all the time afterwards with 1.0.3 and 1.0.4.
I tried to disable UPnP, same results.
My machine: Linux x86 64 bit Fedora 8, deluge compiled from source.
Anyone has an idea?
Thank you!
Re: Deluged stuck on 100% cpu
Posted: Sun Nov 02, 2008 5:00 am
by andar
abc wrote:Hi,
I have a problem with deluged that after ~30 minutes it goes to 100% cpu, the gui is frozen, and no downloads are in progress.
This happens consistently time after time. I don't think I've seen it in the first 2-3 days of using deluge 1.0.3, but all the time afterwards with 1.0.3 and 1.0.4.
I tried to disable UPnP, same results.
My machine: Linux x86 64 bit Fedora 8, deluge compiled from source.
Anyone has an idea?
Thank you!
This will happen if you are using boost 1.35
Re: Deluged stuck on 100% cpu
Posted: Sun Nov 02, 2008 6:43 pm
by abc
I have boost 1.34 installed. Does it still look like a boost version problem?
What is the recommended version for boost?
Thanks!
Re: Deluged stuck on 100% cpu
Posted: Sun Nov 09, 2008 7:50 pm
by abc
OK, I tried boost 1.37 and 1.36 but deluge 1.0.3 binary didnt like it. So I compiled 1.0.3 from source and it doesnt load (the main window is frozen).
I reverted to my boost 1.34 libs and compiled 1.0.3 again, waiting for deluged to get stuck again. Below is the stack trace of deluged.
It seems as if the daemon does not exist the mutex lock function (#0). Now my libs are definately 1.34 from Fedora - see below.
What version of boost are you guys using with what version of deluge?
Thanks in advance!
Code: Select all
$ rpm -qf /usr/lib64/libboost_thread-mt.so.3
boost-1.34.1-7.fc8
$ rpm --info -q boost-1.34.1-7.fc8
Name : boost Relocations: (not relocatable)
Version : 1.34.1 Vendor: Fedora Project
Release : 7.fc8 Build Date: Wed 16 Jan 2008 07:06:38 PM IST
Install Date: Fri 14 Mar 2008 12:26:06 AM IST Build Host: hammer2.fedora.redhat.com
Group : System Environment/Libraries Source RPM: boost-1.34.1-7.fc8.src.rpm
Size : 7911040 License: Boost Software License (GPL-Compatible, Free Software License)
Signature : DSA/SHA1, Thu 13 Mar 2008 03:12:13 AM IST, Key ID b44269d04f2a6fd2
Packager : Fedora Project
URL : http://www.boost.org/
Summary : The Boost C++ Libraries
Code: Select all
(gdb) bt
#0 0x0000003256e0cef4 in __lll_lock_wait ()
from /lib64/libpthread.so.0
#1 0x0000003256e0894b in _L_lock_879 () from /lib64/libpthread.so.0
#2 0x0000003256e087db in pthread_mutex_lock ()
from /lib64/libpthread.so.0
#3 0x00000031c4206b99 in boost::recursive_mutex::do_lock ()
from /usr/lib64/libboost_thread-mt.so.3
#4 0x00002aaab1f9137e in libtorrent::aux::session_impl::pop_alert (
this=0x80) at /usr/include/boost/thread/detail/lock.hpp:33
#5 0x00002aaab1f19e24 in libtorrent::session::pop_alert (
this=<value optimized out>) at ./libtorrent/src/session.cpp:543
#6 0x00002aaab2050f27 in boost::python::objects::caller_py_function_impl<boost::python::detail::caller<allow_threading<std::auto_ptr<libtorrent::alert> (libtorrent::session::*)(), std::auto_ptr<libtorrent::alert> >, boost::python::default_call_policies, boost::mpl::vector2<std::auto_ptr<libtorrent::alert>, libtorrent::session&> > >::operator() (
this=0x91eca0, args=<value optimized out>,
kw=<value optimized out>)
at ./libtorrent/bindings/python/src/gil.hpp:55
#7 0x00002aaab25d1086 in boost::python::objects::function::call ()
from /usr/lib64/libboost_python-mt.so.3
#8 0x00002aaab25d13c8 in ?? ()
from /usr/lib64/libboost_python-mt.so.3
#9 0x00002aaab201f397 in boost::function0<void, std::allocator<boost::function_base> >::operator() (this=<value optimized out>)
---Type <return> to continue, or q <return> to quit---
at /usr/include/boost/function/function_template.hpp:692
#10 0x00002aaab25d8a98 in boost::python::handle_exception_impl ()
from /usr/lib64/libboost_python-mt.so.3
#11 0x00002aaab25cee07 in ?? ()
from /usr/lib64/libboost_python-mt.so.3
#12 0x000000326b03c303 in PyObject_Call ()
from /usr/lib64/libpython2.5.so.1.0
#13 0x000000326b0b2cc4 in PyEval_EvalFrameEx ()
from /usr/lib64/libpython2.5.so.1.0
#14 0x000000326b0b6862 in PyEval_EvalCodeEx ()
from /usr/lib64/libpython2.5.so.1.0
#15 0x000000326b0b4f70 in PyEval_EvalFrameEx ()
from /usr/lib64/libpython2.5.so.1.0
#16 0x000000326b0b542c in PyEval_EvalFrameEx ()
from /usr/lib64/libpython2.5.so.1.0
#17 0x000000326b0b6862 in PyEval_EvalCodeEx ()
from /usr/lib64/libpython2.5.so.1.0
#18 0x000000326b0596ee in ?? () from /usr/lib64/libpython2.5.so.1.0
#19 0x000000326b03c303 in PyObject_Call ()
from /usr/lib64/libpython2.5.so.1.0
#20 0x000000326b0434fd in ?? () from /usr/lib64/libpython2.5.so.1.0
#21 0x000000326b03c303 in PyObject_Call ()
from /usr/lib64/libpython2.5.so.1.0
#22 0x000000326b0af3fe in PyEval_CallObjectWithKeywords ()
from /usr/lib64/libpython2.5.so.1.0
---Type <return> to continue, or q <return> to quit---
#23 0x00002aaab08b5eaf in ?? ()
from /usr/lib64/python2.5/site-packages/gtk-2.0/gobject/_gobject.so
#24 0x0000003cdd02f68b in ?? () from /lib64/libglib-2.0.so.0
#25 0x0000003cdd02ef53 in g_main_context_dispatch ()
from /lib64/libglib-2.0.so.0
#26 0x0000003cdd03224d in ?? () from /lib64/libglib-2.0.so.0
#27 0x0000003cdd03255a in g_main_loop_run ()
from /lib64/libglib-2.0.so.0
#28 0x00002aaab08c15d5 in ?? ()
from /usr/lib64/python2.5/site-packages/gtk-2.0/gobject/_gobject.so
#29 0x000000326b0b5ae6 in PyEval_EvalFrameEx ()
from /usr/lib64/libpython2.5.so.1.0
#30 0x000000326b0b542c in PyEval_EvalFrameEx ()
from /usr/lib64/libpython2.5.so.1.0
#31 0x000000326b0b6862 in PyEval_EvalCodeEx ()
from /usr/lib64/libpython2.5.so.1.0
#32 0x000000326b0596ee in ?? () from /usr/lib64/libpython2.5.so.1.0
#33 0x000000326b03c303 in PyObject_Call ()
from /usr/lib64/libpython2.5.so.1.0
#34 0x000000326b0434fd in ?? () from /usr/lib64/libpython2.5.so.1.0
#35 0x000000326b03c303 in PyObject_Call ()
from /usr/lib64/libpython2.5.so.1.0
#36 0x000000326b0af3fe in PyEval_CallObjectWithKeywords ()
from /usr/lib64/libpython2.5.so.1.0
#37 0x000000326b046f96 in PyInstance_New ()
---Type <return> to continue, or q <return> to quit---
from /usr/lib64/libpython2.5.so.1.0
#38 0x000000326b03c303 in PyObject_Call ()
from /usr/lib64/libpython2.5.so.1.0
#39 0x000000326b0b2cc4 in PyEval_EvalFrameEx ()
from /usr/lib64/libpython2.5.so.1.0
#40 0x000000326b0b542c in PyEval_EvalFrameEx ()
from /usr/lib64/libpython2.5.so.1.0
#41 0x000000326b0b6862 in PyEval_EvalCodeEx ()
from /usr/lib64/libpython2.5.so.1.0
#42 0x000000326b0b68a2 in PyEval_EvalCode ()
from /usr/lib64/libpython2.5.so.1.0
#43 0x000000326b0d08b2 in ?? () from /usr/lib64/libpython2.5.so.1.0
#44 0x000000326b0d0986 in PyRun_FileExFlags ()
from /usr/lib64/libpython2.5.so.1.0
#45 0x000000326b0d1e78 in PyRun_SimpleFileExFlags ()
from /usr/lib64/libpython2.5.so.1.0
#46 0x000000326b0db21e in Py_Main ()
from /usr/lib64/libpython2.5.so.1.0
#47 0x000000325621e074 in __libc_start_main () from /lib64/libc.so.6
#48 0x0000000000400649 in _start ()
(gdb)
Re: Deluged stuck on 100% cpu
Posted: Sat Nov 29, 2008 2:40 pm
by pkerwien
I have exactly the same symptom with deluge-1.0.5 on Gentoo amd64. I have boost-1.34.1. I'm running the daemon on Gentoo and clients on Vista x64 or another Gentoo machine.
Once I found the following in the logs:
Code: Select all
Nov 29 06:23:23 kerwien kernel: deluged[31814] trap stack segment ip:7f68263c529d sp:42927260 error:0
otherwise no messages at all.
Re: Deluged stuck on 100% cpu
Posted: Sun Dec 14, 2008 4:32 am
by ryzzen
Exact same problem, Deluge 1.0.7 / boost-1.34.1 / Zenwalk i486.
Re: Deluged stuck on 100% cpu
Posted: Sun Dec 14, 2008 6:12 pm
by andar
When deluged is at 100% cpu again try doing this in gdb:
Code: Select all
info threads
thread <n> (n is the thread number that isn't blocking)
bt
This will give us an idea of what the active thread is doing to use all the cpu.
Re: Deluged stuck on 100% cpu
Posted: Sun Mar 01, 2009 1:25 pm
by abc
I have tried deluged 1.1.0 but still get the same behavior. So I'm posting here the info requested.
Loading of the deluged symbols:
Code: Select all
GNU gdb Red Hat Linux (6.6-45.fc8rh)
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu"...
"/usr/bin/deluged": not in executable format: File format not recognized
Attaching to process 20647
Reading symbols from /usr/bin/python...(no debugging symbols found)...done.
Using host libthread_db library "/lib64/libthread_db.so.1".
Reading symbols from /usr/lib64/libpython2.5.so.1.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libpython2.5.so.1.0
Reading symbols from /lib64/libpthread.so.0...
(no debugging symbols found)...done.
[Thread debugging using libthread_db enabled]
[New Thread 46912496345472 (LWP 20647)]
[New Thread 1126189392 (LWP 20653)]
[New Thread 1115699536 (LWP 20651)]
[New Thread 1105209680 (LWP 20650)]
[New Thread 1094719824 (LWP 20649)]
[New Thread 1084229968 (LWP 20648)]
Loaded symbols for /lib64/libpthread.so.0
Reading symbols from /lib64/libdl.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/libdl.so.2
Reading symbols from /lib64/libutil.so.1...
(no debugging symbols found)...done.
Loaded symbols for /lib64/libutil.so.1
Reading symbols from /lib64/libm.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib64/libm.so.6
Reading symbols from /lib64/libc.so.6...
(no debugging symbols found)...done.
Loaded symbols for /lib64/libc.so.6
Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /usr/lib64/python2.5/lib-dynload/timemodule.so...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/python2.5/lib-dynload/timemodule.so
Reading symbols from /usr/lib64/python2.5/lib-dynload/stropmodule.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/python2.5/lib-dynload/stropmodule.so
Reading symbols from /usr/lib64/python2.5/lib-dynload/_localemodule.so...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/python2.5/lib-dynload/_localemodule.so
Reading symbols from /usr/lib64/python2.5/lib-dynload/operator.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/python2.5/lib-dynload/operator.so
Reading symbols from /usr/lib64/python2.5/lib-dynload/_struct.so...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/python2.5/lib-dynload/_struct.so
Reading symbols from /usr/lib64/python2.5/lib-dynload/selectmodule.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/python2.5/lib-dynload/selectmodule.so
Reading symbols from /usr/lib64/python2.5/lib-dynload/fcntlmodule.so...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/python2.5/lib-dynload/fcntlmodule.so
Reading symbols from /usr/lib64/python2.5/lib-dynload/binascii.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/python2.5/lib-dynload/binascii.so
Reading symbols from /usr/lib64/python2.5/lib-dynload/cStringIO.so...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/python2.5/lib-dynload/cStringIO.so
Reading symbols from /usr/lib64/python2.5/site-packages/gtk-2.0/gobject/_gobject.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/python2.5/site-packages/gtk-2.0/gobject/_gobject.so
Reading symbols from /lib64/libgobject-2.0.so.0...
(no debugging symbols found)...done.
Loaded symbols for /lib64/libgobject-2.0.so.0
Reading symbols from /lib64/libgthread-2.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /lib64/libgthread-2.0.so.0
Reading symbols from /lib64/librt.so.1...
(no debugging symbols found)...done.
Loaded symbols for /lib64/librt.so.1
Reading symbols from /lib64/libglib-2.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /lib64/libglib-2.0.so.0
Reading symbols from /usr/lib64/python2.5/lib-dynload/collectionsmodule.so...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/python2.5/lib-dynload/collectionsmodule.so
Reading symbols from /usr/lib64/python2.5/lib-dynload/cPickle.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/python2.5/lib-dynload/cPickle.so
Reading symbols from /usr/lib64/python2.5/lib-dynload/datetime.so...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/python2.5/lib-dynload/datetime.so
Reading symbols from /usr/lib64/python2.5/site-packages/_xmlplus/parsers/pyexpat.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/python2.5/site-packages/_xmlplus/parsers/pyexpat.so
Reading symbols from /usr/lib64/python2.5/lib-dynload/_socketmodule.so...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/python2.5/lib-dynload/_socketmodule.so
Reading symbols from /usr/lib64/python2.5/lib-dynload/_ssl.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/python2.5/lib-dynload/_ssl.so
Reading symbols from /lib64/libssl.so.6...
(no debugging symbols found)...done.
Loaded symbols for /lib64/libssl.so.6
Reading symbols from /lib64/libcrypto.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib64/libcrypto.so.6
Reading symbols from /usr/lib64/libgssapi_krb5.so.2...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libgssapi_krb5.so.2
Reading symbols from /usr/lib64/libkrb5.so.3...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libkrb5.so.3
Reading symbols from /lib64/libcom_err.so.2...
(no debugging symbols found)...done.
Loaded symbols for /lib64/libcom_err.so.2
Reading symbols from /usr/lib64/libk5crypto.so.3...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libk5crypto.so.3
Reading symbols from /lib64/libz.so.1...
(no debugging symbols found)...done.
Loaded symbols for /lib64/libz.so.1
Reading symbols from /usr/lib64/libkrb5support.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libkrb5support.so.0
Reading symbols from /lib64/libkeyutils.so.1...
(no debugging symbols found)...done.
Loaded symbols for /lib64/libkeyutils.so.1
Reading symbols from /lib64/libresolv.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/libresolv.so.2
Reading symbols from /lib64/libselinux.so.1...
(no debugging symbols found)...done.
Loaded symbols for /lib64/libselinux.so.1
Reading symbols from /usr/lib64/python2.5/lib-dynload/mathmodule.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/python2.5/lib-dynload/mathmodule.so
Reading symbols from /usr/lib64/python2.5/lib-dynload/_randommodule.so...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/python2.5/lib-dynload/_randommodule.so
Reading symbols from /usr/lib64/python2.5/site-packages/deluge-1.1.0-py2.5-linux-x86_64.egg/deluge/libtorrent.so...done.
Loaded symbols for /usr/lib64/python2.5/site-packages/deluge-1.1.0-py2.5-linux-x86_64.egg/deluge/libtorrent.so
Reading symbols from /usr/lib64/libboost_filesystem-mt.so.3...done.
Loaded symbols for /usr/lib64/libboost_filesystem-mt.so.3
Reading symbols from /usr/lib64/libboost_date_time-mt.so.3...done.
Loaded symbols for /usr/lib64/libboost_date_time-mt.so.3
Reading symbols from /usr/lib64/libboost_iostreams-mt.so.3...done.
Loaded symbols for /usr/lib64/libboost_iostreams-mt.so.3
Reading symbols from /usr/lib64/libboost_python-mt.so.3...done.
Loaded symbols for /usr/lib64/libboost_python-mt.so.3
Reading symbols from /usr/lib64/libboost_thread-mt.so.3...done.
Loaded symbols for /usr/lib64/libboost_thread-mt.so.3
Reading symbols from /lib64/libgcc_s.so.1...done.
Loaded symbols for /lib64/libgcc_s.so.1
Reading symbols from /usr/lib64/libstdc++.so.6...done.
Loaded symbols for /usr/lib64/libstdc++.so.6
Reading symbols from /lib64/libbz2.so.1...done.
Loaded symbols for /lib64/libbz2.so.1
Reading symbols from /lib64/libnss_files.so.2...done.
Loaded symbols for /lib64/libnss_files.so.2
Reading symbols from /lib64/libnss_dns.so.2...done.
Loaded symbols for /lib64/libnss_dns.so.2
0x00000032562cbd66 in poll () from /lib64/libc.so.6
Threads:
Code: Select all
(gdb) info threads
6 Thread 1084229968 (LWP 20648) 0x0000003256e0cef4 in __lll_lock_wait ()
from /lib64/libpthread.so.0
5 Thread 1094719824 (LWP 20649) 0x00002aaab1f0d50e in boost::simple_segregated_storage<unsigned long>::find_prev (this=0x9fc808, ptr=0x2aaab350b010)
at /usr/include/boost/pool/simple_segregated_storage.hpp:175
4 Thread 1105209680 (LWP 20650) 0x00000032562d50d8 in epoll_wait () from /lib64/libc.so.6
3 Thread 1115699536 (LWP 20651) 0x00000032562d50d8 in epoll_wait () from /lib64/libc.so.6
2 Thread 1126189392 (LWP 20653) 0x0000003256e0d56b in accept ()
from /lib64/libpthread.so.0
1 Thread 46912496345472 (LWP 20647) 0x00000032562cbd66 in poll () from /lib64/libc.so.6
Current language: auto; currently c++
Missing separate debuginfos, use: debuginfo-install python.x86_64
stack of the seemingly running thread:
Code: Select all
(gdb) thread 5
[Switching to thread 5 (Thread 1094719824 (LWP 20649))]#0 0x00002aaab1f0d50e in boost::simple_segregated_storage<unsigned long>::find_prev (this=0x9fc808, ptr=0x2aaab350b010)
at /usr/include/boost/pool/simple_segregated_storage.hpp:175
175 if (nextof(iter) == 0 || std::greater<void *>()(nextof(iter), ptr))
(gdb) bt
#0 0x00002aaab1f0d50e in boost::simple_segregated_storage<unsigned long>::find_prev (
this=0x9fc808, ptr=0x2aaab350b010)
at /usr/include/boost/pool/simple_segregated_storage.hpp:175
#1 0x00002aaab1f08985 in libtorrent::disk_io_thread::free_buffer (this=0x9fc6b8,
buf=0x2aaab350b010 "\215']\002\202!\233d�jq��L�.i����](=\206RT\006{��d�0M�\bA'\003\234S@P\216�k��7Gj?%W$��6�:}DgA,>D\b\213�")
at /usr/include/boost/pool/simple_segregated_storage.hpp:126
#2 0x00002aaab1e9f5b9 in ~peer_connection (this=0x13a1800)
at ./libtorrent/src/peer_connection.cpp:594
#3 0x00002aaab1f45269 in ~bt_peer_connection (this=0x13a1800)
at ./libtorrent/src/bt_peer_connection.cpp:184
#4 0x00002aaab1eb7f6d in asio::detail::handler_queue::handler_wrapper<asio::detail::binder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, libtorrent::peer_connection, asio::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<boost::intrusive_ptr<libtorrent::peer_connection> >, boost::arg<1> (*)(), boost::arg<2> (*)()> >, asio::error_code, unsigned long> >::do_call (base=<value optimized out>) at /usr/include/boost/bind.hpp:105
#5 0x00002aaab1e7a30e in asio::detail::task_io_service<asio::detail::epoll_reactor<false> >::run (this=0x9a5a30, ec=@0x41401070)
at ./libtorrent/include/asio/detail/handler_queue.hpp:38
#6 0x00002aaab1fa1d8e in libtorrent::aux::session_impl::operator() (this=0x9fc510)
at ./libtorrent/include/asio/impl/io_service.ipp:64
#7 0x00002aaab20210e7 in boost::function0<void, std::allocator<boost::function_base> >::operator() (this=<value optimized out>) at /usr/include/boost/function/function_template.hpp:692
#8 0x00000031c4207a12 in ?? () from /usr/lib64/libboost_thread-mt.so.3
#9 0x0000003256e06407 in start_thread () from /lib64/libpthread.so.0
#10 0x00000032562d4b0d in clone () from /lib64/libc.so.6