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

[SVN 559992] Crash - removing torrent while authentificating

Tags: None
(comma "," separated)
Moshroum
Registered Member
Posts
63
Karma
0
I tried to download newest Planetshift, but noticed that I wanted to download the Windows version (which I didnt wanted). So I removed the torrent after ca. 10 seconds. Some seconds later ktorrent hang and gave me following backtrace:

Code: Select all
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1232386384 (LWP 25060)]
0xb74386e2 in QString::operator= () from /usr/qt/3/lib/libqt-mt.so.3
(gdb) bt
#0  0xb74386e2 in QString::operator= () from /usr/qt/3/lib/libqt-mt.so.3
#1  0xb7ee9ae3 in PeerID (this=0x8669174, pid=@0x8759600) at peerid.cpp:56
#2  0xb7ed871a in Authenticate (this=0x86690b0, ip=@0xbf88efc4, port=6881, info_hash=@0x87595e8, peer_id=@0x8759600, pman=@0x87433d0)
    at authenticate.cpp:31
#3  0xb7ecd281 in bt::PeerManager::peerAuthenticated (this=0x87433d0, auth=0x86aff68, ok=false) at peermanager.cpp:213
#4  0xb7ed831b in bt::Authenticate::onFinish (this=0x86aff68, succes=false) at authenticate.cpp:88
#5  0xb7f05c4e in bt::AuthenticateBase::onTimeout (this=0x86aff68) at authenticatebase.cpp:161
#6  0xb7f05ca8 in bt::AuthenticateBase::qt_invoke (this=0x86aff68, _id=2, _o=0xbf88f0e8) at authenticatebase.moc:87
#7  0xb7ed7fa5 in bt::Authenticate::qt_invoke (this=0x86aff68, _id=2, _o=0xbf88f0e8) at authenticate.moc:84
#8  0xb7eadd05 in mse::EncryptedAuthenticate::qt_invoke (this=0x86aff68, _id=2, _o=0xbf88f0e8) at encryptedauthenticate.moc:87
#9  0xb716f2c9 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#10 0xb716fa9d in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#11 0xb74a2f29 in QTimer::timeout () from /usr/qt/3/lib/libqt-mt.so.3
#12 0xb7191efe in QTimer::event () from /usr/qt/3/lib/libqt-mt.so.3
#13 0xb7110197 in QApplication::internalNotify () from /usr/qt/3/lib/libqt-mt.so.3
#14 0xb7110e21 in QApplication::notify () from /usr/qt/3/lib/libqt-mt.so.3
#15 0xb7797b5c in KApplication::notify () from /usr/kde/3.5/lib/libkdecore.so.4
#16 0xbf88f5a0 in ?? ()
#17 0x086aff94 in ?? ()
#18 0xbf88f384 in ?? ()
#19 0xbf88f2b8 in ?? ()
#20 0xb6d2cbad in malloc () from /lib/libc.so.6
Previous frame inner to this frame (corrupt stack?)



After trying it another time it run ok, but after adding it again and removing after 5 seconds, it crashed again (little bit different):

Code: Select all
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1233054032 (LWP 25517)]
SHA1Hash (this=0x873c3f4, other=@0x40) at sha1hash.cpp:39
39                              hash[i] = other.hash[i];
(gdb) bt
#0  SHA1Hash (this=0x873c3f4, other=@0x40) at sha1hash.cpp:39
#1  0xb7e356ff in Authenticate (this=0x873c348, ip=@0xbf94b084, port=6881, info_hash=@0x40, peer_id=@0x58, pman=@0x86e2150)
    at authenticate.cpp:31
#2  0xb7e2a281 in bt::PeerManager::peerAuthenticated (this=0x86e2150, auth=0x87a4240, ok=false) at peermanager.cpp:213
#3  0xb7e3531b in bt::Authenticate::onFinish (this=0x87a4240, succes=false) at authenticate.cpp:88
#4  0xb7e62c4e in bt::AuthenticateBase::onTimeout (this=0x87a4240) at authenticatebase.cpp:161
#5  0xb7e62ca8 in bt::AuthenticateBase::qt_invoke (this=0x87a4240, _id=2, _o=0xbf94b1a8) at authenticatebase.moc:87
#6  0xb7e34fa5 in bt::Authenticate::qt_invoke (this=0x87a4240, _id=2, _o=0xbf94b1a8) at authenticate.moc:84
#7  0xb7e0ad05 in mse::EncryptedAuthenticate::qt_invoke (this=0x87a4240, _id=2, _o=0xbf94b1a8) at encryptedauthenticate.moc:87
#8  0xb70cc2c9 in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#9  0xb70cca9d in QObject::activate_signal () from /usr/qt/3/lib/libqt-mt.so.3
#10 0xb73fff29 in QTimer::timeout () from /usr/qt/3/lib/libqt-mt.so.3
#11 0xb70eeefe in QTimer::event () from /usr/qt/3/lib/libqt-mt.so.3
#12 0xb706d197 in QApplication::internalNotify () from /usr/qt/3/lib/libqt-mt.so.3
#13 0xb706de21 in QApplication::notify () from /usr/qt/3/lib/libqt-mt.so.3
#14 0xb76f4b5c in KApplication::notify () from /usr/kde/3.5/lib/libkdecore.so.4
#15 0xbf94b660 in ?? ()
#16 0x087a426c in ?? ()
#17 0xbf94b444 in ?? ()
#18 0xbf94b378 in ?? ()
#19 0xb6c89bad in malloc () from /lib/libc.so.6
Previous frame inner to this frame (corrupt stack?)


So it looks like I remove the torrent with the peers, but the authentification is running and will crash :(

EDIT: The Crash in SHA1Hash seems to happen more often (4 in 5 times). The peers with encryption support are listed as "unknown client" so I dont know if it is a problem with a specific client on the other side.
George
Moderator
Posts
5421
Karma
1

Sat Jul 08, 2006 9:36 pm
I think I know what the problem is. I will fix it tomorrow morning.
George
Moderator
Posts
5421
Karma
1

Sun Jul 09, 2006 8:02 am
OK, it is fixed now
Moshroum
Registered Member
Posts
63
Karma
0

Sun Jul 09, 2006 8:18 am
Ok, made some random tests and couldnt crash ktorrent this way (at the moment).


Bookmarks



Who is online

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