https://bugs.kde.org/show_bug.cgi?id=451674
Bug ID: 451674 Summary: Crash after removing torrent after deleting its files Product: ktorrent Version: 21.12.3 Platform: openSUSE RPMs OS: Linux Status: REPORTED Keywords: drkonqi Severity: crash Priority: NOR Component: general Assignee: joris.guis...@gmail.com Reporter: groszdaniel...@gmail.com Target Milestone: --- Application: ktorrent (21.12.3) Qt Version: 5.15.2 Frameworks Version: 5.92.0 Operating System: Linux 5.16.8-1-default x86_64 Windowing System: X11 Distribution: "openSUSE Tumbleweed" DrKonqi: 5.24.3 [KCrashBackend] -- Information about the crash: - What I was doing when the application crashed: 1. In a torrent that has finished downloading and was seeding, I converted the files, thereby creating new files in the torrent's root directory. 2. I deleted all the original files in the torrent (except for the root directory) outside KTorrent (with rm). 3. In the context menu of this torrent, I clicked Remove Torrent and Data. A dialog popped up saying that it couldn't remove some file(s) (I expected this, as I'd already removed the files). Then KTorrent crashed. Note: I had used Remove Torrent and Data before on torrents in whose directory I had created files; in these cases, KTorrent correctly removed the torrent's files (but not those directories that contained files not belonging to the torrent), and it didn't crash. IIRC I'd also used Remove Torrent and Data on torrents in which I'd already removed some files (but I'm not sure about this, and perhaps I hadn't removed all files in the torrent already). The reporter is unsure if this crash is reproducible. -- Backtrace: Application: KTorrent (ktorrent), signal: Segmentation fault Content of s_kcrashErrorMessage: {_M_t = {<std::__uniq_ptr_impl<char, std::default_delete<char []> >> = {_M_t = {<std::_Tuple_impl<0, char*, std::default_delete<char []> >> = {<std::_Tuple_impl<1, std::default_delete<char []> >> = {<std::_Head_base<1, std::default_delete<char []>, true>> = {_M_head_impl = {<No data fields>}}, <No data fields>}, <std::_Head_base<0, char*, false>> = {_M_head_impl = <optimized out>}, <No data fields>}, <No data fields>}}, <No data fields>}} [KCrash Handler] #6 0x000055a322158480 in () #7 0x000055a307fbaeb4 in kt::Core::remove(QList<bt::TorrentInterface*>&, bool) (this=0x55a309aafc30, todo=..., data_to=true) at /usr/src/debug/ktorrent-21.12.3-1.1.x86_64/ktorrent/core.cpp:655 #8 0x000055a30801ce8a in kt::View::removeTorrentsAndData() (this=0x55a320bc4a30) at /usr/src/debug/ktorrent-21.12.3-1.1.x86_64/ktorrent/view/view.cpp:475 #9 0x00007fccb07d7503 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffe24922370, r=0x55a320bc4a30, this=0x55a320e8b580) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #10 doActivate<false>(QObject*, int, void**) (sender=0x55a320e8b5b0, signal_index=4, argv=0x7ffe24922370) at kernel/qobject.cpp:3886 #11 0x00007fccb07d09cf in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x55a320e8b5b0, m=m@entry=0x7fccb18680a0, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffe24922370) at kernel/qobject.cpp:3946 #12 0x00007fccb1349182 in QAction::triggered(bool) (this=this@entry=0x55a320e8b5b0, _t1=<optimized out>) at .moc/moc_qaction.cpp:376 #13 0x00007fccb134bdb4 in QAction::activate(QAction::ActionEvent) (this=0x55a320e8b5b0, event=<optimized out>) at kernel/qaction.cpp:1161 #14 0x00007fccb14d1a52 in QMenuPrivate::activateCausedStack(QVector<QPointer<QWidget> > const&, QAction*, QAction::ActionEvent, bool) (this=this@entry=0x55a320f3ba10, causedStack=..., action=action@entry=0x55a320e8b5b0, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at widgets/qmenu.cpp:1384 #15 0x00007fccb14d9841 in QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) (this=0x55a320f3ba10, action=0x55a320e8b5b0, action_e=QAction::Trigger, self=<optimized out>) at widgets/qmenu.cpp:1461 #16 0x00007fccb13918de in QWidget::event(QEvent*) (this=0x55a32118da00, event=0x7ffe24922980) at kernel/qwidget.cpp:9020 #17 0x00007fccb134fa7f in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x55a3097f93e0, receiver=receiver@entry=0x55a32118da00, e=e@entry=0x7ffe24922980) at kernel/qapplication.cpp:3632 #18 0x00007fccb1357584 in QApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x55a32118da00, e=0x7ffe24922980) at kernel/qapplication.cpp:3076 #19 0x00007fccb07a0e3a in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55a32118da00, event=0x7ffe24922980) at kernel/qcoreapplication.cpp:1064 #20 0x00007fccb1356093 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) (receiver=0x55a32118da00, event=event@entry=0x7ffe24922980, alienWidget=0x0, nativeWidget=0x55a32118da00, buttonDown=<optimized out>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2614 #21 0x00007fccb13ab4e3 in QWidgetWindow::handleMouseEvent(QMouseEvent*) (this=0x55a322fd8c00, event=0x7ffe24922c50) at kernel/qwidgetwindow.cpp:580 #22 0x00007fccb13addf5 in QWidgetWindow::event(QEvent*) (this=0x55a322fd8c00, event=0x7ffe24922c50) at kernel/qwidgetwindow.cpp:300 #23 0x00007fccb134fa7f in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55a322fd8c00, e=0x7ffe24922c50) at kernel/qapplication.cpp:3632 #24 0x00007fccb07a0e3a in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55a322fd8c00, event=0x7ffe24922c50) at kernel/qcoreapplication.cpp:1064 #25 0x00007fccb0bfd627 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) (e=0x55a3218ff6f0) at kernel/qguiapplication.cpp:2282 #26 0x00007fccb0bd385c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169 #27 0x00007fccab3bde0a in xcbSourceDispatch(GSource*, GSourceFunc, gpointer) (source=source@entry=0x55a309940710) at qxcbeventdispatcher.cpp:105 #28 0x00007fccae7bbe22 in g_main_dispatch (context=0x7fcca4005010) at ../glib/gmain.c:3381 #29 g_main_context_dispatch (context=0x7fcca4005010) at ../glib/gmain.c:4099 #30 0x00007fccae7bc1b8 in g_main_context_iterate (context=context@entry=0x7fcca4005010, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4175 #31 0x00007fccae7bc26f in g_main_context_iteration (context=0x7fcca4005010, may_block=1) at ../glib/gmain.c:4240 #32 0x00007fccb07f8384 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55a309944320, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #33 0x00007fccb079f83b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffe24922f80, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #34 0x00007fccb07a7b10 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #35 0x00007fccb0bf125c in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1867 #36 0x00007fccb134f9f5 in QApplication::exec() () at kernel/qapplication.cpp:2824 #37 0x000055a307fb03ea in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/ktorrent-21.12.3-1.1.x86_64/ktorrent/main.cpp:235 [Inferior 1 (process 25826) detached] Possible duplicates by query: bug 429070, bug 408759, bug 396727, bug 395907, bug 395410. Reported using DrKonqi -- You are receiving this mail because: You are watching all bug changes.