Bug 209173 - Moving data directory first in file system then in ktorrent crashed ktorrent
Summary: Moving data directory first in file system then in ktorrent crashed ktorrent
Status: RESOLVED FIXED
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: ---
Assignee: kdelibs bugs
URL:
Keywords:
: 220585 240476 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-10-02 04:53 UTC by mjjeff
Modified: 2010-10-02 11:59 UTC (History)
6 users (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 mjjeff 2009-10-02 04:53:48 UTC
Application that crashed: ktorrent
Version of the application: 3.2.4
KDE Version: 4.3.1 (KDE 4.3.1)
Qt Version: 4.5.2
Operating System: Linux 2.6.30-ARCH x86_64

What I was doing when the application crashed:
When I moved a multipart torrent in the file system first and then days later told ktorrent that the data has moved (by right-clicking > Move data), it would complain that the first file I had selected for download in the list did not exist. I would tell it again that the data directory moved, and it would then complain about the second file, then third, etc. So I unselected all of the files and told it again that the directory had moved with no change. I told it once or twice more and ktorrent crashed.

I've since restarted and continued to move the data directory through the complaints about the last few files to have discovered that ktorrent has deleted all of the files I've downloaded, but it now finds the correct download directory. I clearly should have moved the files out of the way first, but I had not encountered this problem with other torrents whose directories I'd moved.

 -- Backtrace:
Application: KTorrent (ktorrent), signal: Segmentation fault
[Current thread is 0 (LWP 2013)]

Thread 3 (Thread 0x7f217e89a910 (LWP 2075)):
#0  0x00007f21933c4993 in poll () from /lib/libc.so.6
#1  0x00007f21969dd339 in net::DownloadThread::waitForSocketReady () from /usr/lib/libbtcore.so.11
#2  0x00007f21969dd3fc in net::DownloadThread::update () from /usr/lib/libbtcore.so.11
#3  0x00007f21969dddc9 in net::NetworkThread::run () from /usr/lib/libbtcore.so.11
#4  0x00007f2194c25285 in ?? () from /usr/lib/libQtCore.so.4
#5  0x00007f21949b257a in start_thread () from /lib/libpthread.so.0
#6  0x00007f21933cd14d in clone () from /lib/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f217e099910 (LWP 2076)):
#0  0x00007f21949b6dd9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f2194c2634b in QWaitCondition::wait () from /usr/lib/libQtCore.so.4
#2  0x00007f21969dccc8 in net::UploadThread::update () from /usr/lib/libbtcore.so.11
#3  0x00007f21969dddc9 in net::NetworkThread::run () from /usr/lib/libbtcore.so.11
#4  0x00007f2194c25285 in ?? () from /usr/lib/libQtCore.so.4
#5  0x00007f21949b257a in start_thread () from /lib/libpthread.so.0
#6  0x00007f21933cd14d in clone () from /lib/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f2196e9a750 (LWP 2013)):
[KCrash Handler]
#5  0x00007f2193fe88c4 in QWidgetPrivate::hideChildren () from /usr/lib/libQtGui.so.4
#6  0x00007f2193fe8901 in QWidgetPrivate::hideChildren () from /usr/lib/libQtGui.so.4
#7  0x00007f2193fe8901 in QWidgetPrivate::hideChildren () from /usr/lib/libQtGui.so.4
#8  0x00007f2193fe8ac4 in QWidgetPrivate::hide_helper () from /usr/lib/libQtGui.so.4
#9  0x00007f2193ff0410 in QWidget::setVisible () from /usr/lib/libQtGui.so.4
#10 0x00007f21944145e0 in QDialog::setVisible () from /usr/lib/libQtGui.so.4
#11 0x00007f21944136e4 in QDialog::done () from /usr/lib/libQtGui.so.4
#12 0x00007f217c98e500 in KDirSelectDialog::accept () from /usr/lib/libkfile.so.4
#13 0x00007f2195b46da5 in KDialog::slotButtonClicked () from /usr/lib/libkdeui.so.5
#14 0x00007f2195b48fa9 in KDialog::qt_metacall () from /usr/lib/libkdeui.so.5
#15 0x00007f217c98f2b0 in KDirSelectDialog::qt_metacall () from /usr/lib/libkfile.so.4
#16 0x00007f2194d1fdec in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#17 0x00007f2194d2291e in QSignalMapper::mapped () from /usr/lib/libQtCore.so.4
#18 0x00007f2194d23b10 in QSignalMapper::map () from /usr/lib/libQtCore.so.4
#19 0x00007f2194d23d80 in QSignalMapper::qt_metacall () from /usr/lib/libQtCore.so.4
#20 0x00007f2194d1fdec in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#21 0x00007f219459a887 in QAbstractButton::clicked () from /usr/lib/libQtGui.so.4
#22 0x00007f21942fc3bb in ?? () from /usr/lib/libQtGui.so.4
#23 0x00007f21942fc4bf in QAbstractButton::click () from /usr/lib/libQtGui.so.4
#24 0x00007f2193fe9f02 in QWidget::event () from /usr/lib/libQtGui.so.4
#25 0x00007f2193f9b66c in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4
#26 0x00007f2193fa3453 in QApplication::notify () from /usr/lib/libQtGui.so.4
#27 0x00007f2195bd28f6 in KApplication::notify () from /usr/lib/libkdeui.so.5
#28 0x00007f2194d0acec in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4
#29 0x00007f219402af9a in ?? () from /usr/lib/libQtGui.so.4
#30 0x00007f219402d4e1 in ?? () from /usr/lib/libQtGui.so.4
#31 0x00007f2194006a14 in QApplication::x11ProcessEvent () from /usr/lib/libQtGui.so.4
#32 0x00007f219402ee3c in ?? () from /usr/lib/libQtGui.so.4
#33 0x00007f218f1e3dbe in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#34 0x00007f218f1e7568 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#35 0x00007f218f1e7690 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#36 0x00007f2194d331b6 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4
#37 0x00007f219402e61e in ?? () from /usr/lib/libQtGui.so.4
#38 0x00007f2194d095f2 in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#39 0x00007f2194d099c4 in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#40 0x00007f219441384e in QDialog::exec () from /usr/lib/libQtGui.so.4
#41 0x00007f217c99059c in KDirSelectDialog::selectDirectory () from /usr/lib/libkfile.so.4
#42 0x00007f217cc11a17 in KFileModule::selectDirectory () from /usr/lib/kde4/libkfilemodule.so
#43 0x00007f21961c8962 in KFileDialog::getExistingDirectory () from /usr/lib/libkio.so.5
#44 0x0000000000440842 in _start ()

Reported using DrKonqi
Comment 1 Dario Andres 2009-10-02 13:56:30 UTC
Mh, the crash could be a KFIle/Kdelibs issue
Thanks
Comment 2 Joris Guisson 2009-10-02 21:17:10 UTC
First of all, mjeff just start the torrent, and when the files are missing you can just select the new location for all the files, much easier (Select new location button on the missing files dialog). Moving the files with KT when you have already moved them with something else is a rather pointless exercise.

The crash seems to be a kdelibs bug, do you happen to know a way you can easily reproduce this ?
Comment 3 mjjeff 2009-10-03 05:25:04 UTC
No, I don't know how to reproduce this reliably. As I mentioned, it did not happen the first time, but only after several times.

Yes, I'd hoped there was a better way to move data, but the missing files dialog I found unclear and didn't know how to make sure it would find my data and not delete it.
Comment 4 Joris Guisson 2009-10-08 18:40:04 UTC
I'm reassigning to kdelibs, because it clearly crashes in the directory selection dialog. Could also be a Qt bug, but it really isn't a ktorrent bug.
Comment 5 Dominik Haumann 2010-06-14 01:21:22 UTC
*** Bug 220585 has been marked as a duplicate of this bug. ***
Comment 6 Dominik Haumann 2010-06-14 01:21:34 UTC
*** Bug 240476 has been marked as a duplicate of this bug. ***
Comment 7 David Faure 2010-09-21 21:11:26 UTC
I can't reproduce this crash (well the one described in 220585, which has the same backtrace; I use kword but not ktorrent, in trunk), with kdelibs trunk (future kdelibs-4.6) and Qt-4.6. Maybe it got fixed meanwhile?
Comment 8 John Hudson 2010-10-02 10:27:06 UTC
I have been upgraded to 2.2.2 KDE4.4.4 (release 3) and this bug is no longer present. Could be marked as RESOLVED