Bug 240374 - Konqueror crash when change the fonts or manipulating tabs [null ViewExtensionsFactory::handleCurrentIndexChange, DolphinIconsView::currentChanged/DolphinDetailsView::currentChanged]
Summary: Konqueror crash when change the fonts or manipulating tabs [null ViewExtensio...
Status: RESOLVED FIXED
Alias: None
Product: konqueror
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Mandriva RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords: investigated
: 246589 246643 256267 266534 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-06-01 19:10 UTC by Dimitrios Glentadakis
Modified: 2011-02-17 22:27 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.5.4


Attachments
New crash information added by DrKonqi (10.04 KB, text/plain)
2010-08-06 15:29 UTC, Joachim Mairböck
Details
Proposed patch (1.55 KB, patch)
2010-11-21 09:46 UTC, Frank Reininghaus
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dimitrios Glentadakis 2010-06-01 19:10:33 UTC
Application: konqueror (4.4.3 (KDE 4.4.3))
KDE Platform Version: 4.4.3 (KDE 4.4.3)
Qt Version: 4.6.2
Operating System: Linux 2.6.33.4-desktop-3mnb i686
Distribution: "Mandriva Linux 2010.1"

-- Information about the crash:
When i change the fonts in konqueror → settings → aperreance→fonts konqueror crashs. After reopening konqueror the changes are well done.

The crash can be reproduced every time.

 -- Backtrace:
Application: Konqueror (kdeinit4), signal: Segmentation fault
[KCrash Handler]
#6  0xadee0ea3 in ViewExtensionsFactory::handleCurrentIndexChange (this=0x0, current=..., previous=...) at /usr/src/debug/kdebase-4.4.3/apps/dolphin/src/viewextensionsfactory.cpp:136
#7  0xadeabf4d in DolphinIconsView::currentChanged (this=0x916f200, current=..., previous=...) at /usr/src/debug/kdebase-4.4.3/apps/dolphin/src/dolphiniconsview.cpp:355
#8  0xb662f36f in QAbstractItemView::qt_metacall (this=0x916f200, _c=QMetaObject::InvokeMetaMethod, _id=20, _a=0xbf883504) at .moc/release-shared/moc_qabstractitemview.cpp:238
#9  0xb67ca2d2 in QListView::qt_metacall (this=0x916f200, _c=QMetaObject::InvokeMetaMethod, _id=51, _a=0xbf883504) at .moc/release-shared/moc_qlistview.cpp:111
#10 0xb6e1e972 in KCategorizedView::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkdeui.so.5
#11 0xadead7f2 in DolphinIconsView::qt_metacall (this=0x916f200, _c=QMetaObject::InvokeMetaMethod, _id=51, _a=0xbf883504)
    at /usr/src/debug/kdebase-4.4.3/build/apps/dolphin/src/dolphiniconsview.moc:77
#12 0xb6b60ded in QMetaObject::metacall (object=0x916f200, cl=146724296, idx=51, argv=0xbf883504) at kernel/qmetaobject.cpp:237
#13 0xb6b6fc5a in QMetaObject::activate (sender=0x94925d8, m=0xb69c8e50, local_signal_index=1, argv=0xbf883504) at kernel/qobject.cpp:3293
#14 0xb66881bd in QItemSelectionModel::currentChanged (this=0x94925d8, _t1=..., _t2=...) at .moc/release-shared/moc_qitemselectionmodel.cpp:159
#15 0xb66883bc in QItemSelectionModel::setCurrentIndex (this=0x94925d8, index=..., command=...) at itemviews/qitemselectionmodel.cpp:1167
#16 0xb6626cb6 in QAbstractItemView::focusInEvent (this=0x916f200, event=0x0) at itemviews/qabstractitemview.cpp:2089
#17 0xb60d22ea in QWidget::event (this=0x916f200, event=0xbf883ce0) at kernel/qwidget.cpp:8107
#18 0xb64def05 in QFrame::event (this=0x916f200, e=0xbf883ce0) at widgets/qframe.cpp:557
#19 0xb657c644 in QAbstractScrollArea::event (this=0x916f200, e=0xbf883ce0) at widgets/qabstractscrollarea.cpp:989
#20 0xb662d24c in QAbstractItemView::event (this=0x916f200, event=0xbf883ce0) at itemviews/qabstractitemview.cpp:1546
#21 0xb6649783 in QListView::event (this=0x916f200, e=0xbf883ce0) at itemviews/qlistview.cpp:1624
#22 0xb6071f1c in QApplicationPrivate::notify_helper (this=0x8528dc0, receiver=0x916f200, e=0xbf883ce0) at kernel/qapplication.cpp:4300
#23 0xb6078de8 in QApplication::notify (this=0x916f200, receiver=0x916f200, e=0xbf883ce0) at kernel/qapplication.cpp:4265
#24 0xb6e454a1 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#25 0xb6b5ba9e in QCoreApplication::notifyInternal (this=0xbf885030, receiver=0x916f200, event=0xbf883ce0) at kernel/qcoreapplication.cpp:704
#26 0xb608190d in QCoreApplication::sendEvent (receiver=0x916f200, event=0x0) at ../../src/corelib/kernel/qcoreapplication.h:215
#27 0xb607798d in QApplicationPrivate::setFocusWidget (focus=0x916f200, reason=Qt::OtherFocusReason) at kernel/qapplication.cpp:2137
#28 0xb60cd3fb in QWidget::setFocus (this=0x916f200, reason=Qt::OtherFocusReason) at kernel/qwidget.cpp:6135
#29 0xadeadc20 in setFocus (this=0x916f200, parent=0x8bb5038, controller=0x8bf3a58, proxyModel=0x8bed5c8) at /usr/lib/qt4/include/QtGui/qwidget.h:420
#30 DolphinIconsView::DolphinIconsView (this=0x916f200, parent=0x8bb5038, controller=0x8bf3a58, proxyModel=0x8bed5c8) at /usr/src/debug/kdebase-4.4.3/apps/dolphin/src/dolphiniconsview.cpp:118
#31 0xadeb8243 in DolphinView::ViewAccessor::createView (this=0x8bb505c, parent=0x8bb5038, controller=0x8bf3a58, mode=DolphinView::IconsView)
    at /usr/src/debug/kdebase-4.4.3/apps/dolphin/src/dolphinview.cpp:1482
#32 0xadeb858b in DolphinView::createView (this=0x8bb5038) at /usr/src/debug/kdebase-4.4.3/apps/dolphin/src/dolphinview.cpp:1362
#33 0xadebd987 in DolphinView::refresh (this=0x8bb5038) at /usr/src/debug/kdebase-4.4.3/apps/dolphin/src/dolphinview.cpp:473
#34 0xadf4822a in reparseConfiguration (this=0x8bdd0c0, _c=QMetaObject::InvokeMetaMethod, _id=53, _a=0xbf883fbc) at /usr/src/debug/kdebase-4.4.3/apps/dolphin/src/dolphinpart.cpp:504
#35 DolphinPartBrowserExtension::qt_metacall (this=0x8bdd0c0, _c=QMetaObject::InvokeMetaMethod, _id=53, _a=0xbf883fbc) at /usr/src/debug/kdebase-4.4.3/build/apps/dolphin/src/dolphinpart.moc:256
#36 0xb6b60ded in QMetaObject::metacall (object=0x8bdd0c0, cl=146724296, idx=53, argv=0xbf883fbc) at kernel/qmetaobject.cpp:237
#37 0xb6b64db9 in QMetaMethod::invoke (this=0xbf88415c, object=0x8bdd0c0, connectionType=Qt::DirectConnection, returnValue=..., val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., 
    val7=..., val8=..., val9=...) at kernel/qmetaobject.cpp:1533
