Bug 172198

Summary: Crash with segmentation fault
Product: ktorrent Reporter: Borislav Ivanov <borislavgi>
Component: generalAssignee: Joris Guisson <joris.guisson>
Status: RESOLVED FIXED    
Severity: crash CC: andreaswuest, bugs, computerpro, email.xenophon, juliano.timm, kedgedev, kevin.kofler, layranos.stylianos, psiberstorm, simta, tuju, zabivator, zeus
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: dump

Description Borislav Ivanov 2008-10-05 13:45:36 UTC
Version:           3.1.2 (using 4.1.1 (KDE 4.1.1), 4.1.1-12.fc9 Fedora)
Compiler:          gcc
OS:                Linux (i686) release 2.6.26.5-45.fc9.i686

Addition Info:
KTorrent crashed while downloading. Bulgarian locale was used

Loaded plugins:

BandwidthSchedulerPlugin
InfoWidgetPlugin
SearchPlugin

Backtrace follows:

Application: KTorrent (ktorrent), signal SIGSEGV
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 0xb80209a0 (LWP 8866)]
[New Thread 0xb3cfdb90 (LWP 8964)]
[New Thread 0xb50ffb90 (LWP 8963)]
[New Thread 0xb686bb90 (LWP 8871)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[KCrash handler]
#6  0x069652ea in ?? () from /usr/lib/libQtGui.so.4
#7  0x069653e3 in QSortFilterProxyModel::mapFromSource ()
   from /usr/lib/libQtGui.so.4
#8  0x0695f0b2 in QSortFilterProxyModel::parent () from /usr/lib/libQtGui.so.4
#9  0x06916534 in QTreeView::indexRowSizeHint () from /usr/lib/libQtGui.so.4
#10 0x06916c62 in ?? () from /usr/lib/libQtGui.so.4
#11 0x0691bc6a in QTreeView::verticalOffset () from /usr/lib/libQtGui.so.4
#12 0x068e4530 in ?? () from /usr/lib/libQtGui.so.4
#13 0x0646ac50 in QWidgetPrivate::drawWidget () from /usr/lib/libQtGui.so.4
#14 0x0646b02b in QWidgetPrivate::paintSiblingsRecursive ()
   from /usr/lib/libQtGui.so.4
#15 0x0646af3d in QWidgetPrivate::paintSiblingsRecursive ()
   from /usr/lib/libQtGui.so.4
#16 0x0646af3d in QWidgetPrivate::paintSiblingsRecursive ()
   from /usr/lib/libQtGui.so.4
#17 0x0646af3d in QWidgetPrivate::paintSiblingsRecursive ()
   from /usr/lib/libQtGui.so.4
#18 0x0646a548 in QWidgetPrivate::drawWidget () from /usr/lib/libQtGui.so.4
#19 0x0646b02b in QWidgetPrivate::paintSiblingsRecursive ()
   from /usr/lib/libQtGui.so.4
#20 0x0646a548 in QWidgetPrivate::drawWidget () from /usr/lib/libQtGui.so.4
#21 0x0646b02b in QWidgetPrivate::paintSiblingsRecursive ()
   from /usr/lib/libQtGui.so.4
#22 0x0646af3d in QWidgetPrivate::paintSiblingsRecursive ()
   from /usr/lib/libQtGui.so.4
#23 0x0646a548 in QWidgetPrivate::drawWidget () from /usr/lib/libQtGui.so.4
#24 0x0646b02b in QWidgetPrivate::paintSiblingsRecursive ()
   from /usr/lib/libQtGui.so.4
#25 0x0646a548 in QWidgetPrivate::drawWidget () from /usr/lib/libQtGui.so.4
#26 0x0646b02b in QWidgetPrivate::paintSiblingsRecursive ()
   from /usr/lib/libQtGui.so.4
#27 0x0646a548 in QWidgetPrivate::drawWidget () from /usr/lib/libQtGui.so.4
#28 0x0646b02b in QWidgetPrivate::paintSiblingsRecursive ()
   from /usr/lib/libQtGui.so.4
#29 0x0646a548 in QWidgetPrivate::drawWidget () from /usr/lib/libQtGui.so.4
#30 0x0646b02b in QWidgetPrivate::paintSiblingsRecursive ()
   from /usr/lib/libQtGui.so.4
#31 0x0646a548 in QWidgetPrivate::drawWidget () from /usr/lib/libQtGui.so.4
#32 0x0646b02b in QWidgetPrivate::paintSiblingsRecursive ()
   from /usr/lib/libQtGui.so.4
#33 0x0646af3d in QWidgetPrivate::paintSiblingsRecursive ()
   from /usr/lib/libQtGui.so.4
#34 0x0646af3d in QWidgetPrivate::paintSiblingsRecursive ()
   from /usr/lib/libQtGui.so.4
#35 0x0646af3d in QWidgetPrivate::paintSiblingsRecursive ()
   from /usr/lib/libQtGui.so.4
#36 0x0646af3d in QWidgetPrivate::paintSiblingsRecursive ()
   from /usr/lib/libQtGui.so.4
#37 0x0646af3d in QWidgetPrivate::paintSiblingsRecursive ()
   from /usr/lib/libQtGui.so.4
#38 0x0646a548 in QWidgetPrivate::drawWidget () from /usr/lib/libQtGui.so.4
#39 0x065d7287 in ?? () from /usr/lib/libQtGui.so.4
#40 0x065d8097 in ?? () from /usr/lib/libQtGui.so.4
#41 0x0646bcd6 in QWidget::event () from /usr/lib/libQtGui.so.4
#42 0x067be5c7 in QMainWindow::event () from /usr/lib/libQtGui.so.4
#43 0x05f9bf28 in KMainWindow::event () from /usr/lib/libkdeui.so.5
#44 0x05fdd6ec in KXmlGuiWindow::event () from /usr/lib/libkdeui.so.5
#45 0x0641430c in QApplicationPrivate::notify_helper ()
   from /usr/lib/libQtGui.so.4
#46 0x0641c23a in QApplication::notify () from /usr/lib/libQtGui.so.4
#47 0x05ed731d in KApplication::notify () from /usr/lib/libkdeui.so.5
#48 0x05a0d731 in QCoreApplication::notifyInternal ()
   from /usr/lib/libQtCore.so.4
#49 0x05a0e3a5 in QCoreApplicationPrivate::sendPostedEvents ()
   from /usr/lib/libQtCore.so.4
#50 0x05a0e5bd in QCoreApplication::sendPostedEvents ()
   from /usr/lib/libQtCore.so.4
#51 0x05a3825f in ?? () from /usr/lib/libQtCore.so.4
#52 0x00e2d008 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#53 0x00e306b3 in ?? () from /lib/libglib-2.0.so.0
#54 0x00e30871 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#55 0x05a37ea8 in QEventDispatcherGlib::processEvents ()
   from /usr/lib/libQtCore.so.4
#56 0x064acd95 in ?? () from /usr/lib/libQtGui.so.4
#57 0x05a0be1a in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#58 0x05a0bfda in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#59 0x05a0e685 in QCoreApplication::exec () from /usr/lib/libQtCore.so.4
#60 0x06414187 in QApplication::exec () from /usr/lib/libQtGui.so.4
#61 0x08062203 in _start ()
Comment 1 Joris Guisson 2008-10-06 18:27:34 UTC
Which Qt version are you using ?
Comment 2 Borislav Ivanov 2008-10-07 00:08:53 UTC
(In reply to comment #1)
> Which Qt version are you using ?
> 

I use Qt 4.4.1 from the Fedora distribution: qt-4.4.1-2.fc9.i386
Comment 3 Joris Guisson 2008-10-29 10:25:56 UTC
SVN commit 877351 by guisson:

Work around Qt bug by making sure executeDelayedItemsLayout is called in viewportEvent, the
bug caused crashes in QTreeView's with a QSortFilterProxyModel

BUG: 172198



 M  +7 -0      ktorrent/view.cpp  
 M  +3 -0      ktorrent/view.h  
 M  +1 -0      plugins/infowidget/CMakeLists.txt  
 A             plugins/infowidget/chunkdownloadtreeview.cpp   [License: GPL (v2+)]
 A             plugins/infowidget/chunkdownloadtreeview.h   [License: GPL (v2+)]
 M  +9 -2      plugins/infowidget/chunkdownloadview.ui  
 M  +6 -0      plugins/infowidget/fileview.cpp  
 M  +1 -0      plugins/infowidget/fileview.h  
 M  +6 -0      plugins/infowidget/peerview.cpp  
 M  +3 -0      plugins/infowidget/peerview.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=877351
Comment 4 Joris Guisson 2008-11-06 19:04:21 UTC
*** Bug 174462 has been marked as a duplicate of this bug. ***
Comment 5 Juha Tuomala 2008-11-06 20:06:00 UTC
Name        : ktorrent                     Relocations: (not relocatable)
Version     : 3.1.4                             Vendor: Fedora Project
Release     : 1.fc9                         Build Date: Thu 23 Oct 2008 08:35:02 PM EEST
Install Date: Sat 25 Oct 2008 02:38:45 PM EEST      Build Host: xenbuilder2.fedora.redhat.com
Group       : Applications/Internet         Source RPM: ktorrent-3.1.4-1.fc9.src.rpm


and it still crashed. Is that really fixed?
Comment 6 Joris Guisson 2008-11-07 10:41:06 UTC
The fix will be in 3.1.5
Comment 7 Joris Guisson 2008-11-11 10:29:07 UTC
*** Bug 174812 has been marked as a duplicate of this bug. ***
Comment 8 Joris Guisson 2008-11-14 14:01:19 UTC
*** Bug 174588 has been marked as a duplicate of this bug. ***
Comment 9 Joris Guisson 2008-12-07 10:27:10 UTC
*** Bug 177081 has been marked as a duplicate of this bug. ***
Comment 10 Joris Guisson 2008-12-11 08:10:08 UTC
*** Bug 177429 has been marked as a duplicate of this bug. ***
Comment 11 Dario Andres 2008-12-18 18:36:08 UTC
*** Bug 178080 has been marked as a duplicate of this bug. ***
Comment 12 Joris Guisson 2008-12-29 11:27:34 UTC
*** Bug 179013 has been marked as a duplicate of this bug. ***
Comment 13 Joris Guisson 2009-01-03 13:16:29 UTC
*** Bug 179487 has been marked as a duplicate of this bug. ***
Comment 14 Kevin Kofler 2009-01-09 00:27:16 UTC
Looks like this still happens with 3.1.5:
https://bugzilla.redhat.com/show_bug.cgi?id=479146
Comment 15 Dario Andres 2009-01-17 23:03:32 UTC
*** Bug 181074 has been marked as a duplicate of this bug. ***
Comment 16 Joris Guisson 2009-01-19 12:18:20 UTC
This was permanently fixed a couple of weeks ago in trunk, so closed.
Comment 17 Oleg Tsarev 2009-02-16 21:03:27 UTC
Created attachment 31375 [details]
dump

dump after crash
Comment 18 Oleg Tsarev 2009-02-16 21:05:41 UTC
KTorrent 3.1.2 from KDE 4.2.0 crash during some hours on seeding many torrents and leeching one torrent.

$uname -a
Linux zabivator 2.6.27-11-generic #1 SMP Thu Jan 29 19:28:32 UTC 2009 x86_64 GNU/Linux

dump in attachment
Comment 19 Oleg Tsarev 2009-02-16 21:06:52 UTC
KTorrent 3.1.2 from KDE 4.2.0 crash during some hours on seeding many torrents and leeching one torrent.

$uname -a
Linux zabivator 2.6.27-11-generic #1 SMP Thu Jan 29 19:28:32 UTC 2009 x86_64 GNU/Linux

dump in attachment
Comment 20 Roman Jarosz 2009-04-03 00:34:20 UTC
If it's Qt bug was this reported to TT? I can easily reproduce this crash in Kopete (with Qt 4.5). The executeDelayedItemsLayout workaround works.
Comment 21 Kevin Kofler 2009-04-03 08:06:49 UTC
But does the Kopete issue also happen with Qt 4.4? The KTorrent one does. These may actually be different bugs.
Comment 22 Joris Guisson 2009-04-03 08:47:25 UTC
Digging through my mail I found this on a kde-devel thread :

http://www.qtsoftware.com/developer/task-tracker/index_html?id=245352&method=entry

So it looks like this is fixed in Qt 4.5

Note, that the workaround above didn't completely fix it, I have now resolved it by ditching QSortFilterProxyModel, and doing the sorting myself.
Comment 23 Roman Jarosz 2009-04-03 09:13:48 UTC
Kevin, I can't test right now with Qt 4.4, because I don't have Qt compiled.

Joris, the TT looks like different bug, the backtrace of Kopete crash goes through viewportEvent

#5  QSortFilterProxyModelPrivate::source_to_proxy (this=0x7cac10, source_index=@0x7fff586ba0d0) at ../../include/QtCore/../../src/corelib/ke
rnel/qabstractitemmodel.h:369
#6  0x00007f404bd8431d in QSortFilterProxyModel::mapFromSource (this=<value optimized out>, sourceIndex=@0x7fff586ba0d0) at itemviews/qsortf
ilterproxymodel.cpp:2358
#7  0x00007f404bd7f1a9 in QSortFilterProxyModel::parent (this=0x90, child=<value optimized out>) at itemviews/qsortfilterproxymodel.cpp:1522
#8  0x00007f404bd419b6 in QTreeViewPrivate::itemDecorationRect (this=0x66dbc0, index=@0x7fff586ba1e0) at ../../include/QtCore/../../src/core
lib/kernel/qabstractitemmodel.h:369
#9  0x00007f404bd41c4a in QTreeViewPrivate::itemDecorationAt (this=0x66dbc0, pos=@0x7fff586ba424) at itemviews/qtreeview.cpp:3476
#10 0x00007f404bd41d7a in QTreeView::viewportEvent (this=0x800b60, event=0x7fff586ba410) at itemviews/qtreeview.cpp:1240
#11 0x00007f404c775548 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value optimized out>, receiver=0x81f720, event=0x7ff
f586ba410) at kernel/qcoreapplication.cpp:718
#12 0x00007f404b8654fc in QApplicationPrivate::notify_helper (this=0x673870, receiver=0x81f720, e=0x7fff586ba410) at kernel/qapplication.cpp
:4080
#13 0x00007f404b86e791 in QApplicationPrivate::dispatchEnterLeave (enter=0x81f720, leave=<value optimized out>) at kernel/qapplication.cpp:2
618
#14 0x00007f404b86edf5 in QApplicationPrivate::sendMouseEvent (receiver=0x81f720, event=0x7fff586ba820, alienWidget=0x81f720, nativeWidget=0
x7a2ad0, buttonDown=0x7f404c1cbe28,
    lastMouseReceiver=@0x7f404c1cbe30) at kernel/qapplication.cpp:2924

like the backtrace here
http://ktorrent.org/forum/viewtopic.php?t=2638&start=0&postdays=0&postorder=asc&highlight=&sid=903f358861959283180237847568603d

and as I said the workaround works for Qt 4.5, I didn't saw any other crashes yet, but we don't use model/view in Kopete for a long time. So it looks like it wasn't reported if so I'll report it.