Bug 266842

Summary: KTorrent crashes in some time of running.
Product: [Applications] ktorrent Reporter: Marek Śledziona <m.sledziona>
Component: generalAssignee: Joris Guisson <joris.guisson>
Status: RESOLVED FIXED    
Severity: crash CC: demonays, grgoffe, jasonsuinam, olivier.delance, simone.sd, wolf_inthemist
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Marek Śledziona 2011-02-21 20:05:47 UTC
Application: ktorrent (4.1beta1)
KDE Platform Version: 4.6.00 (4.6.0)
Qt Version: 4.7.1
Operating System: Linux 2.6.34.7-0.7-desktop x86_64
Distribution: "openSUSE 11.3 (x86_64)"

-- Information about the crash:
- What I was doing when the application crashed:
Nothing unusual, app was usually started in backgound (only icon on Plasma panel), but also with the main window opened. i don't have to do anything with KTorrent, crash is only a matter of time.
- Unusual behavior I noticed:
KTorrent launches normally, but crashes every time it is launched. Sometimes it is about 5 seconds, sometimes about 15 or more minutes.
- Custom settings of the application:
About 100 torents running simultanously, downloading and uploading. No transfer limits set.

The crash can be reproduced every time.

-- Backtrace:
Application: KTorrent (ktorrent), signal: Bus error
[Current thread is 1 (Thread 0x7f73c914b760 (LWP 14388))]

Thread 5 (Thread 0x7f73b5158710 (LWP 14390)):
#0  0xffffffffff600177 in ?? ()
#1  0x00007fffba1b57a1 in ?? ()
#2  0x00007f73c05b92a3 in clock_gettime () from /lib64/librt.so.1
#3  0x00007f73c6952522 in do_gettime () at tools/qelapsedtimer_unix.cpp:123
#4  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#5  0x00007f73c6a164ad in QTimerInfoList::updateCurrentTime (this=0x7afd00) at kernel/qeventdispatcher_unix.cpp:339
#6  0x00007f73c6a16835 in QTimerInfoList::timerWait (this=0x7afd00, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#7  0x00007f73c6a152ec in timerSourcePrepareHelper (src=<value optimized out>, timeout=0x7f73b5157c8c) at kernel/qeventdispatcher_glib.cpp:136
#8  0x00007f73c0310f7f in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0
#9  0x00007f73c0311e69 in ?? () from /usr/lib64/libglib-2.0.so.0
#10 0x00007f73c0312510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#11 0x00007f73c6a15ae6 in QEventDispatcherGlib::processEvents (this=0x800500, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#12 0x00007f73c69ea262 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#13 0x00007f73c69ea475 in QEventLoop::exec (this=0x7f73b5157e20, flags=...) at kernel/qeventloop.cpp:201
#14 0x00007f73c68fd1a4 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#15 0x00007f73c68ffa1e in QThreadPrivate::start (arg=0x8006d0) at thread/qthread_unix.cpp:285
#16 0x00007f73c6670a4f in start_thread () from /lib64/libpthread.so.0
#17 0x00007f73c4fbb82d in clone () from /lib64/libc.so.6
#18 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f73a924c710 (LWP 14394)):
#0  0x00007f73c667539c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f73ae35aa94 in WTF::TCMalloc_PageHeap::runScavengerThread(void*) () from /usr/lib64/libQtWebKit.so.4
#2  0x00007f73c6670a4f in start_thread () from /lib64/libpthread.so.0
#3  0x00007f73c4fbb82d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f73a61af710 (LWP 14396)):
#0  0x00007f73c6675709 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f73c68ff7d5 in thread_sleep (ti=0x7f73a61aedb0) at thread/qthread_unix.cpp:435
#2  0x00007f73c68ff940 in QThread::msleep (msecs=<value optimized out>) at thread/qthread_unix.cpp:461
#3  0x00007f73c8c52e98 in net::DownloadThread::update (this=0x6e9230) at /usr/src/debug/libktorrent-1.1beta1/src/net/downloadthread.cpp:91
#4  0x00007f73c8c52ef9 in net::NetworkThread::run (this=0x6e9230) at /usr/src/debug/libktorrent-1.1beta1/src/net/networkthread.cpp:48
#5  0x00007f73c68ffa1e in QThreadPrivate::start (arg=0x6e9230) at thread/qthread_unix.cpp:285
#6  0x00007f73c6670a4f in start_thread () from /lib64/libpthread.so.0
#7  0x00007f73c4fbb82d in clone () from /lib64/libc.so.6
#8  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f73a59ae710 (LWP 14397)):
#0  0x00007f73c6675709 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f73c68ff7d5 in thread_sleep (ti=0x7f73a59addb0) at thread/qthread_unix.cpp:435
#2  0x00007f73c68ff940 in QThread::msleep (msecs=<value optimized out>) at thread/qthread_unix.cpp:461
#3  0x00007f73c8c526e8 in net::UploadThread::update (this=0x6e9790) at /usr/src/debug/libktorrent-1.1beta1/src/net/uploadthread.cpp:89
#4  0x00007f73c8c52ef9 in net::NetworkThread::run (this=0x6e9790) at /usr/src/debug/libktorrent-1.1beta1/src/net/networkthread.cpp:48
#5  0x00007f73c68ffa1e in QThreadPrivate::start (arg=0x6e9790) at thread/qthread_unix.cpp:285
#6  0x00007f73c6670a4f in start_thread () from /lib64/libpthread.so.0
#7  0x00007f73c4fbb82d in clone () from /lib64/libc.so.6
#8  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f73c914b760 (LWP 14388)):
[KCrash Handler]
#6  0x00007f73c4f6a8b3 in memcpy () from /lib64/libc.so.6
#7  0x00007f73c8ccaa93 in bt::PieceData::write (this=0x2d476f0, buf=0x7f73b014f0f9 "\003\210(\034\335\062\016\314\060E\217\026\213g\263Z\333#\315Q\003\067\321\327\274", buf_size=16384, off=0)
    at /usr/include/bits/string3.h:52