#38 0xb6b653af in QMetaObject::invokeMethod (obj=0x8bdd0c0, member=0xb1d12277 "reparseConfiguration", type=Qt::DirectConnection, ret=..., val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., 
    val6=..., val7=..., val8=..., val9=...) at kernel/qmetaobject.cpp:1113
#39 0xb1c7eb68 in invokeMethod (this=0x8be0990, methodName=0xb1d12277 "reparseConfiguration") at /usr/lib/qt4/include/QtCore/qobjectdefs.h:398
#40 KonqView::callExtensionMethod (this=0x8be0990, methodName=0xb1d12277 "reparseConfiguration") at /usr/src/debug/kdebase-4.4.3/apps/konqueror/src/konqview.cpp:1075
#41 0xb1c7ebc5 in KonqView::reparseConfiguration (this=0x8be0990) at /usr/src/debug/kdebase-4.4.3/apps/konqueror/src/konqview.cpp:1144
#42 0xb1cc2c2b in KonqMainWindow::reparseConfiguration (this=0x863f490) at /usr/src/debug/kdebase-4.4.3/apps/konqueror/src/konqmainwindow.cpp:4811
#43 0xb1c76d28 in KonquerorApplication::slotReparseConfiguration (this=0xbf885030) at /usr/src/debug/kdebase-4.4.3/apps/konqueror/src/konqapplication.cpp:51
#44 0xb1c77a64 in KonquerorApplication::qt_metacall (this=0xbf885030, _c=QMetaObject::InvokeMetaMethod, _id=26, _a=0xbf88460c)
    at /usr/src/debug/kdebase-4.4.3/build/apps/konqueror/src/konqapplication.moc:80
