Bug 266622 - Still Crashing... Old QT again?
Summary: Still Crashing... Old QT again?
Status: RESOLVED FIXED
Alias: None
Product: ktorrent
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash (vote)
Target Milestone: ---
Assignee: Joris Guisson
URL:
Keywords:
: 259899 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-02-18 18:20 UTC by Nicolás Adamo
Modified: 2011-02-19 18:57 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nicolás Adamo 2011-02-18 18:20:47 UTC
Application: ktorrent (4.1rc1)
KDE Platform Version: 4.5.1 (KDE 4.5.1)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-25-generic x86_64
Distribution: Ubuntu 10.10

-- Information about the crash:
- What I was doing when the application crashed:

scrolled with wheel shortly after clicking on "Suspend KTorrent"

The crash can be reproduced every time.

-- Backtrace:
Application: KTorrent (ktorrent), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f33d39cd760 (LWP 9919))]

Thread 8 (Thread 0x7f33be60c700 (LWP 9921)):
#0  0x00007f33cebfc203 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=593) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f33c9d79009 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f33c9d7945c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007f33d09591e6 in QEventDispatcherGlib::processEvents (this=0x7f33b80008b0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#4  0x00007f33d092ba02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f33d092bdec in QEventLoop::exec (this=0x7f33be60bdd0, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f33d08362fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007f33d3525536 in utp::UTPServerThread::run (this=0x25f7e90) at /home/nico/libktorrent-1.1rc1/src/utp/utpserverthread.cpp:41
#8  0x00007f33d083927e in QThreadPrivate::start (arg=0x25f7e90) at thread/qthread_unix.cpp:266
#9  0x00007f33d05ae971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#10 0x00007f33cec0892d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f33bee0d700 (LWP 9922)):
#0  0x00007f33cebfc203 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=500) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f33d34361de in net::Poll::poll (this=0x7f33bee0cd40, timeout=500) at /home/nico/libktorrent-1.1rc1/src/net/poll.cpp:99
#2  0x00007f33d34d3e65 in dht::RPCServer::Private::run (this=0x26001e0) at /home/nico/libktorrent-1.1rc1/src/dht/rpcserver.cpp:95
#3  0x00007f33d083927e in QThreadPrivate::start (arg=0x26001e0) at thread/qthread_unix.cpp:266
#4  0x00007f33d05ae971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#5  0x00007f33cec0892d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f33b5569700 (LWP 9923)):
#0  0x00007f33cebfc203 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f33c9d79009 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f33c9d7945c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007f33d09591e6 in QEventDispatcherGlib::processEvents (this=0x343cee0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#4  0x00007f33d092ba02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f33d092bdec in QEventLoop::exec (this=0x7f33b5568db0, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f33d08362fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007f33d090b5f8 in QInotifyFileSystemWatcherEngine::run (this=0x343c430) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f33d083927e in QThreadPrivate::start (arg=0x343c430) at thread/qthread_unix.cpp:266
#9  0x00007f33d05ae971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#10 0x00007f33cec0892d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f33b2970700 (LWP 9924)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f33b3c7b20e in ?? () from /usr/lib/libQtWebKit.so.4
#2  0x00007f33b3c7b329 in ?? () from /usr/lib/libQtWebKit.so.4
#3  0x00007f33d05ae971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#4  0x00007f33cec0892d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f33ab657700 (LWP 9948)):
#0  0x00007f33d3436039 in net::Poll::add (this=0x246f2e0, fd=178, mode=net::Poll::INPUT) at /home/nico/libktorrent-1.1rc1/src/net/poll.cpp:59
#1  0x00007f33d342baf6 in net::Socket::prepare (this=0x7f33b8a3fe60, p=0x246f2e0, mode=net::Poll::INPUT) at /home/nico/libktorrent-1.1rc1/src/net/socket.cpp:454
#2  0x00007f33d342f78c in net::DownloadThread::waitForSocketReady (this=0x246f2d0) at /home/nico/libktorrent-1.1rc1/src/net/downloadthread.cpp:123
#3  0x00007f33d342f3ff in net::DownloadThread::update (this=0x246f2d0) at /home/nico/libktorrent-1.1rc1/src/net/downloadthread.cpp:48
#4  0x00007f33d342fd57 in net::NetworkThread::run (this=0x246f2d0) at /home/nico/libktorrent-1.1rc1/src/net/networkthread.cpp:48
#5  0x00007f33d083927e in QThreadPrivate::start (arg=0x246f2d0) at thread/qthread_unix.cpp:266
#6  0x00007f33d05ae971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#7  0x00007f33cec0892d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f33aae56700 (LWP 9949)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f33d0838533 in QMutexPrivate::wait (this=0x246f250, timeout=-1) at thread/qmutex_unix.cpp:84
#2  0x00007f33d0833ee5 in QMutex::lock (this=0x246f4f0) at thread/qmutex.cpp:167
#3  0x00007f33d342c19a in net::SocketMonitor::lock (this=0x720540) at /home/nico/libktorrent-1.1rc1/src/net/socketmonitor.cpp:108
#4  0x00007f33d342e22d in net::UploadThread::waitForSocketsReady (this=0x246f970) at /home/nico/libktorrent-1.1rc1/src/net/uploadthread.cpp:112
#5  0x00007f33d342df67 in net::UploadThread::update (this=0x246f970) at /home/nico/libktorrent-1.1rc1/src/net/uploadthread.cpp:45
#6  0x00007f33d342fd57 in net::NetworkThread::run (this=0x246f970) at /home/nico/libktorrent-1.1rc1/src/net/networkthread.cpp:48
#7  0x00007f33d083927e in QThreadPrivate::start (arg=0x246f970) at thread/qthread_unix.cpp:266
#8  0x00007f33d05ae971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#9  0x00007f33cec0892d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f33aa655700 (LWP 9950)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f33d0839e3b in wait (this=<value optimized out>, mutex=0x7f33b805dca0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x7f33b805dca0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f33d3435016 in net::ReverseResolverThread::run (this=0x7f33b805dc90) at /home/nico/libktorrent-1.1rc1/src/net/reverseresolver.cpp:123
#4  0x00007f33d083927e in QThreadPrivate::start (arg=0x7f33b805dc90) at thread/qthread_unix.cpp:266
#5  0x00007f33d05ae971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#6  0x00007f33cec0892d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f33d39cd760 (LWP 9919)):
[KCrash Handler]
#6  0x00007f33d3441f15 in bt::Authenticate::stop (this=0x5a649e0) at /home/nico/libktorrent-1.1rc1/src/peer/authenticate.cpp:211
#7  0x00007f33d3466b20 in bt::PeerConnector::Private::~Private (this=0x530ab30, __in_chrg=<value optimized out>) at /home/nico/libktorrent-1.1rc1/src/peer/peerconnector.cpp:47
#8  0x00007f33d34660be in bt::PeerConnector::~PeerConnector (this=0x3b9c490, __in_chrg=<value optimized out>) at /home/nico/libktorrent-1.1rc1/src/peer/peerconnector.cpp:77
#9  0x00007f33d3442665 in QtSharedPointer::ExternalRefCount<bt::PeerConnector>::internalDestroy (this=0x4748a80) at /usr/include/qt4/QtCore/qsharedpointer_impl.h:392
#10 0x00007f33d34423e1 in QtSharedPointer::ExternalRefCount<bt::PeerConnector>::deref (this=0x4748a80) at /usr/include/qt4/QtCore/qsharedpointer_impl.h:330
#11 0x00007f33d34421f7 in QtSharedPointer::ExternalRefCount<bt::PeerConnector>::~ExternalRefCount (this=0x4748a80, __in_chrg=<value optimized out>) at /usr/include/qt4/QtCore/qsharedpointer_impl.h:381
#12 0x00007f33d34420b0 in QSharedPointer<bt::PeerConnector>::~QSharedPointer (this=0x4748a80, __in_chrg=<value optimized out>) at /usr/include/qt4/QtCore/qsharedpointer_impl.h:442
#13 0x00007f33d3457a46 in QHashNode<QSharedPointer<bt::PeerConnector>, QHashDummyValue>::~QHashNode (this=0x4748a70, __in_chrg=<value optimized out>) at /usr/include/qt4/QtCore/qhash.h:217
#14 0x00007f33d3457a68 in QHash<QSharedPointer<bt::PeerConnector>, QHashDummyValue>::deleteNode2 (node=0x4748a70) at /usr/include/qt4/QtCore/qhash.h:519
#15 0x00007f33d0855d8d in QHashData::free_helper (this=0x41a2da0, node_delete=0x7f33d3457a48 <QHash<QSharedPointer<bt::PeerConnector>, QHashDummyValue>::deleteNode2(QHashData::Node*)>) at tools/qhash.cpp:271
#16 0x00007f33d3456caf in QHash<QSharedPointer<bt::PeerConnector>, QHashDummyValue>::freeData (this=0x2995618, x=0x41a2da0) at /usr/include/qt4/QtCore/qhash.h:568
#17 0x00007f33d3457780 in QHash<QSharedPointer<bt::PeerConnector>, QHashDummyValue>::operator= (this=0x2995618, other=...) at /usr/include/qt4/QtCore/qhash.h:594
#18 0x00007f33d345690e in QHash<QSharedPointer<bt::PeerConnector>, QHashDummyValue>::clear (this=0x2995618) at /usr/include/qt4/QtCore/qhash.h:574
#19 0x00007f33d34557d2 in QSet<QSharedPointer<bt::PeerConnector> >::clear (this=0x2995618) at /usr/include/qt4/QtCore/qset.h:82
#20 0x00007f33d3451c97 in bt::PeerManager::stop (this=0x298e6c0) at /home/nico/libktorrent-1.1rc1/src/peer/peermanager.cpp:429
#21 0x00007f33d34a2765 in bt::TorrentControl::stop (this=0x2971770, wjob=0x0) at /home/nico/libktorrent-1.1rc1/src/torrent/torrentcontrol.cpp:499
#22 0x00007f33d30e8cb3 in kt::QueueManager::stopSafely (this=0x2588890, tc=0x2971770, wjob=0x0) at /home/nico/ktorrent-4.1rc1/libktcore/torrent/queuemanager.cpp:747
#23 0x00007f33d30e8a09 in kt::QueueManager::setSuspendedState (this=0x2588890, suspend=true) at /home/nico/ktorrent-4.1rc1/libktcore/torrent/queuemanager.cpp:714
#24 0x00000000004348b3 in kt::Core::setSuspendedState (this=0x259ded0, suspend=true) at /home/nico/ktorrent-4.1rc1/ktorrent/core.cpp:1192
#25 0x0000000000446ab9 in kt::TorrentActivity::suspendQueue (this=0x25c26f0, suspend=true) at /home/nico/ktorrent-4.1rc1/ktorrent/torrentactivity.cpp:331
#26 0x0000000000427a37 in kt::TorrentActivity::qt_metacall (this=0x25c26f0, _c=QMetaObject::InvokeMetaMethod, _id=11, _a=0x7fff3988e7b0) at /home/nico/ktorrent-4.1rc1/build/ktorrent/moc_torrentactivity.cpp:103
#27 0x00007f33d0944b27 in QMetaObject::activate (sender=0x2dcab80, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x2) at kernel/qobject.cpp:3280
#28 0x00007f33cf7f47f2 in QAction::toggled (this=0x5a649e0, _t1=true) at .moc/release-shared/moc_qaction.cpp:276
#29 0x00007f33cf7f5eab in QAction::setChecked (this=0x2dcab80, b=false) at kernel/qaction.cpp:1072
#30 0x00007f33cf7f5fb5 in QAction::activate (this=0x2dcab80, event=<value optimized out>) at kernel/qaction.cpp:1253
#31 0x00007f33cfbd557a in QAbstractButtonPrivate::click (this=0x37269d0) at widgets/qabstractbutton.cpp:528
#32 0x00007f33cfbd582c in QAbstractButton::mouseReleaseEvent (this=0x300fce0, e=0x7fff3988f170) at widgets/qabstractbutton.cpp:1121
#33 0x00007f33cfca552a in QToolButton::mouseReleaseEvent (this=0x5a649e0, e=0x0) at widgets/qtoolbutton.cpp:721
#34 0x00007f33cf85204e in QWidget::event (this=0x300fce0, event=0x7fff3988f170) at kernel/qwidget.cpp:8187
#35 0x00007f33cf7fbfdc in QApplicationPrivate::notify_helper (this=0x24a6120, receiver=0x300fce0, e=0x7fff3988f170) at kernel/qapplication.cpp:4396
#36 0x00007f33cf80230e in QApplication::notify (this=0x7fff3988fe50, receiver=0x300fce0, e=0x7fff3988f170) at kernel/qapplication.cpp:3959
#37 0x0000000000442cf1 in kt::App::notify (this=0x7fff3988fe50, receiver=0x300fce0, event=0x7fff3988f170) at /home/nico/ktorrent-4.1rc1/ktorrent/app.cpp:97
#38 0x00007f33d092ccdc in QCoreApplication::notifyInternal (this=0x7fff3988fe50, receiver=0x300fce0, event=0x7fff3988f170) at kernel/qcoreapplication.cpp:732
#39 0x00007f33cf800dbe in sendEvent (receiver=0x300fce0, event=0x7fff3988f170, alienWidget=0x300fce0, nativeWidget=0x3724c30, buttonDown=<value optimized out>, lastMouseReceiver=<value optimized out>, spontaneous=true) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#40 QApplicationPrivate::sendMouseEvent (receiver=0x300fce0, event=0x7fff3988f170, alienWidget=0x300fce0, nativeWidget=0x3724c30, buttonDown=<value optimized out>, lastMouseReceiver=<value optimized out>, spontaneous=true) at kernel/qapplication.cpp:3058
#41 0x00007f33cf884345 in QETWidget::translateMouseEvent (this=0x3724c30, event=<value optimized out>) at kernel/qapplication_x11.cpp:4403
#42 0x00007f33cf882c5c in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fff3988fa90) at kernel/qapplication_x11.cpp:3536
#43 0x00007f33cf8af0e2 in x11EventSourceDispatch (s=0x249ffa0, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146
#44 0x00007f33c9d75342 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#45 0x00007f33c9d792a8 in ?? () from /lib/libglib-2.0.so.0
#46 0x00007f33c9d7945c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#47 0x00007f33d0959193 in QEventDispatcherGlib::processEvents (this=0x246d350, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415
#48 0x00007f33cf8aea4e in QGuiEventDispatcherGlib::processEvents (this=0x5a649e0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#49 0x00007f33d092ba02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#50 0x00007f33d092bdec in QEventLoop::exec (this=0x7fff3988fdc0, flags=) at kernel/qeventloop.cpp:201
#51 0x00007f33d092febb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#52 0x000000000042ce46 in main (argc=5, argv=0x7fff39890cc8) at /home/nico/ktorrent-4.1rc1/ktorrent/main.cpp:177

