Bug 308733 - ktorrent crash when dragging torrents to group sidebar
Summary: ktorrent crash when dragging torrents to group sidebar
Status: RESOLVED FIXED
Alias: None
Product: ktorrent
Classification: Applications
Component: general (other bugs)
Version First Reported In: 4.3.0
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Joris Guisson
URL:
Keywords:
: 309570 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-10-20 19:58 UTC by Raul Caba
Modified: 2012-11-05 16:09 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Raul Caba 2012-10-20 19:58:11 UTC
Application: ktorrent (4.3.0)
KDE Platform Version: 4.9.2 "release 511"
Qt Version: 4.8.3
Operating System: Linux 3.4.11-2.16-desktop x86_64
Distribution: "openSUSE 12.2 (x86_64)"

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

I was organizing torrents to groups. I created a few groups. It doesn't crash when selecting torrents and assigning them to groups via right click > advanced > move to group, but if you try to drag the torrents to the group sidebar (an easier method, imo), ktorrent will instantly crash.

The crash can be reproduced every time.

-- Backtrace:
Application: KTorrent (ktorrent), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f17cdd7a780 (LWP 5446))]

Thread 5 (Thread 0x7f17ba4e3700 (LWP 5448)):
#0  0x00007f17cb1e7d9f in __pthread_mutex_unlock_usercnt () from /lib64/libpthread.so.0
#1  0x00007f17c4ff04a1 in g_mutex_unlock () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f17c4fb4196 in g_main_context_check () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f17c4fb4622 in ?? () from /usr/lib64/libglib-2.0.so.0
#4  0x00007f17c4fb47a4 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#5  0x00007f17cb5a4cf6 in QEventDispatcherGlib::processEvents (this=0x7f17b40013e0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0x00007f17cb57585f in QEventLoop::processEvents (this=this@entry=0x7f17ba4e2dd0, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007f17cb575ae8 in QEventLoop::exec (this=0x7f17ba4e2dd0, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007f17cb477fc0 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#9  0x00007f17cb555fcf in QInotifyFileSystemWatcherEngine::run (this=0x2b5f3f0) at io/qfilesystemwatcher_inotify.cpp:248
#10 0x00007f17cb47af9c in QThreadPrivate::start (arg=0x2b5f3f0) at thread/qthread_unix.cpp:338
#11 0x00007f17cb1e4e0e in start_thread () from /lib64/libpthread.so.0
#12 0x00007f17c9a512bd in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7f17a3fff700 (LWP 5463)):
#0  0x00007f17c9a4913f in poll () from /lib64/libc.so.6
#1  0x00007f17cd870cc9 in net::Poll::poll(int) () from /usr/lib64/libktorrent.so.5
#2  0x00007f17cd86dcc2 in ?? () from /usr/lib64/libktorrent.so.5
#3  0x00007f17cd86ddc6 in ?? () from /usr/lib64/libktorrent.so.5
#4  0x00007f17cd86dfb9 in ?? () from /usr/lib64/libktorrent.so.5
#5  0x00007f17cb47af9c in QThreadPrivate::start (arg=0x1bda8f0) at thread/qthread_unix.cpp:338
#6  0x00007f17cb1e4e0e in start_thread () from /lib64/libpthread.so.0
#7  0x00007f17c9a512bd in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7f17a37fe700 (LWP 5464)):
#0  0x00007f17cb1e8c61 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f17cb479ba6 in thread_sleep (ti=ti@entry=0x7f17a37fdd90) at thread/qthread_unix.cpp:475
#2  0x00007f17cb47a3dd in QThread::msleep (msecs=<optimized out>) at thread/qthread_unix.cpp:501
#3  0x00007f17cd86d858 in ?? () from /usr/lib64/libktorrent.so.5
#4  0x00007f17cd86dfb9 in ?? () from /usr/lib64/libktorrent.so.5
#5  0x00007f17cb47af9c in QThreadPrivate::start (arg=0x1bdacc0) at thread/qthread_unix.cpp:338
#6  0x00007f17cb1e4e0e in start_thread () from /lib64/libpthread.so.0
#7  0x00007f17c9a512bd in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f17a2ffd700 (LWP 5465)):
#0  0x00007f17c9a4913f in poll () from /lib64/libc.so.6
#1  0x00007f17b25ef697 in __libc_res_nsend () from /usr/lib64/libresolv.so
#2  0x00007f17b25ed9e4 in __libc_res_nquery () from /usr/lib64/libresolv.so
#3  0x00007f17b19de1d3 in _nss_dns_gethostbyaddr2_r () from /lib64/libnss_dns.so.2
#4  0x00007f17b19de315 in _nss_dns_gethostbyaddr_r () from /lib64/libnss_dns.so.2
#5  0x00007f17c9a6725b in gethostbyaddr_r@@GLIBC_2.2.5 () from /lib64/libc.so.6
#6  0x00007f17c9a6f39c in getnameinfo () from /lib64/libc.so.6
#7  0x00007f17cd8703de in ?? () from /usr/lib64/libktorrent.so.5
#8  0x00007f17cd870447 in ?? () from /usr/lib64/libktorrent.so.5
#9  0x00007f17cd8707b2 in ?? () from /usr/lib64/libktorrent.so.5
#10 0x00007f17cb47af9c in QThreadPrivate::start (arg=0x2feef70) at thread/qthread_unix.cpp:338
#11 0x00007f17cb1e4e0e in start_thread () from /lib64/libpthread.so.0
#12 0x00007f17c9a512bd in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f17cdd7a780 (LWP 5446)):
[KCrash Handler]
#5  0x0000000000453f17 in ?? ()
#6  0x00007f17cac0e15c in isIndexDropEnabled (index=..., this=0x26f8ca0) at ../../src/gui/itemviews/qabstractitemview_p.h:287
#7  QAbstractItemView::dragMoveEvent (this=0x2613470, event=0x7fff3ef0a890) at itemviews/qabstractitemview.cpp:1928
#8  0x00007f17ca7550ba in QWidget::event (this=0x2613470, event=0x7fff3ef0a890) at kernel/qwidget.cpp:8569
#9  0x00007f17caaff606 in QFrame::event (this=0x2613470, e=0x7fff3ef0a890) at widgets/qframe.cpp:557
#10 0x00007f17cac0acbb in QAbstractItemView::viewportEvent (this=0x2613470, event=0x7fff3ef0a890) at itemviews/qabstractitemview.cpp:1644
#11 0x00007f17cac4f4d1 in QTreeView::viewportEvent (this=0x2613470, event=0x7fff3ef0a890) at itemviews/qtreeview.cpp:1257
#12 0x00007f17cb576c76 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<optimized out>, receiver=0x26b9b90, event=0x7fff3ef0a890) at kernel/qcoreapplication.cpp:1025
#13 0x00007f17ca70571c in QApplicationPrivate::notify_helper (this=this@entry=0x1c0a8d0, receiver=receiver@entry=0x26b9b90, e=e@entry=0x7fff3ef0a890) at kernel/qapplication.cpp:4553
#14 0x00007f17ca70a573 in QApplication::notify (this=<optimized out>, receiver=0x26b9b90, e=0x7fff3ef0a890) at kernel/qapplication.cpp:4343
#15 0x000000000043c67a in ?? ()
#16 0x00007f17cb576b0e in QCoreApplication::notifyInternal (this=0x7fff3ef0e4a0, receiver=0x26b9b90, event=0x7fff3ef0a890) at kernel/qcoreapplication.cpp:915
#17 0x00007f17ca78c927 in sendEvent (event=0x7fff3ef0a890, receiver=0x26b9b90) at ../../src/corelib/kernel/qcoreapplication.h:231
#18 handle_xdnd_position (w=w@entry=0x1d1ecb0, xe=xe@entry=0x7fff3ef0ab60, passive=passive@entry=false) at kernel/qdnd_x11.cpp:934
#19 0x00007f17ca78d618 in QDragManager::move (this=0x2fbbbb0, globalPos=...) at kernel/qdnd_x11.cpp:1704
#20 0x00007f17ca78dee1 in QDragManager::eventFilter (this=0x2fbbbb0, o=<optimized out>, e=<optimized out>) at kernel/qdnd_x11.cpp:1304
#21 0x00007f17cb576bda in QCoreApplicationPrivate::sendThroughApplicationEventFilters (this=0x1c0a8d0, receiver=0x30145f0, event=0x7fff3ef0b250) at kernel/qcoreapplication.cpp:1006
#22 0x00007f17ca7056c6 in QApplicationPrivate::notify_helper (this=this@entry=0x1c0a8d0, receiver=receiver@entry=0x30145f0, e=e@entry=0x7fff3ef0b250) at kernel/qapplication.cpp:4532
#23 0x00007f17ca70a42b in QApplication::notify (this=<optimized out>, receiver=0x30145f0, e=0x7fff3ef0b250) at kernel/qapplication.cpp:4100
#24 0x000000000043c67a in ?? ()
#25 0x00007f17cb576b0e in QCoreApplication::notifyInternal (this=0x7fff3ef0e4a0, receiver=0x30145f0, event=0x7fff3ef0b250) at kernel/qcoreapplication.cpp:915
#26 0x00007f17ca70658b in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:231
#27 QApplicationPrivate::sendMouseEvent (receiver=0x30145f0, event=0x7fff3ef0b250, alienWidget=0x0, nativeWidget=0x30145f0, buttonDown=0x7f17cb1d9248 <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3168
#28 0x00007f17ca780d14 in QETWidget::translateMouseEvent (this=this@entry=0x30145f0, event=event@entry=0x7fff3ef0b9c0) at kernel/qapplication_x11.cpp:4518
#29 0x00007f17ca77faa1 in QApplication::x11ProcessEvent (this=0x7fff3ef0e4a0, event=0x7fff3ef0b9c0) at kernel/qapplication_x11.cpp:3641
#30 0x00007f17ca7a5de2 in x11EventSourceDispatch (s=0x1c11330, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#31 0x00007f17c4fb43b5 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#32 0x00007f17c4fb46e8 in ?? () from /usr/lib64/libglib-2.0.so.0
#33 0x00007f17c4fb47a4 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#34 0x00007f17cb5a4cd6 in QEventDispatcherGlib::processEvents (this=0x1bcfad0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#35 0x00007f17ca7a5a5e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#36 0x00007f17cb57585f in QEventLoop::processEvents (this=this@entry=0x2ffd720, flags=...) at kernel/qeventloop.cpp:149
#37 0x00007f17cb575ae8 in QEventLoop::exec (this=0x2ffd720, flags=...) at kernel/qeventloop.cpp:204
#38 0x00007f17ca78db86 in QDragManager::drag (this=0x2fbbbb0, o=<optimized out>) at kernel/qdnd_x11.cpp:2028
#39 0x00007f17ca716bd8 in QDrag::exec (this=0x1fec0e0, supportedActions=..., defaultDropAction=Qt::CopyAction) at kernel/qdrag.cpp:284
#40 0x00007f17cac14f67 in QAbstractItemView::startDrag (this=0x2586570, supportedActions=...) at itemviews/qabstractitemview.cpp:3540
#41 0x00007f17cac12fb6 in QAbstractItemView::mouseMoveEvent (this=0x2586570, event=<optimized out>) at itemviews/qabstractitemview.cpp:1725
#42 0x00007f17ca754f04 in QWidget::event (this=0x2586570, event=0x7fff3ef0cc30) at kernel/qwidget.cpp:8356
#43 0x00007f17caaff606 in QFrame::event (this=0x2586570, e=0x7fff3ef0cc30) at widgets/qframe.cpp:557
#44 0x00007f17cac0acbb in QAbstractItemView::viewportEvent (this=0x2586570, event=0x7fff3ef0cc30) at itemviews/qabstractitemview.cpp:1644
#45 0x00007f17cac4f4d1 in QTreeView::viewportEvent (this=0x2586570, event=0x7fff3ef0cc30) at itemviews/qtreeview.cpp:1257
#46 0x00007f17cb576c76 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<optimized out>, receiver=0x1d30a40, event=0x7fff3ef0cc30) at kernel/qcoreapplication.cpp:1025
#47 0x00007f17ca70571c in QApplicationPrivate::notify_helper (this=this@entry=0x1c0a8d0, receiver=receiver@entry=0x1d30a40, e=e@entry=0x7fff3ef0cc30) at kernel/qapplication.cpp:4553
#48 0x00007f17ca70a42b in QApplication::notify (this=<optimized out>, receiver=0x1d30a40, e=0x7fff3ef0cc30) at kernel/qapplication.cpp:4100
#49 0x000000000043c67a in ?? ()
#50 0x00007f17cb576b0e in QCoreApplication::notifyInternal (this=0x7fff3ef0e4a0, receiver=0x1d30a40, event=0x7fff3ef0cc30) at kernel/qcoreapplication.cpp:915
#51 0x00007f17ca70658b in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:231
#52 QApplicationPrivate::sendMouseEvent (receiver=0x1d30a40, event=0x7fff3ef0cc30, alienWidget=0x1d30a40, nativeWidget=0x1d2a7c0, buttonDown=0x7f17cb1d9248 <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3168
#53 0x00007f17ca780d14 in QETWidget::translateMouseEvent (this=this@entry=0x1d2a7c0, event=event@entry=0x7fff3ef0d3a0) at kernel/qapplication_x11.cpp:4518
#54 0x00007f17ca77faa1 in QApplication::x11ProcessEvent (this=0x7fff3ef0e4a0, event=0x7fff3ef0d3a0) at kernel/qapplication_x11.cpp:3641
#55 0x00007f17ca7a5de2 in x11EventSourceDispatch (s=0x1c11330, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#56 0x00007f17c4fb43b5 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#57 0x00007f17c4fb46e8 in ?? () from /usr/lib64/libglib-2.0.so.0
#58 0x00007f17c4fb47a4 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#59 0x00007f17cb5a4cd6 in QEventDispatcherGlib::processEvents (this=0x1bcfad0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#60 0x00007f17ca7a5a5e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#61 0x00007f17cb57585f in QEventLoop::processEvents (this=this@entry=0x7fff3ef0d770, flags=...) at kernel/qeventloop.cpp:149
#62 0x00007f17cb575ae8 in QEventLoop::exec (this=0x7fff3ef0d770, flags=...) at kernel/qeventloop.cpp:204
#63 0x00007f17cb57a788 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#64 0x000000000042ab0b in ?? ()
#65 0x00007f17c998e455 in __libc_start_main () from /lib64/libc.so.6
#66 0x000000000042be35 in _start ()

Reported using DrKonqi
Comment 1 Raul Caba 2012-10-20 20:27:34 UTC
Hmm, update on exactly what behavior causes the crash: dragging a torrent over a few groups in the sidebar really quickly is what does it.
Comment 2 Joris Guisson 2012-10-22 18:00:57 UTC
Indeed, I can trigger the crash easily
Comment 3 Joris Guisson 2012-10-22 18:13:06 UTC
Git commit 1009ba89b5d603ae7f1a95ef65a818c760c367cf by Joris Guisson.
Committed on 22/10/2012 at 20:07.
Pushed by guisson into branch '4.3'.

Backport to 4.3: Fix crash in GroupViewModel when dragging torrents over groups

M  +1    -0    ChangeLog
M  +18   -5    ktorrent/groups/groupviewmodel.cpp

http://commits.kde.org/ktorrent/1009ba89b5d603ae7f1a95ef65a818c760c367cf
Comment 4 Christoph Feck 2012-11-05 16:09:38 UTC
*** Bug 309570 has been marked as a duplicate of this bug. ***