Bug 310653

Summary: Konqueror crashes trying to show the Preferences window
Product: [Applications] konqueror Reporter: Christopher Yeleighton <giecrilj>
Component: generalAssignee: Konqueror Developers <konq-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: adawit, cfeck
Priority: NOR    
Version: 4.9.0   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In: 4.9.5

Description Christopher Yeleighton 2012-11-25 15:30:01 UTC
Application: konqueror (4.9.00)
KDE Platform Version: 4.9.00 (Compiled from sources)
Qt Version: 4.8.1
Operating System: Linux 3.4.11-2.16-desktop x86_64
Distribution: "openSUSE 12.2 (x86_64)"

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

Konqueror crashes trying to show the Preferences window.

I also got this:

konqueror(27237) KonqHistoryLoader::loadHistory: The history version doesn't match, aborting loading 
konqueror(27237) KonqHistoryLoader::loadHistory: The history version doesn't match, aborting loading 
konqueror(27237)/kdecore (trader) KServiceTypeTrader::defaultOffers: KServiceTypeTrader: serviceType  "KonqAboutPage"  not found 
konqueror(27237) KonqFactory::createView: no part was associated with "KonqAboutPage" 
konqueror(27237) KonqViewManager::loadItem: Profile Loading Error: View creation failed 


This was fixed by manually invoking kbuildsyscoca4.  It seems that the code makes bold assumptions about the state of the system.

The crash can be reproduced every time.