#45 0xb5b89c06 in QDBusConnectionPrivate::deliverCall (this=0x85a34c8, object=0xbf885030, msg=..., metaTypes=..., slotIdx=0) at qdbusintegrator.cpp:904
#46 0xb5b95086 in QDBusCallDeliveryEvent::placeMetaCall(QObject*) () from /usr/lib/libQtDBus.so.4
#47 0xb6b6c92f in QObject::event (this=0xbf885030, e=0x9090070) at kernel/qobject.cpp:1248
#48 0xb6b5b58a in QCoreApplication::event (this=0xbf885030, e=0x9090070) at kernel/qcoreapplication.cpp:1533
#49 0xb6076708 in QApplication::event (this=0xbf885030, e=0x9090070) at kernel/qapplication.cpp:2353
#50 0xb6071f1c in QApplicationPrivate::notify_helper (this=0x8528dc0, receiver=0xbf885030, e=0x9090070) at kernel/qapplication.cpp:4300
#51 0xb6078d58 in QApplication::notify (this=0xbf885030, receiver=0xbf885030, e=0x9090070) at kernel/qapplication.cpp:4183
#52 0xb6e454a1 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#53 0xb6b5ba9e in QCoreApplication::notifyInternal (this=0xbf885030, receiver=0xbf885030, event=0x9090070) at kernel/qcoreapplication.cpp:704
#54 0xb6b5e4a3 in sendEvent (receiver=0x0, event_type=0, data=0x84cf280) at kernel/qcoreapplication.h:215
#55 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x84cf280) at kernel/qcoreapplication.cpp:1345
#56 0xb6b5e5fc in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1238
#57 0xb6b88add in sendPostedEvents (s=0x852bb28) at kernel/qcoreapplication.h:220
#58 postEventSourceDispatch (s=0x852bb28) at kernel/qeventdispatcher_glib.cpp:276
#59 0xb580bcbe in g_main_dispatch (context=0x852b0a0) at gmain.c:1960
#60 IA__g_main_context_dispatch (context=0x852b0a0) at gmain.c:2513
#61 0xb580f9f8 in g_main_context_iterate (context=0x852b0a0, block=<value optimized out>, dispatch=1, self=0x84ced50) at gmain.c:2591
#62 0xb580fb9e in IA__g_main_context_iteration (context=0x852b0a0, may_block=1) at gmain.c:2654
#63 0xb6b885c1 in QEventDispatcherGlib::processEvents (this=0x8528da0, flags=...) at kernel/qeventdispatcher_glib.cpp:412
#64 0xb6132bda in QGuiEventDispatcherGlib::processEvents (this=0x8528da0, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#65 0xb6b5a0fd in QEventLoop::processEvents (this=0xbf884e84, flags=) at kernel/qeventloop.cpp:149
#66 0xb6b5a549 in QEventLoop::exec (this=0xbf884e84, flags=...) at kernel/qeventloop.cpp:201
#67 0xb6b5e6d0 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#68 0xb6071fc4 in QApplication::exec () at kernel/qapplication.cpp:3579
#69 0xb1d0fdcb in kdemain (argc=2, argv=0x85330d8) at /usr/src/debug/kdebase-4.4.3/apps/konqueror/src/konqmain.cpp:257
#70 0x0804dcaf in launch (argc=2, _name=<value optimized out>, args=<value optimized out>, cwd=0x0, envc=0, envs=0x8532d84 "", reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=
    0x8532d88 "localhost.localdomain;1275411850;637052;4964_TIME1258083") at /usr/src/debug/kdelibs-4.4.3/kinit/kinit.cpp:717
