This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Deadlock using SVN 666864.

Tags: None
(comma "," separated)
J
Registered Member
Posts
86
Karma
0

Deadlock using SVN 666864.

Mon May 21, 2007 6:12 am
The backtrace of the deadlocked program:

Code: Select all
#0  0x00002b9472d7d958 in __lll_mutex_lock_wait () from /lib/libpthread.so.0
#1  0x00002b9472d79a59 in _L_mutex_lock_51 () from /lib/libpthread.so.0
#2  0x00002b9472d793c3 in pthread_mutex_lock () from
/lib/libpthread.so.0
#3  0x00002b94715aa76d in QRealMutexPrivate::lock (this=0x61bc40) at tools/qmutex_unix.cpp:142
#4  0x00002b94715aa556 in QMutex::lock (this=0x61a8d8) at tools/qmutex_unix.cpp:464
#5  0x00002b946f333814 in bt::Log::lock (this=0x61bc20) at log.cpp:217
#6  0x00002b946f33383e in bt::Out (arg=39) at log.cpp:223
#7  0x00002b946f392217 in bt::AuthenticateBase::onTimeout (this=0x42133e0) at authenticatebase.cpp:152
#8  0x00002b946f392295 in bt::AuthenticateBase::qt_invoke (this=0x42133e0, _id=2, _o=0x7fff3b98ff60) at authenticatebase.moc:87
#9  0x00002b946f35b0ab in bt::Authenticate::qt_invoke (this=0x42133e0, _id=2, _o=0x7fff3b98ff60) at authenticate.moc:87
#10 0x00002b946f325be6 in mse::EncryptedAuthenticate::qt_invoke (this=0x42133e0, _id=2, _o=0x7fff3b98ff60) at encryptedauthenticate.moc:87
#11 0x00002b947127334c in QObject::activate_signal (this=0x4213438, clist=0x47cca60, o=0x7fff3b98ff60) at kernel/qobject.cpp:2356
#12 0x00002b9471274283 in QObject::activate_signal (this=0x4213438, signal=2) at kernel/qobject.cpp:2325
#13 0x00002b94716670ea in QTimer::timeout (this=0x4213438) at .moc/debug-shared-mt/moc_qtimer.cpp:82
#14 0x00002b94712a11f1 in QTimer::event (this=0x4213438, e=0x7fff3b990450) at kernel/qtimer.cpp:219
#15 0x00002b9471200562 in QApplication::internalNotify (this=0x7fff3b992400, receiver=0x4213438, e=0x7fff3b990450)
    at kernel/qapplication.cpp:2635
#16 0x00002b94712024b1 in QApplication::notify (this=0x7fff3b992400, receiver=0x4213438, e=0x7fff3b990450) at kernel/qapplication.cpp:2358
#17 0x00002b94704b5e5e in KApplication::notify () from /usr/kde/3.5/lib64/libkdecore.so.4
#18 0x000000000049dda6 in QApplication::sendEvent (receiver=0x4213438, event=0x7fff3b990450) at /usr/qt/3/include/qapplication.h:496
#19 0x00002b94711f1a54 in QEventLoop::activateTimers (this=0x666690) at kernel/qeventloop_unix.cpp:556
#20 0x00002b947119e8ab in QEventLoop::processEvents (this=0x666690, flags=4) at kernel/qeventloop_x11.cpp:389
#21 0x00002b947121e0b2 in QEventLoop::enterLoop (this=0x666690) at kernel/qeventloop.cpp:198
#22 0x00002b9471202154 in QApplication::enter_loop (this=0x7fff3b992400) at kernel/qapplication.cpp:2793
#23 0x00002b946f9c678a in KIO::NetAccess::enter_loop () from /usr/kde/3.5/lib64/libkio.so.4
#24 0x00002b946f9c69c4 in KIO::NetAccess::dircopyInternal () from /usr/kde/3.5/lib64/libkio.so.4
#25 0x00002b946f9c9212 in KIO::NetAccess::move () from /usr/kde/3.5/lib64/libkio.so.4
#26 0x00002b946f9c9358 in KIO::NetAccess::move () from /usr/kde/3.5/lib64/libkio.so.4
#27 0x00002b946f332378 in bt::Move (src=@0x7fff3b990c90, dst=@0x7fff3b990c80, nothrow=true) at fileops.cpp:106
#28 0x00002b946f33436e in bt::Log::Private::rotateLogs (this=0x61a830, file=@0x7fff3b990e30) at log.cpp:81
#29 0x00002b946f3345aa in bt::Log::Private::setOutputFile (this=0x61a830, file=@0x7fff3b990e30) at log.cpp:95
#30 0x00002b946f3348ec in bt::Log::Private::endline (this=0x61a830) at log.cpp:138
#31 0x00002b946f333a39 in bt::endl (lg=@0x61bc20) at log.cpp:177
#32 0x0000000000433a9a in bt::Log::operator<< (this=0x61bc20, func=0x428bd8 <_ZN2bt4endlERNS_3LogE@plt>)
    at ./../../../libktorrent/util/log.h:139