-- Backtrace:
Application: Konqueror (konqueror), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
82	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[KCrash Handler]
#6  KPageWidgetItem::setName (this=0x0, name=...) at /tmp/kde-krzysztof/arkOSVg40/kdelibs-4.9.0/kdeui/paged/kpagewidgetmodel.cpp:108
#7  0x00007f446d88ebec in KonqMainWindow::slotConfigure (this=0x19a02f0) at /tmp/kde-krzysztof/arksf6K8d/kde-baseapps-4.9.0/konqueror/src/konqmainwindow.cpp:1744
#8  0x00007f446d8a8b01 in qt_static_metacall (_a=<optimized out>, _id=<optimized out>, _o=<optimized out>, _c=<optimized out>) at /tmp/kde-krzysztof/arksf6K8d/b/konqueror/src/konqmainwindow.moc:354
#9  KonqMainWindow::qt_static_metacall (_o=0x19a02f0, _c=2506275408, _id=1749804608, _a=0x1be6a60) at /tmp/kde-krzysztof/arksf6K8d/b/konqueror/src/konqmainwindow.moc:303
#10 0x00007f446b15cf5f in QMetaObject::activate (sender=0x195c680, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff9562bd10) at kernel/qobject.cpp:3556
#11 0x00007f446a054522 in QAction::triggered (this=this@entry=0x195c680, _t1=false) at .moc/release-shared/moc_qaction.cpp:277
#12 0x00007f446a054710 in QAction::activate (this=0x195c680, event=<optimized out>) at kernel/qaction.cpp:1257
#13 0x00007f446a48d3d3 in QMenuPrivate::activateCausedStack (this=this@entry=0x1ac1340, causedStack=..., action=action@entry=0x195c680, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at widgets/qmenu.cpp:1028
#14 0x00007f446a4936e9 in QMenuPrivate::activateAction (this=0x1ac1340, action=0x195c680, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1120
#15 0x00007f446bee26c0 in KMenu::mouseReleaseEvent (this=0x19c5810, e=0x7fff9562c8b0) at /tmp/kde-krzysztof/arkOSVg40/kdelibs-4.9.0/kdeui/widgets/kmenu.cpp:464
#16 0x00007f446a0a9e60 in QWidget::event (this=0x19c5810, event=0x7fff9562c8b0) at kernel/qwidget.cpp:8362
#17 0x00007f446a49499b in QMenu::event (this=0x19c5810, e=0x7fff9562c8b0) at widgets/qmenu.cpp:2469
#18 0x00007f446a05a74c in QApplicationPrivate::notify_helper (this=this@entry=0x1729f10, receiver=receiver@entry=0x19c5810, e=e@entry=0x7fff9562c8b0) at kernel/qapplication.cpp:4554
#19 0x00007f446a05f4db in QApplication::notify (this=<optimized out>, receiver=0x19c5810, e=0x7fff9562c8b0) at kernel/qapplication.cpp:4097
#20 0x00007f446be29816 in KApplication::notify (this=0x7fff9562d6f0, receiver=0x19c5810, event=0x7fff9562c8b0) at /tmp/kde-krzysztof/arkOSVg40/kdelibs-4.9.0/kdeui/kernel/kapplication.cpp:311
#21 0x00007f446b14673e in QCoreApplication::notifyInternal (this=0x7fff9562d6f0, receiver=0x19c5810, event=0x7fff9562c8b0) at kernel/qcoreapplication.cpp:876
#22 0x00007f446a05b58b in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:231
#23 QApplicationPrivate::sendMouseEvent (receiver=0x19c5810, event=0x7fff9562c8b0, alienWidget=0x0, nativeWidget=0x19c5810, buttonDown=0x7f446ab2f248 <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3165
#24 0x00007f446a0d5a9c in QETWidget::translateMouseEvent (this=this@entry=0x19c5810, event=event@entry=0x7fff9562d020) at kernel/qapplication_x11.cpp:4447
#25 0x00007f446a0d4961 in QApplication::x11ProcessEvent (this=0x7fff9562d6f0, event=0x7fff9562d020) at kernel/qapplication_x11.cpp:3636
#26 0x00007f446a0fac32 in x11EventSourceDispatch (s=s@entry=0x172a5e0, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#27 0x00007f44656e03b5 in g_main_dispatch (context=0x17280f0) at gmain.c:2539
#28 g_main_context_dispatch (context=context@entry=0x17280f0) at gmain.c:3075
#29 0x00007f44656e06e8 in g_main_context_iterate (context=context@entry=0x17280f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<error reading variable: Unhandled dwarf expression opcode 0xfa>) at gmain.c:3146
#30 0x00007f44656e07a4 in g_main_context_iteration (context=0x17280f0, may_block=1) at gmain.c:3207
#31 0x00007f446b174936 in QEventDispatcherGlib::processEvents (this=0x1709440, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#32 0x00007f446a0fa8ae in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#33 0x00007f446b14573f in QEventLoop::processEvents (this=this@entry=0x7fff9562d3f0, flags=...) at kernel/qeventloop.cpp:149
#34 0x00007f446b1459c8 in QEventLoop::exec (this=0x7fff9562d3f0, flags=...) at kernel/qeventloop.cpp:204
#35 0x00007f446b14a3a8 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#36 0x00007f446d8c6c22 in kdemain (argc=<optimized out>, argv=<optimized out>) at /tmp/kde-krzysztof/arksf6K8d/kde-baseapps-4.9.0/konqueror/src/konqmain.cpp:227
#37 0x00007f4468140455 in __libc_start_main (main=0x400890 <main(int, char**)>, argc=1, ubp_av=0x7fff9562d978, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff9562d968) at libc-start.c:226
#38 0x00000000004008c1 in _start () at ../sysdeps/x86_64/elf/start.S:113

Reported using DrKonqi
Comment 1 Dawit Alemayehu 2012-12-01 22:29:30 UTC
I think you have installation issue. That is the only reason this crash would occur. Even if we took care not to make the system crash (check for null before using the pointer), the filemanagement configuration module will not load in your system. So whatever issues you mentioned you had with kbuildsyscoca was not properly resolved.
Comment 2 Dawit Alemayehu 2012-12-10 05:02:05 UTC
Git commit 3ddc66ab8d76afcb2a9a4d020f38968e54634e71 by Dawit Alemayehu.
Committed on 08/12/2012 at 22:56.
Pushed by adawit into branch 'KDE/4.9'.

Do not crash if the system configuration cache (syscoca) is corrupt and the user
launched to the preferences window.
FIXED-IN: 4.9.5
REVIEW: 107642

M  +36   -28   konqueror/src/konqmainwindow.cpp

http://commits.kde.org/kde-baseapps/3ddc66ab8d76afcb2a9a4d020f38968e54634e71