#71 0x0804e947 in handle_launcher_request (sock=<value optimized out>, who=<value optimized out>) at /usr/src/debug/kdelibs-4.4.3/kinit/kinit.cpp:1209
#72 0x0804ed94 in handle_requests (waitForPid=<value optimized out>) at /usr/src/debug/kdelibs-4.4.3/kinit/kinit.cpp:1402
#73 0x0804fb47 in main (argc=4, argv=0xbf885be4, envp=0xbf885bf8) at /usr/src/debug/kdelibs-4.4.3/kinit/kinit.cpp:1845

Reported using DrKonqi
Comment 1 Dimitrios Glentadakis 2010-06-01 22:11:47 UTC
the crash happens whatever change i do in konqueror's settings and i click on [ok] directrly and not on [apply] and after [ok]
Comment 2 Frank Reininghaus 2010-08-03 11:34:52 UTC
*** Bug 246589 has been marked as a duplicate of this bug. ***
Comment 3 Frank Reininghaus 2010-08-03 11:36:59 UTC
Thanks for the bug reports! It looks like this issue is related to the Dolphin code which is used by Konqueror.
Comment 4 Joachim Mairböck 2010-08-06 15:29:44 UTC
Created attachment 49881 [details]
New crash information added by DrKonqi

konqueror (4.4.95 (KDE 4.4.95 (KDE 4.5 >= 20100723))) on KDE Platform 4.4.95 (KDE 4.4.95 (KDE 4.5 >= 20100723)) using Qt 4.6.3

- What I was doing when the application crashed:
This also happens with the adblock component's configure filter thing. I removed a few duplicate filters out of the list. They occoured after I tried to remove an iframe twice because it didn't go away. I had also a DolphinPart tab open (ftp).

-- Backtrace (Reduced):
#7  0xaa58b4e3 in ViewExtensionsFactory::handleCurrentIndexChange (this=0x0, current=..., previous=...) at /usr/src/debug/kdebase-4.4.95/apps/dolphin/src/viewextensionsfactory.cpp:138
#8  0xaa56181d in DolphinIconsView::currentChanged (this=0xf2e01e8, current=..., previous=...) at /usr/src/debug/kdebase-4.4.95/apps/dolphin/src/dolphiniconsview.cpp:359
#9  0xb6a310f4 in QAbstractItemView::qt_metacall (this=0xf2e01e8, _c=QMetaObject::InvokeMetaMethod, _id=20, _a=0xbfd68a24) at .moc/release-shared/moc_qabstractitemview.cpp:238
#10 0xb6bb8e62 in QListView::qt_metacall (this=0xf2e01e8, _c=QMetaObject::InvokeMetaMethod, _id=51, _a=0xbfd68a24) at .moc/release-shared/moc_qlistview.cpp:111
#11 0xb757b152 in KCategorizedView::qt_metacall (this=0xf2e01e8, _c=QMetaObject::InvokeMetaMethod, _id=51, _a=0xbfd68a24) at /usr/src/debug/kdelibs-4.4.95/build/kdeui/kcategorizedview.moc:75
Comment 5 Dario Andres 2010-11-20 23:26:18 UTC
[Comment from a bug triager]
From bug 246643:
-- Information about the crash:
I was in a hurry and I opened Konqueror, entered sftp://some.host.org and
without waiting for the login window, I opened a tab. A few moments after the
new tab was created, the login window appeared, I entered my credentials and
pressed ENTER. That's when it crashed.

