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

[SVN 559992] Locks when getting many "packet_length too

Tags: None
(comma "," separated)
Moshroum
Registered Member
Posts
63
Karma
0
Ok, same torrent and configuration as the last two. I noticed, that ktorrent locked again while using dht and downloading. So I made a backtrace...didnt liked the result, continued, made another backtrace, noticed the same backtrace, made a breakpoint on malloc and noticed that it will never break. So I am sure that ktorrent is locked to death :(
(did the same with __lll_mutex_lock_wait to be sure).

Code: Select all
(gdb) bt
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb6a89b9e in __lll_mutex_lock_wait () from /lib/libpthread.so.0
#2  0xb6a864f3 in _L_mutex_lock_47 () from /lib/libpthread.so.0
#3  0xbfc25970 in ?? ()
#4  0xb6c9cbad in malloc () from /lib/libc.so.6
#5  0xb6cfc396 in pthread_mutex_lock () from /lib/libc.so.6
#6  0xb73734e0 in QRealMutexPrivate::lock () from /usr/qt/3/lib/libqt-mt.so.3
#7  0xb7373324 in QMutex::lock () from /usr/qt/3/lib/libqt-mt.so.3
#8  0xb7e28de3 in bt::Log::lock (this=0x80b6fa0) at log.cpp:179
#9  0xb7e28e25 in bt::Out (arg=131) at log.cpp:185
#10 0xb7e94a66 in dht::DHT::ping (this=0x8151918, r=0xb4001ee0) at dht.cpp:98
#11 0xb7e97864 in dht::PingReq::apply (this=0xb4001ee0, dh_table=0x8151918) at rpcmsg.cpp:245
#12 0xb7e8ce98 in dht::RPCServer::readPacket (this=0x8273f80) at rpcserver.cpp:110
#13 0xb7e8d0b9 in dht::RPCServer::qt_invoke (this=0x8273f80, _id=2, _o=0xbfc25b68) at rpcserver.moc:82
#14 0xb70df2c9 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#15 0xb70dfa9d in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#16 0xb77461da in KNetwork::KClientSocketBase::readyRead () from /usr/kde/3.5/lib/libkdecore.so.4
#17 0x00000009 in ?? ()
#18 0xb7796130 in ?? () from /usr/kde/3.5/lib/libkdecore.so.4
#19 0xb7746204 in KNetwork::KClientSocketBase::slotReadActivity () from /usr/kde/3.5/lib/libkdecore.so.4
#20 0xb77461e6 in KNetwork::KClientSocketBase::slotReadActivity () from /usr/kde/3.5/lib/libkdecore.so.4
#21 0xb7759ad5 in KNetwork::KClientSocketBase::qt_invoke () from /usr/kde/3.5/lib/libkdecore.so.4
#22 0x08231cb8 in ?? ()
#23 0xb6d50120 in __after_morecore_hook () from /lib/libc.so.6
---Type <return> to continue, or q <return> to quit---
#24 0x088754c0 in ?? ()
#25 0xb6d5012c in main_arena () from /lib/libc.so.6
#26 0xb7796130 in ?? () from /usr/kde/3.5/lib/libkdecore.so.4
#27 0x00000002 in ?? ()
#28 0x08231cb8 in ?? ()
#29 0xb7759ba7 in KNetwork::KDatagramSocket::qt_invoke () from /usr/kde/3.5/lib/libkdecore.so.4
#30 0x08231cb8 in ?? ()
#31 0x00000002 in ?? ()
#32 0xbfc25c84 in ?? ()
#33 0xb6c9a45b in _int_free () from /lib/libc.so.6
#34 0xb70df9a2 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#35 0xb7411a60 in QSocketNotifier::activated () from /usr/qt/3/lib/libqt-mt.so.3
#36 0xb70fc99f in QSocketNotifier::event () from /usr/qt/3/lib/libqt-mt.so.3
#37 0xb7080197 in QApplication::internalNotify () from /usr/qt/3/lib/libqt-mt.so.3
#38 0xb7080e21 in QApplication::notify () from /usr/qt/3/lib/libqt-mt.so.3
#39 0xb7707b5c in KApplication::notify () from /usr/kde/3.5/lib/libkdecore.so.4
#40 0xbfc26140 in ?? ()
#41 0x0855ce68 in ?? ()
#42 0xbfc25f28 in ?? ()
#43 0xb73736b9 in QRecursiveMutexPrivate::unlock () from /usr/qt/3/lib/libqt-mt.so.3
Previous frame inner to this frame (corrupt stack?)


I will make some tests to look if it is always the same when ktorrent locks when using dht.
At the moment it is just a post to remind me and give maybe someone else the change to reproduce and check it.

Got another one (not dht related, but there are MANY "packet_length too large" messages in log viewer)

Code: Select all
(gdb) bt
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb6aabb9e in __lll_mutex_lock_wait () from /lib/libpthread.so.0
#2  0xb6aa84f3 in _L_mutex_lock_47 () from /lib/libpthread.so.0
#3  0x08518988 in ?? ()
#4  0xbfc30b38 in ?? ()
#5  0xb7e4c49b in bt::Timer::getElapsedSinceUpdate (this=0x8152a4c) at timer.cpp:52
#6  0xb6d1e396 in pthread_mutex_lock () from /lib/libc.so.6
#7  0xb73954e0 in QRealMutexPrivate::lock () from /usr/qt/3/lib/libqt-mt.so.3
#8  0xb7395324 in QMutex::lock () from /usr/qt/3/lib/libqt-mt.so.3
#9  0xb7e4ade3 in bt::Log::lock (this=0x80b6fa0) at log.cpp:179
#10 0xb7e4ae25 in bt::Out (arg=39) at log.cpp:185
#11 0xb7e97c1c in bt::AuthenticateBase::onTimeout (this=0x87dd400) at authenticatebase.cpp:160
#12 0xb7e97ca8 in bt::AuthenticateBase::qt_invoke (this=0x1c00, _id=2, _o=0xbfc30c88) at authenticatebase.moc:87
#13 0xb7e69fa5 in bt::Authenticate::qt_invoke (this=0x87dd400, _id=2, _o=0xbfc30c88) at authenticate.moc:84
#14 0xb7e3fd05 in mse::EncryptedAuthenticate::qt_invoke (this=0x87dd400, _id=2, _o=0xbfc30c88) at encryptedauthenticate.moc:87
#15 0xb71012c9 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#16 0xb7101a9d in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#17 0xb7434f29 in QTimer::timeout () from /usr/qt/3/lib/libqt-mt.so.3
#18 0xb7123efe in QTimer::event () from /usr/qt/3/lib/libqt-mt.so.3
#19 0xb70a2197 in QApplication::internalNotify () from /usr/qt/3/lib/libqt-mt.so.3
#20 0xb70a2e21 in QApplication::notify () from /usr/qt/3/lib/libqt-mt.so.3
#21 0xb7729b5c in KApplication::notify () from /usr/kde/3.5/lib/libkdecore.so.4
#22 0xbfc31140 in ?? ()
#23 0x087dd42c in ?? ()
---Type <return> to continue, or q <return> to quit---
#24 0xbfc30f24 in ?? ()
#25 0xbfc30e58 in ?? ()
#26 0xb6cbebad in malloc () from /lib/libc.so.6
Previous frame inner to this frame (corrupt stack?)


And another one (again with maaaany "packet_length too large" messages in log-viewer):

Code: Select all
(gdb) bt
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb6adbb9e in __lll_mutex_lock_wait () from /lib/libpthread.so.0
#2  0xb6ad84f3 in _L_mutex_lock_47 () from /lib/libpthread.so.0
#3  0xb2524a98 in ?? ()
#4  0xb250ed08 in ?? ()
#5  0xb6da2128 in main_arena () from /lib/libc.so.6
#6  0xb6da2120 in __after_morecore_hook () from /lib/libc.so.6
#7  0xb6da2120 in __after_morecore_hook () from /lib/libc.so.6
#8  0x086fe1f8 in ?? ()
#9  0xb6da0ff4 in ?? () from /lib/libc.so.6
#10 0x080b6fa0 in ?? ()
#11 0x082fcd48 in ?? ()
#12 0xbfc21d08 in ?? ()
#13 0xb6d4e396 in pthread_mutex_lock () from /lib/libc.so.6
#14 0xb6d4e396 in pthread_mutex_lock () from /lib/libc.so.6
#15 0xb73c54e0 in QRealMutexPrivate::lock () from /usr/qt/3/lib/libqt-mt.so.3
#16 0xb73c5324 in QMutex::lock () from /usr/qt/3/lib/libqt-mt.so.3
#17 0xb7e7ade3 in bt::Log::lock (this=0x80b6fa0) at log.cpp:179
#18 0xb7e7ae25 in bt::Out (arg=65) at log.cpp:185
#19 0xb7eb2a3d in bt::HTTPTracker::onResult (this=0x1edc, j=0x8660fa8) at httptracker.cpp:221
#20 0xb7eb2b39 in bt::HTTPTracker::qt_invoke (this=0x82fcd48, _id=2, _o=0xbfc21e34) at httptracker.moc:93
#21 0xb71312c9 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#22 0xb7bbfa74 in KIO::Job::result () from /usr/kde/3.5/lib/libkio.so.4
#23 0x08660fa8 in ?? ()
---Type <return> to continue, or q <return> to quit---
#24 0x08630218 in ?? ()
#25 0xbfc21e34 in ?? ()
#26 0xb7c11d4c in KIO::Scheduler::_jobFinished () from /usr/kde/3.5/lib/libkio.so.4
#27 0x0820dc90 in ?? ()
#28 0x086154f8 in ?? ()
#29 0x08630218 in ?? ()
#30 0x00000000 in ?? ()


Another one with maaaaannnyyy "packet_length too large" message:
Code: Select all
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb6a79b9e in __lll_mutex_lock_wait () from /lib/libpthread.so.0
#2  0xb6a764f3 in _L_mutex_lock_47 () from /lib/libpthread.so.0
#3  0x085c8ad0 in ?? ()
#4  0xbfece328 in ?? ()
#5  0xb6c8a45b in _int_free () from /lib/libc.so.6
#6  0xb6cec396 in pthread_mutex_lock () from /lib/libc.so.6
#7  0xb73634e0 in QRealMutexPrivate::lock () from /usr/qt/3/lib/libqt-mt.so.3
#8  0xb7363324 in QMutex::lock () from /usr/qt/3/lib/libqt-mt.so.3
#9  0xb7e18de3 in bt::Log::lock (this=0x80b6fa0) at log.cpp:179
#10 0xb7e18e25 in bt::Out (arg=35) at log.cpp:185
#11 0xb7e38291 in bt::Authenticate::onFinish (this=0xb3f14520, succes=true) at authenticate.cpp:78
#12 0xb7e38227 in bt::Authenticate::handshakeRecieved (this=0xb3f14520, full=true) at authenticate.cpp:133
#13 0xb7e65ece in bt::AuthenticateBase::onReadyRead (this=0xb3f14520) at authenticatebase.cpp:145
#14 0xb7e0e7da in mse::EncryptedAuthenticate::onReadyRead (this=0xb3f14520) at encryptedauthenticate.cpp:287
#15 0xb7e74f1c in bt::AuthenticationMonitor::update (this=0xb7ef1b14) at authenticationmonitor.cpp:112
#16 0xb7e642ff in bt::Server::update (this=0x8240bc0) at server.cpp:176
#17 0x080713f4 in KTorrentCore::update (this=0x823d1b0) at ktorrentcore.cpp:460
#18 0x08071c96 in KTorrentCore::qt_invoke (this=0x823d1b0, _id=4, _o=0xbfece728) at ktorrentcore.moc:228
#19 0xb70cf2c9 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#20 0xb70cfa9d in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#21 0xb7402f29 in QTimer::timeout () from /usr/qt/3/lib/libqt-mt.so.3
#22 0xb70f1efe in QTimer::event () from /usr/qt/3/lib/libqt-mt.so.3
#23 0xb7070197 in QApplication::internalNotify () from /usr/qt/3/lib/libqt-mt.so.3
---Type <return> to continue, or q <return> to quit---
#24 0xb7070e21 in QApplication::notify () from /usr/qt/3/lib/libqt-mt.so.3
#25 0xb76f7b5c in KApplication::notify () from /usr/kde/3.5/lib/libkdecore.so.4
#26 0xbfecebe0 in ?? ()
#27 0x0823d1e8 in ?? ()
#28 0xbfece9c4 in ?? ()
#29 0xbfece8f8 in ?? ()
#30 0xb6c8cbad in malloc () from /lib/libc.so.6
Previous frame inner to this frame (corrupt stack?)


I will sleep now and stop spamming the forum.
George
Moderator
Posts
5421
Karma
1

Sun Jul 09, 2006 8:03 am
I have seen this one to, KT went all crazy with packet_length to large messages. I still need to figure out the cause.


EDIT: I think I fixed it
Moshroum
Registered Member
Posts
63
Karma
0

Sun Jul 09, 2006 9:06 am
At the moment it runs fine. I hope it is fixed


Bookmarks



Who is online

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