Bug 226702

Summary: Ktorrent is closing randomly
Product: [Applications] ktorrent Reporter: Christopher Lundgren <chlu9119>
Component: generalAssignee: Joris Guisson <joris.guisson>
Status: RESOLVED DUPLICATE    
Severity: crash CC: andysem, chlu9119
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Christopher Lundgren 2010-02-13 18:04:39 UTC
Version:           3.3.4 (using 4.3.4 (KDE 4.3.4), Debian packages)
Compiler:          cc
OS:                Linux (x86_64) release 2.6.32-trunk-amd64

Ktorrent is closing for no obvious reason, sometimes after just a few seconds and sometimes after running for several minutes, up to maybe half an hour. I've had this problem with 3.3.3 and 3.3.4 installed from Debian repositories on Debian Squeeze. GDB only produces this output:

Starting program: /usr/bin/ktorrent
[Thread debugging using libthread_db enabled]
Warning: Calling appendChild() on a null node does nothing.
Warning: Calling appendChild() on a null node does nothing.

Program exited normally.
Comment 1 Christopher Lundgren 2010-02-13 18:27:28 UTC
Ooops, the GDB message above appears directly upon starting Ktorrent. This GDB output is produced when Ktorrent exits:

Warning: X Error: BadWindow (invalid Window parameter) 3
  Major opcode: 20 (X_GetProperty)
  Resource id:  0x4404401
Comment 2 Joris Guisson 2010-02-13 18:50:22 UTC
Run ktorrent with the --nofork option, that way it won't fork at startup, which is why you get the message directly.
Comment 3 Christopher Lundgren 2010-02-13 19:14:05 UTC
I get this backtrace output with the --nofork option:

#0  memcpy () at ../sysdeps/x86_64/memcpy.S:267
#1  0x00007ffff7ac931c in bt::ChunkDownload::piece (this=0x157ff60, p=..., ok=@0x7fffffffc7fb) at ../../libbtcore/download/chunkdownload.cpp:136
#2  0x00007ffff7ad318a in bt::Downloader::pieceReceived (this=0x14837f0, p=...) at ../../libbtcore/download/downloader.cpp:126
#3  0x00007ffff7ab4c9c in bt::PeerManager::pieceReceived (this=0x147fee0, p=...) at ../../libbtcore/peer/peermanager.cpp:677
#4  0x00007ffff7aafa80 in bt::Peer::packetReady (this=0x1575000, packet=0x7fffd00c1320 "\a", len=16393) at ../../libbtcore/peer/peer.cpp:268
#5  0x00007ffff7abe04c in bt::PacketReader::update (this=0x18a5030) at ../../libbtcore/peer/packetreader.cpp:141
#6  0x00007ffff7ab05cb in bt::Peer::update (this=0x1575000) at ../../libbtcore/peer/peer.cpp:462
#7  0x00007ffff7ab204a in bt::PeerManager::update (this=0x147fee0) at ../../libbtcore/peer/peermanager.cpp:119
#8  0x00007ffff7af3602 in bt::TorrentControl::update (this=0x144a8e0) at ../../libbtcore/torrent/torrentcontrol.cpp:150
#9  0x000000000043a7e7 in kt::Core::update (this=0x8626f0) at ../../ktorrent/core.cpp:849
#10 0x000000000043c800 in kt::Core::qt_metacall (this=0x8626f0, _c=QMetaObject::InvokeMetaMethod, _id=11, _a=0x7fffffffccd0) at ./core.moc:149
#11 0x00007ffff5603df2 in QMetaObject::activate (sender=0x862718, from_signal_index=<value optimized out>, to_signal_index=4, argv=0x590)
    at kernel/qobject.cpp:3112
#12 0x00007ffff55fe353 in QObject::event (this=0x862718, e=0x7fffd00c26a8) at kernel/qobject.cpp:1074
#13 0x00007ffff4a6801d in QApplicationPrivate::notify_helper (this=0x733be0, receiver=0x862718, e=0x7fffffffd380) at kernel/qapplication.cpp:4065
#14 0x00007ffff4a7007a in QApplication::notify (this=0x7fffffffd6c0, receiver=0x862718, e=0x7fffffffd380) at kernel/qapplication.cpp:4030
#15 0x00007ffff6bdde06 in KApplication::notify (this=0x7fffffffd6c0, receiver=0x862718, event=0x7fffffffd380) at ../../kdeui/kernel/kapplication.cpp:302
#16 0x00007ffff55eec9c in QCoreApplication::notifyInternal (this=0x7fffffffd6c0, receiver=0x862718, event=0x7fffffffd380)
    at kernel/qcoreapplication.cpp:610
#17 0x00007ffff561b2c6 in QCoreApplication::sendEvent (this=0x72c6e0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#18 QTimerInfoList::activateTimers (this=0x72c6e0) at kernel/qeventdispatcher_unix.cpp:580
#19 0x00007ffff5617658 in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:184
#20 idleTimerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:231
#21 0x00007ffff050a90e in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#22 0x00007ffff050e2c8 in ?? () from /lib/libglib-2.0.so.0
#23 0x00007ffff050e3f0 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#24 0x00007ffff561739c in QEventDispatcherGlib::processEvents (this=0x6fb330, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:407
#25 0x00007ffff4afef1f in QGuiEventDispatcherGlib::processEvents (this=0x7fffeb55bfff, flags=<value optimized out>)
    at kernel/qguieventdispatcher_glib.cpp:202
#26 0x00007ffff55ed562 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#27 0x00007ffff55ed934 in QEventLoop::exec (this=0x7fffffffd630, flags=...) at kernel/qeventloop.cpp:201
#28 0x00007ffff55efba4 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#29 0x0000000000429c11 in main (argc=2, argv=0x7fffffffe398) at ../../ktorrent/main.cpp:172
Comment 4 Joris Guisson 2010-03-04 18:17:16 UTC
What signal are you getting exactly ? Segmentation fault, abort, bus ?
Comment 5 Lastique 2010-03-26 02:02:10 UTC
Created attachment 42267 [details]
New crash information added by DrKonqi

KTorrent just crashes during active download all of a sudden. Usually, after a few seconds or a minute since start.
Comment 6 Lastique 2010-03-26 02:03:39 UTC
> What signal are you getting exactly ? Segmentation fault, abort, bus ?

It's BUS Error.
Comment 7 Joris Guisson 2010-03-26 08:38:51 UTC
Then KT is probably writing beyond the end of a file.

Do you have diskspace preallocation enabled ?
Comment 8 Lastique 2010-03-27 11:46:35 UTC
Yes. The "Reserve disk space before starting a torrent" is on, the "Fully reserve disk space" is off. Should I turn them both on or off?
Comment 9 Lastique 2010-03-27 11:49:39 UTC
BTW, the torrent is downloaded to a NTFS-3G partition. I have downloaded many other torrents there before without any problems.
Comment 10 Joris Guisson 2010-03-27 20:03:37 UTC
Full preallocation is not necessary.

Do you have enough free space on that partition ?
Comment 11 Lastique 2010-03-27 20:45:58 UTC
Yes, and quite an amount of spare space after the download.
Comment 12 Joris Guisson 2010-03-29 18:12:20 UTC
The changes done for bug 229081, should prevent a SIGBUS from happening. So I'm closing this as a duplicate of 229081.

*** This bug has been marked as a duplicate of bug 229081 ***