#33 0x00002b946f3b9d0f in dht::DHT::portRecieved (this=0x61a990, ip=@0x17a9e40, port=64045) at dht.cpp:235
#34 0x00002b946f35d255 in bt::TorrentControl::onPortPacket (this=0x3dd5a80, ip=@0x17a9e40, port=64045) at torrentcontrol.cpp:1337
#35 0x00002b946f361f01 in bt::TorrentControl::qt_invoke (this=0x3dd5a80, _id=12, _o=0x7fff3b991050) at torrentcontrol.moc:142
#36 0x00002b947127334c in QObject::activate_signal (this=0x3bc7bd0, clist=0x4237790, o=0x7fff3b991050) at kernel/qobject.cpp:2356
#37 0x00002b946f34b92d in bt::Peer::gotPortPacket (this=0x3bc7bd0, t0=@0x7fff3b9910c0, t1=64045) at peer.moc:211
#38 0x00002b946f34c2f1 in bt::Peer::emitPortPacket (this=0x3bc7bd0) at peer.cpp:548
#39 0x00002b946f361c61 in bt::TorrentControl::onNewPeer (this=0x3dd5a80, p=0x3bc7bd0) at torrentcontrol.cpp:759
#40 0x00002b946f361e62 in bt::TorrentControl::qt_invoke (this=0x3dd5a80, _id=8, _o=0x7fff3b991240) at torrentcontrol.moc:138
#41 0x00002b9471273475 in QObject::activate_signal (this=0x3ddff10, clist=0x3ddbde0, o=0x7fff3b991240) at kernel/qobject.cpp:2380
#42 0x00002b946f34f8a2 in bt::PeerManager::newPeer (this=0x3ddff10, t0=0x3bc7bd0) at peermanager.moc:127
#43 0x00002b946f350a54 in bt::PeerManager::createPeer (this=0x3ddff10, sock=0x4587bf0, peer_id=@0x1474cd0, support=16, local=false)
    at peermanager.cpp:271