#8  0x00007f73c8c7a309 in bt::ChunkDownload::piece (this=0x2d3b280, p=..., ok=@0x7fffba05112f) at /usr/src/debug/libktorrent-1.1beta1/src/download/chunkdownload.cpp:110
#9  0x00007f73c8c7f667 in bt::Downloader::pieceReceived (this=0x2198b40, p=...) at /usr/src/debug/libktorrent-1.1beta1/src/download/downloader.cpp:138
#10 0x00007f73c8c65fea in bt::Peer::packetReady (this=0x382dd50, packet=0x7f73b014f0f0 "\a", len=<value optimized out>) at /usr/src/debug/libktorrent-1.1beta1/src/peer/peer.cpp:276
#11 0x00007f73c8c6f448 in bt::PacketReader::update (this=0x2fcb530) at /usr/src/debug/libktorrent-1.1beta1/src/peer/packetreader.cpp:141
#12 0x00007f73c8c642f0 in bt::Peer::update (this=0x382dd50) at /usr/src/debug/libktorrent-1.1beta1/src/peer/peer.cpp:531
#13 0x00007f73c8c694c2 in bt::PeerManager::Private::update (this=0x2157a70) at /usr/src/debug/libktorrent-1.1beta1/src/peer/peermanager.cpp:726
#14 0x00007f73c8c9c074 in bt::TorrentControl::update (this=0x2152790) at /usr/src/debug/libktorrent-1.1beta1/src/torrent/torrentcontrol.cpp:163
#15 0x000000000042e473 in _start ()

Reported using DrKonqi
Comment 1 Joris Guisson 2011-02-21 21:27:33 UTC
Git commit f0309e939f1267d642c3997a0b22e25ceefc3988 by Joris.
Committed on 21/02/2011 at 21:26.
Pushed by guisson into branch 'master'.

Fix crash due to SIGBUS handler being overwritten by KDE's crash dialog system

BUG: 266842

M  +1    -0    ChangeLog     
M  +5    -0    src/util/signalcatcher.cpp     
M  +3    -2    src/util/signalcatcher.h     

http://commits.kde.org/libktorrent/f0309e939f1267d642c3997a0b22e25ceefc3988
Comment 2 Joris Guisson 2011-02-21 21:28:33 UTC
Git commit 7ac07ca9dd6a61afd8d613bf7888d81a40d30741 by Joris.
Committed on 21/02/2011 at 21:26.
Pushed by guisson into branch '1.1'.

Backport to 1.1: Fix crash due to SIGBUS handler being overwritten by KDE's crash dialog system

CCBUG: 266842

M  +1    -0    ChangeLog     
M  +5    -0    src/util/signalcatcher.cpp     
M  +3    -2    src/util/signalcatcher.h     

http://commits.kde.org/libktorrent/7ac07ca9dd6a61afd8d613bf7888d81a40d30741
Comment 3 Joris Guisson 2011-03-06 17:04:36 UTC
*** Bug 267793 has been marked as a duplicate of this bug. ***
Comment 4 George R. Goffe 2011-03-06 22:32:15 UTC
Joris,

Do you have this patch integrated into a tarball that I can download?

Regards,

George...
Comment 5 Joris Guisson 2011-05-03 18:05:04 UTC
*** Bug 272289 has been marked as a duplicate of this bug. ***
Comment 6 Joris Guisson 2011-05-19 18:07:41 UTC
*** Bug 273441 has been marked as a duplicate of this bug. ***
Comment 7 Joris Guisson 2011-08-20 10:41:49 UTC
*** Bug 280448 has been marked as a duplicate of this bug. ***
Comment 8 Joris Guisson 2011-10-10 19:03:00 UTC
*** Bug 283713 has been marked as a duplicate of this bug. ***
Comment 9 Joris Guisson 2011-12-29 12:14:01 UTC
*** Bug 290028 has been marked as a duplicate of this bug. ***