Reported using DrKonqi
Comment 1 Joris Guisson 2011-02-18 18:42:24 UTC
Can you run ktorrent under valgrind ?

valgrind --tool=memcheck --num-callers=50 --log-file=vg.log /usr/bin/ktorrent --nofork

Post the generated vg.log file.

Note that running under valgrind is slow.
Comment 2 Joris Guisson 2011-02-19 18:53:52 UTC
Git commit cf60f4bae24ba740e58db6734ec06a230a4ac9c9 by Joris.
Committed on 19/02/2011 at 18:52.
Pushed by guisson into branch 'master'.

Fix crash in peer authentication cleanup

BUG: 266622

M  +1    -0    ChangeLog     
M  +6    -2    src/peer/authenticate.cpp     
M  +7    -7    src/peer/peerconnector.cpp     

http://commits.kde.org/libktorrent/cf60f4bae24ba740e58db6734ec06a230a4ac9c9
Comment 3 Joris Guisson 2011-02-19 18:54:50 UTC
Git commit 821caa69aeb55a0125d9b1c2a839fb47d6a0af20 by Joris.
Committed on 19/02/2011 at 18:52.
Pushed by guisson into branch '1.1'.

Backport to 1.1: Fix crash in peer authentication cleanup

CCBUG: 266622

M  +1    -0    ChangeLog     
M  +6    -2    src/peer/authenticate.cpp     
M  +7    -7    src/peer/peerconnector.cpp     

http://commits.kde.org/libktorrent/821caa69aeb55a0125d9b1c2a839fb47d6a0af20
Comment 4 Joris Guisson 2011-02-19 18:57:33 UTC
*** Bug 259899 has been marked as a duplicate of this bug. ***