#44 0x00002b946f350e39 in bt::PeerManager::peerAuthenticated (this=0x3ddff10, auth=0x1474b80, ok=true) at peermanager.cpp:255
#45 0x00002b946f35b531 in bt::Authenticate::onFinish (this=0x1474b80, succes=true) at authenticate.cpp:89
#46 0x00002b946f35b3ee in bt::Authenticate::handshakeRecieved (this=0x1474b80, full=true) at authenticate.cpp:134
#47 0x00002b946f39259f in bt::AuthenticateBase::onReadyRead (this=0x1474b80) at authenticatebase.cpp:137
#48 0x00002b946f325d89 in mse::EncryptedAuthenticate::handlePadD (this=0x1474b80) at encryptedauthenticate.cpp:241
#49 0x00002b946f325f7b in mse::EncryptedAuthenticate::handleCryptoSelect (this=0x1474b80) at encryptedauthenticate.cpp:208
#50 0x00002b946f326073 in mse::EncryptedAuthenticate::findVC (this=0x1474b80) at encryptedauthenticate.cpp:160
#51 0x00002b946f326955 in mse::EncryptedAuthenticate::onReadyRead (this=0x1474b80) at encryptedauthenticate.cpp:284
#52 0x00002b946f3a2f34 in bt::AuthenticationMonitor::handleData (this=0x602130) at authenticationmonitor.cpp:130
#53 0x00002b946f3a34d0 in bt::AuthenticationMonitor::update (this=0x602130) at authenticationmonitor.cpp:115
#54 0x000000000044037b in KTorrentCore::update (this=0x9c8550) at ktorrentcore.cpp:691
#55 0x00000000004434dd in KTorrentCore::qt_invoke (this=0x9c8550, _id=5, _o=0x7fff3b991ae0) at ktorrentcore.moc:289
#56 0x00002b947127334c in QObject::activate_signal (this=0x9c85b0, clist=0x9c8f60, o=0x7fff3b991ae0) at kernel/qobject.cpp:2356
#57 0x00002b9471274283 in QObject::activate_signal (this=0x9c85b0, signal=2) at kernel/qobject.cpp:2325
#58 0x00002b94716670ea in QTimer::timeout (this=0x9c85b0) at .moc/debug-shared-mt/moc_qtimer.cpp:82
#59 0x00002b94712a11f1 in QTimer::event (this=0x9c85b0, e=0x7fff3b991fd0) at kernel/qtimer.cpp:219
#60 0x00002b9471200562 in QApplication::internalNotify (this=0x7fff3b992400, receiver=0x9c85b0, e=0x7fff3b991fd0)
    at kernel/qapplication.cpp:2635
#61 0x00002b94712024b1 in QApplication::notify (this=0x7fff3b992400, receiver=0x9c85b0, e=0x7fff3b991fd0) at kernel/qapplication.cpp:2358
#62 0x00002b94704b5e5e in KApplication::notify () from /usr/kde/3.5/lib64/libkdecore.so.4
#63 0x000000000049dda6 in QApplication::sendEvent (receiver=0x9c85b0, event=0x7fff3b991fd0) at /usr/qt/3/include/qapplication.h:496
#64 0x00002b94711f1a54 in QEventLoop::activateTimers (this=0x666690) at kernel/qeventloop_unix.cpp:556
#65 0x00002b947119e8ab in QEventLoop::processEvents (this=0x666690, flags=4) at kernel/qeventloop_x11.cpp:389
#66 0x00002b947121e0b2 in QEventLoop::enterLoop (this=0x666690) at kernel/qeventloop.cpp:198
#67 0x00002b947121debb in QEventLoop::exec (this=0x666690) at kernel/qeventloop.cpp:145
#68 0x00002b94712021b6 in QApplication::exec (this=0x7fff3b992400) at kernel/qapplication.cpp:2758
#69 0x0000000000457231 in main (argc=4, argv=0x7fff3b992728) at main.cpp:177
#70 0x00002b9473f6b374 in __libc_start_main () from /lib/libc.so.6
#71 0x000000000042e199 in _start ()


Thank you KTorrent developers! :)
_________________
"Thou shalt not steal." - STOP PIRACY NOW!
J
Registered Member
Posts
86
Karma
0

Mon May 21, 2007 2:15 pm
Ohyeah, this has already happened three times, and every time, a KDE file operation progress dialog is left on the screen at 0%. Pressing cancel doesn't help. Probably happens every time KTorrent tries to rotate its logs.


Thank you KTorrent developers! :)
_________________
"Thou shalt not steal." - STOP PIRACY NOW!
George
Moderator
Posts
5421
Karma
1

Mon May 21, 2007 7:08 pm
I see the problem, it's KIO::NetAccess, which lets the Qt event loop run further when it's copying the files, and the moment something gets logged you have a deadlock.
George
Moderator
Posts
5421
Karma
1

Mon May 21, 2007 7:30 pm
OK, I have disabled auto log rotation for now, don't have the time to come up with a solution today.


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot]