Bug 309332 - Crash on syndication starting new torrent
Summary: Crash on syndication starting new torrent
Status: RESOLVED FIXED
Alias: None
Product: ktorrent
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Joris Guisson
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-10-31 17:58 UTC by John Aylward
Modified: 2012-12-21 15:15 UTC (History)
0 users

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 John Aylward 2012-10-31 17:58:00 UTC
Application: ktorrent (4.2.1)
KDE Platform Version: 4.8.5 (4.8.5) (Compiled from sources)
Qt Version: 4.8.2
Operating System: Linux 3.5.7-gentoo x86_64
Distribution: "Gentoo Base System release 2.1"

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

Syndication just downloaded a new torrent file
Torrent started
then KTorrent crashed

The crash can be reproduced some of the time.

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

Thread 5 (Thread 0x7f62e63bb700 (LWP 26889)):
#0  0x00007f62fbab0513 in *__GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f62f6b79bf6 in g_main_context_poll (n_fds=1, fds=0x7f62d8014680, timeout=458, context=0x7f62d80009a0, priority=<optimized out>) at gmain.c:3440
#2  g_main_context_iterate (context=0x7f62d80009a0, block=1, dispatch=1, self=<optimized out>) at gmain.c:3141
#3  0x00007f62f6b79d0c in g_main_context_iteration (context=0x7f62d80009a0, may_block=1) at gmain.c:3207
#4  0x00007f62fd65a096 in QEventDispatcherGlib::processEvents (this=0x7f62d80008c0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:426
#5  0x00007f62fd629a72 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f62fd629d65 in QEventLoop::exec (this=0x7f62e63bae00, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007f62fd527508 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x00007f62fd529be7 in QThreadPrivate::start (arg=0x1ff7c60) at thread/qthread_unix.cpp:307
#9  0x00007f62fd292f26 in start_thread (arg=0x7f62e63bb700) at pthread_create.c:305
#10 0x00007f62fbab94ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 4 (Thread 0x7f62e6bbc700 (LWP 26890)):
#0  0x00007f62f6b797e4 in g_main_context_dispatch (context=0x7f62e00008c0) at gmain.c:3078
#1  0x00007f62f6b79c58 in g_main_context_iterate (context=0x7f62e00008c0, block=1, dispatch=1, self=<optimized out>) at gmain.c:3146
#2  0x00007f62f6b79d0c in g_main_context_iteration (context=0x7f62e00008c0, may_block=1) at gmain.c:3207
#3  0x00007f62fd65a096 in QEventDispatcherGlib::processEvents (this=0x7f62e0002800, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f62fd629a72 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f62fd629d65 in QEventLoop::exec (this=0x7f62e6bbbe00, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f62fd527508 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007f62fd529be7 in QThreadPrivate::start (arg=0x27dce10) at thread/qthread_unix.cpp:307
#8  0x00007f62fd292f26 in start_thread (arg=0x7f62e6bbc700) at pthread_create.c:305
#9  0x00007f62fbab94ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 3 (Thread 0x7f62dffff700 (LWP 26914)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:215
#1  0x00007f62fd52a3fa in thread_sleep (ti=0x7f62dfffed90) at thread/qthread_unix.cpp:444
#2  0x00007f62fd52a550 in QThread::msleep (msecs=<optimized out>) at thread/qthread_unix.cpp:470
#3  0x00007f62ffa110e8 in net::DownloadThread::update (this=0x1ebd620) at /var/tmp/portage/net-libs/libktorrent-1.2.1/work/libktorrent-1.2.1-2/src/net/downloadthread.cpp:91
#4  0x00007f62ffa11149 in net::NetworkThread::run (this=0x1ebd620) at /var/tmp/portage/net-libs/libktorrent-1.2.1/work/libktorrent-1.2.1-2/src/net/networkthread.cpp:48
#5  0x00007f62fd529be7 in QThreadPrivate::start (arg=0x1ebd620) at thread/qthread_unix.cpp:307
#6  0x00007f62fd292f26 in start_thread (arg=0x7f62dffff700) at pthread_create.c:305
#7  0x00007f62fbab94ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 2 (Thread 0x7f62df7fe700 (LWP 26915)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:215
#1  0x00007f62fd52a3fa in thread_sleep (ti=0x7f62df7fdd90) at thread/qthread_unix.cpp:444
#2  0x00007f62fd52a550 in QThread::msleep (msecs=<optimized out>) at thread/qthread_unix.cpp:470
#3  0x00007f62ffa109a8 in net::UploadThread::update (this=0x1ebf190) at /var/tmp/portage/net-libs/libktorrent-1.2.1/work/libktorrent-1.2.1-2/src/net/uploadthread.cpp:89
#4  0x00007f62ffa11149 in net::NetworkThread::run (this=0x1ebf190) at /var/tmp/portage/net-libs/libktorrent-1.2.1/work/libktorrent-1.2.1-2/src/net/networkthread.cpp:48
#5  0x00007f62fd529be7 in QThreadPrivate::start (arg=0x1ebf190) at thread/qthread_unix.cpp:307
#6  0x00007f62fd292f26 in start_thread (arg=0x7f62df7fe700) at pthread_create.c:305
#7  0x00007f62fbab94ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x7f62f252e780 (LWP 26887)):
[KCrash Handler]
#6  0x000000000245d990 in ?? ()
#7  0x00007f62e54f4c55 in kt::LinkDownloader::downloadFinished (this=0x2d19a90, j=<optimized out>) at /var/tmp/portage/net-p2p/ktorrent-4.2.1/work/ktorrent-4.2.1/plugins/syndication/linkdownloader.cpp:95
#8  0x00007f62fd640762 in QMetaObject::activate (sender=0x2d71740, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff73be4550) at kernel/qobject.cpp:3547
#9  0x00007f62fdad5572 in KJob::result (this=<optimized out>, _t1=0x2d71740) at /var/tmp/portage/kde-base/kdelibs-4.8.5/work/kdelibs-4.8.5_build/kdecore/kjob.moc:208
#10 0x00007f62fdad55b0 in KJob::emitResult (this=0x2d71740) at /var/tmp/portage/kde-base/kdelibs-4.8.5/work/kdelibs-4.8.5/kdecore/jobs/kjob.cpp:318
#11 0x00007f62febc842d in KIO::SimpleJob::slotFinished (this=0x2d71740) at /var/tmp/portage/kde-base/kdelibs-4.8.5/work/kdelibs-4.8.5/kio/kio/job.cpp:494
#12 0x00007f62febcc32e in KIO::TransferJob::slotFinished (this=0x2d71740) at /var/tmp/portage/kde-base/kdelibs-4.8.5/work/kdelibs-4.8.5/kio/kio/job.cpp:1081
#13 0x00007f62fd640762 in QMetaObject::activate (sender=0x25c3fd0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3547
#14 0x00007f62fec74c89 in KIO::SlaveInterface::dispatch (this=<optimized out>, _cmd=104, rawdata=...) at /var/tmp/portage/kde-base/kdelibs-4.8.5/work/kdelibs-4.8.5/kio/kio/slaveinterface.cpp:172
#15 0x00007f62fec71c2c in KIO::SlaveInterface::dispatch (this=0x25c3fd0) at /var/tmp/portage/kde-base/kdelibs-4.8.5/work/kdelibs-4.8.5/kio/kio/slaveinterface.cpp:88
#16 0x00007f62fec64e96 in KIO::Slave::gotInput (this=0x25c3fd0) at /var/tmp/portage/kde-base/kdelibs-4.8.5/work/kdelibs-4.8.5/kio/kio/slave.cpp:344
#17 0x00007f62fd640762 in QMetaObject::activate (sender=0x30d6230, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3547
#18 0x00007f62feb98dad in KIO::ConnectionPrivate::dequeue (this=0x258e240) at /var/tmp/portage/kde-base/kdelibs-4.8.5/work/kdelibs-4.8.5/kio/kio/connection.cpp:82
#19 0x00007f62fd63fb5e in QObject::event (this=0x30d6230, e=<optimized out>) at kernel/qobject.cpp:1195
#20 0x00007f62fc76dbfc in QApplicationPrivate::notify_helper (this=0x1eb37f0, receiver=0x30d6230, e=0x2e28c80) at kernel/qapplication.cpp:4551
#21 0x00007f62fc7726cf in QApplication::notify (this=<optimized out>, receiver=0x30d6230, e=0x2e28c80) at kernel/qapplication.cpp:4412
#22 0x000000000043ca31 in kt::App::notify (this=<optimized out>, receiver=<optimized out>, event=<optimized out>) at /var/tmp/portage/net-p2p/ktorrent-4.2.1/work/ktorrent-4.2.1/ktorrent/app.cpp:99
#23 0x00007f62fd62ad8b in QCoreApplication::notifyInternal (this=0x7fff73be5960, receiver=0x30d6230, event=0x2e28c80) at kernel/qcoreapplication.cpp:915
#24 0x00007f62fd62e387 in sendEvent (event=0x2e28c80, receiver=0x30d6230) at kernel/qcoreapplication.h:231
#25 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x1e83670) at kernel/qcoreapplication.cpp:1539
#26 0x00007f62fd659ef3 in sendPostedEvents () at kernel/qcoreapplication.h:236
#27 postEventSourceDispatch (s=<optimized out>) at kernel/qeventdispatcher_glib.cpp:279
#28 0x00007f62f6b798fa in g_main_dispatch (context=0x1ef4f10) at gmain.c:2539
#29 g_main_context_dispatch (context=0x1ef4f10) at gmain.c:3075
#30 0x00007f62f6b79c58 in g_main_context_iterate (context=0x1ef4f10, block=1, dispatch=1, self=<optimized out>) at gmain.c:3146
#31 0x00007f62f6b79d0c in g_main_context_iteration (context=0x1ef4f10, may_block=1) at gmain.c:3207
#32 0x00007f62fd65a05a in QEventDispatcherGlib::processEvents (this=0x1e84b30, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#33 0x00007f62fc813be6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#34 0x00007f62fd629a72 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#35 0x00007f62fd629d65 in QEventLoop::exec (this=0x7fff73be58c0, flags=...) at kernel/qeventloop.cpp:204
#36 0x00007f62fd62e81b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#37 0x000000000042c6b2 in main (argc=5, argv=0x7fff73be67d8) at /var/tmp/portage/net-p2p/ktorrent-4.2.1/work/ktorrent-4.2.1/ktorrent/main.cpp:177

This bug may be a duplicate of or related to bug 287850.

Possible duplicates by query: bug 287850.

Reported using DrKonqi
Comment 1 Joris Guisson 2012-12-21 15:15:29 UTC
Git commit 3558cbfcca9089bea4145877882a8cd18e0895a7 by Joris Guisson.
Committed on 21/12/2012 at 16:00.
Pushed by guisson into branch 'master'.

Fix crash in torrent loading code under some circumstances

M  +1    -0    ChangeLog
M  +47   -99   ktorrent/core.cpp
M  +694  -685  ktorrent/dialogs/fileselectdlg.cpp
M  +67   -64   ktorrent/dialogs/fileselectdlg.h
M  +1    -1    ktorrent/dialogs/importdialog.cpp
M  +1    -1    ktorrent/dialogs/torrentmigratordlg.cpp
M  +1    -9    ktorrent/gui.cpp
M  +0    -1    ktorrent/gui.h
M  +0    -9    libktcore/interfaces/coreinterface.h
M  +0    -3    libktcore/interfaces/guiinterface.h

http://commits.kde.org/ktorrent/3558cbfcca9089bea4145877882a8cd18e0895a7