Bug 289153 - KTorrent crash on exit
Summary: KTorrent crash on exit
Status: RESOLVED FIXED
Alias: None
Product: ktorrent
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
Platform: openSUSE RPMs Linux
: NOR crash (vote)
Target Milestone: ---
Assignee: Joris Guisson
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-12-16 23:07 UTC by Nicholas L. Otley
Modified: 2011-12-18 08:54 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 Nicholas L. Otley 2011-12-16 23:07:12 UTC
Application: ktorrent (4.1.2)
KDE Platform Version: 4.7.2 (4.7.2) "release 5"
Qt Version: 4.7.4
Operating System: Linux 3.1.0-1.2-desktop x86_64
Distribution: "openSUSE 12.1 (x86_64)"

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

I quit KTorrent after downloading an 7GB ISO image and the crah handler appeared.  There were no Downloads active, but several files were being seeded at the time.

I use OpenSUSE 12.1 on x86_64 with KDE::Extra repository enabled.

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

Thread 6 (Thread 0x7ff9884ca700 (LWP 29146)):
#0  0x0000003ffa00be6c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000003017f8d9dc in ?? () from /usr/lib64/libQtWebKit.so.4
#2  0x0000003017f8db09 in ?? () from /usr/lib64/libQtWebKit.so.4
#3  0x0000003ffa007f05 in start_thread () from /lib64/libpthread.so.0
#4  0x0000003ff94d953d in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7ff9864c6700 (LWP 29147)):
#0  0x0000003ff94d0423 in poll () from /lib64/libc.so.6
#1  0x0000003ffc047a98 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x0000003ffc047f59 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x000000300298c576 in QEventDispatcherGlib::processEvents (this=0x7ff9800008c0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#4  0x0000003002960a22 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x0000003002960c1f in QEventLoop::exec (this=0x7ff9864c5e20, flags=...) at kernel/qeventloop.cpp:201
#6  0x00000030028785df in QThread::exec (this=<optimized out>) at thread/qthread.cpp:498
#7  0x000000300287b025 in QThreadPrivate::start (arg=0x1203330) at thread/qthread_unix.cpp:331
#8  0x0000003ffa007f05 in start_thread () from /lib64/libpthread.so.0
#9  0x0000003ff94d953d in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7ff986cc7700 (LWP 29186)):
#0  0x0000003ffa00be6c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x000000300287b4bb in wait (time=18446744073709551615, this=0x17e9730) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x12b9420, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x0000003000073d5a in net::ReverseResolverThread::run (this=0x12b9410) at /usr/src/debug/libktorrent-1.1.2/src/net/reverseresolver.cpp:123
#4  0x000000300287b025 in QThreadPrivate::start (arg=0x12b9410) at thread/qthread_unix.cpp:331
#5  0x0000003ffa007f05 in start_thread () from /lib64/libpthread.so.0
#6  0x0000003ff94d953d in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7ff95dffb700 (LWP 32272)):
#0  0x0000003ff94d0423 in poll () from /lib64/libc.so.6
#1  0x0000003ffc047a98 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x0000003ffc047f59 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x000000300298c576 in QEventDispatcherGlib::processEvents (this=0x7ff914002a90, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#4  0x0000003002960a22 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x0000003002960c1f in QEventLoop::exec (this=0x7ff95dffadf0, flags=...) at kernel/qeventloop.cpp:201
#6  0x00000030028785df in QThread::exec (this=<optimized out>) at thread/qthread.cpp:498
#7  0x0000003002943aef in QInotifyFileSystemWatcherEngine::run (this=0x157cbf0) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x000000300287b025 in QThreadPrivate::start (arg=0x157cbf0) at thread/qthread_unix.cpp:331
#9  0x0000003ffa007f05 in start_thread () from /lib64/libpthread.so.0
#10 0x0000003ff94d953d in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7ff95e7fc700 (LWP 5641)):
[KCrash Handler]
#6  bt::Torrent::getHash (this=0x1324570, idx=446) at /usr/src/debug/libktorrent-1.1.2/src/torrent/torrent.cpp:376
#7  0x00000030000ff04a in bt::MultiDataChecker::check (this=0x1535df0, path=<optimized out>, tor=..., dnddir=<optimized out>, current_status=...) at /usr/src/debug/libktorrent-1.1.2/src/datachecker/multidatachecker.cpp:80
#8  0x00000030000fd3fb in bt::DataCheckerThread::run (this=0x2c39780) at /usr/src/debug/libktorrent-1.1.2/src/datachecker/datacheckerthread.cpp:50
#9  0x000000300287b025 in QThreadPrivate::start (arg=0x2c39780) at thread/qthread_unix.cpp:331
#10 0x0000003ffa007f05 in start_thread () from /lib64/libpthread.so.0
#11 0x0000003ff94d953d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7ff98c466760 (LWP 29137)):
#0  0x0000003ffa00be6c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x000000300287b4bb in wait (time=18446744073709551615, this=0x1c327e0) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x3ef9bf0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x000000300287ad6c in QThread::wait (this=<optimized out>, time=18446744073709551615) at thread/qthread_unix.cpp:745
#4  0x00000030000ffdaa in bt::DataCheckerJob::kill (this=0x158a6d0, quietly=true) at /usr/src/debug/libktorrent-1.1.2/src/datachecker/datacheckerjob.cpp:92
#5  0x00000030000c0943 in bt::JobQueue::killAll (this=0x13243b0) at /usr/src/debug/libktorrent-1.1.2/src/torrent/jobqueue.cpp:103
#6  0x00000030000c09ab in bt::JobQueue::~JobQueue (this=0x13243b0, __in_chrg=<optimized out>) at /usr/src/debug/libktorrent-1.1.2/src/torrent/jobqueue.cpp:37
#7  0x00000030000c09f9 in bt::JobQueue::~JobQueue (this=0x13243b0, __in_chrg=<optimized out>) at /usr/src/debug/libktorrent-1.1.2/src/torrent/jobqueue.cpp:38
#8  0x0000003002973455 in QObjectPrivate::deleteChildren (this=0x13242f0) at kernel/qobject.cpp:1964
#9  0x00000030029789f9 in QObject::~QObject (this=0x1324060, __in_chrg=<optimized out>) at kernel/qobject.cpp:946
#10 0x00000030000bad4d in bt::TorrentControl::~TorrentControl (this=0x1324060, __in_chrg=<optimized out>) at /usr/src/debug/libktorrent-1.1.2/src/torrent/torrentcontrol.cpp:109
#11 0x00000030000bafb9 in bt::TorrentControl::~TorrentControl (this=0x1324060, __in_chrg=<optimized out>) at /usr/src/debug/libktorrent-1.1.2/src/torrent/torrentcontrol.cpp:134
#12 0x000000300183928f in kt::QueueManager::clear() () from /usr/lib64/libktcore.so.12
#13 0x0000000000430ace in _start ()

Reported using DrKonqi
Comment 1 Joris Guisson 2011-12-18 08:54:17 UTC
Git commit dd33a075c86ee33ebea665607254d0ec19d87341 by Joris Guisson.
Committed on 18/12/2011 at 09:53.
Pushed by guisson into branch 'master'.

Fix crash at exit when datachecker job is running

BUG: 289153

M  +1    -0    ChangeLog
M  +1    -0    src/torrent/torrentcontrol.cpp

http://commits.kde.org/libktorrent/dd33a075c86ee33ebea665607254d0ec19d87341