From bug 256267:
- What I was doing when the application crashed:
This crash occured while I was trying to drag a tab to reposition it.
All the tabs were for local directories - no http(s), no login,

- Updated backtrace (KDE SC 4.5.3):
[KCrash Handler]
#7  0xafc20a13 in ViewExtensionsFactory::handleCurrentIndexChange (this=0x0,
current=..., previous=...) at
/usr/src/debug/kdebase-4.5.3/apps/dolphin/src/viewextensionsfactory.cpp:138
#8  0xafbf2afd in DolphinDetailsView::currentChanged (this=0x91982b0,
current=..., previous=...) at
/usr/src/debug/kdebase-4.5.3/apps/dolphin/src/dolphindetailsview.cpp:455
#9  0xb69520f4 in QAbstractItemView::qt_metacall (this=0x91982b0,
_c=QMetaObject::InvokeMetaMethod, _id=20, _a=0xbff0f624) at
.moc/release-shared/moc_qabstractitemview.cpp:238
#10 0xb699dfc2 in QTreeView::qt_metacall (this=0x91982b0,
_c=QMetaObject::InvokeMetaMethod, _id=51, _a=0xbff0f624) at
.moc/release-shared/moc_qtreeview.cpp:119
#11 0xafbf5422 in DolphinDetailsView::qt_metacall (this=0x91982b0,
_c=QMetaObject::InvokeMetaMethod, _id=51, _a=0xbff0f624)
    at
/usr/src/debug/kdebase-4.5.3/build/apps/dolphin/src/dolphindetailsview.moc:106
Comment 6 Dario Andres 2010-11-20 23:26:24 UTC
*** Bug 246643 has been marked as a duplicate of this bug. ***
Comment 7 Dario Andres 2010-11-20 23:26:28 UTC
*** Bug 256267 has been marked as a duplicate of this bug. ***
Comment 8 Frank Reininghaus 2010-11-21 09:46:18 UTC
Created attachment 53602 [details]
Proposed patch

The problem is that setFocus() in the view constructor accesses m_extensionsFactory indirectly before it is initialised (that is done at the end of the view constructor). The attached patch should fix this by making sure that the setFocus() call is done after the initialisation.

@Peter: Is it OK to commit this patch, or could the moving of the setFocus() call have other side effects?

In principle, this patch also fixes 257035 - the null pointer check which I've added to fix that one could be removed to save a line of code, but I would rather leave it as it is for additional safety.
Comment 9 Peter Penz 2010-11-21 10:42:21 UTC
@Frank: The patch looks fine and won't have any sideeffects. Thanks!
Comment 10 Frank Reininghaus 2010-11-21 13:36:22 UTC
SVN commit 1199276 by freininghaus:

In the item view constructors, call setFocus() only after
m_extensionsFactory is initialised. This fixes a possible crash in
Konqueror when changing the settings or manipulating tabs.

CCBUG: 240374


 M  +3 -1      dolphindetailsview.cpp  
 M  +3 -2      dolphiniconsview.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1199276
Comment 11 Frank Reininghaus 2010-11-21 13:37:01 UTC
SVN commit 1199277 by freininghaus:

In the item view constructors, call setFocus() only after
m_extensionsFactory is initialised. This fixes a possible crash in
Konqueror when changing the settings or manipulating tabs.

BUG: 240374
FIXED-IN: 4.5.4


 M  +3 -1      dolphindetailsview.cpp  
 M  +3 -1      dolphiniconsview.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1199277
Comment 12 Frank Reininghaus 2011-02-17 22:27:09 UTC
*** Bug 266534 has been marked as a duplicate of this bug. ***