Bug 299020 - Konqueror crashes when switching to embedded KPart
Summary: Konqueror crashes when switching to embedded KPart
Status: RESOLVED FIXED
Alias: None
Product: konqueror
Classification: Applications
Component: general (show other bugs)
Version: 4.8.2
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
: 297463 304699 318032 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-04-29 09:39 UTC by Simon St James
Modified: 2013-05-12 22:04 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.10.4


Attachments
$KDEHOME/share/apps/konqueror/konqueror.rc that seems to trigger it, (7.68 KB, application/xml)
2012-05-06 08:46 UTC, Simon St James
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Simon St James 2012-04-29 09:39:04 UTC
Application: konqueror (4.8.2 (4.8.2))
KDE Platform Version: 4.8.2 (4.8.2)
Qt Version: 4.8.1
Operating System: Linux 3.2.0-23-generic-pae i686
Distribution: Ubuntu 12.04 LTS

-- Information about the crash:
Whenever Konqueror switches to an embedded KPart e.g. gwenview or okular, it will crash with the attached backtrace.

For me, running:

konqueror http://www.google.co.uk/images/nav_logo_hp2.png

(which, with my config, will attempt to use the embedded gwenview KPart to view the png file) will crash konqueror with 100% reproducibilty.  Seems superficially similar to Bug 265217; maybe adawit will have some insight into it :)

The crash can be reproduced every time.

-- Backtrace:
Application: Konqueror (konqueror), signal: Segmentation fault
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0xb4ba1740 (LWP 27144))]

Thread 4 (Thread 0xb00a7b40 (LWP 27148)):
#0  0xb7736424 in __kernel_vsyscall ()
#1  0xb7572380 in __GI___poll (fds=0xaf702278, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0xb51c8a3b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb51bb06e in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb51bb1c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb66b98e7 in QEventDispatcherGlib::processEvents (this=0xaf700468, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0xb668550d in QEventLoop::processEvents (this=0xb00a7240, flags=...) at kernel/qeventloop.cpp:149
#7  0xb66857a9 in QEventLoop::exec (this=0xb00a7240, flags=...) at kernel/qeventloop.cpp:204
#8  0xb656e94c in QThread::exec (this=0x9785f48) at thread/qthread.cpp:501
#9  0xb6662b5d in QInotifyFileSystemWatcherEngine::run (this=0x9785f48) at io/qfilesystemwatcher_inotify.cpp:248
#10 0xb6571de0 in QThreadPrivate::start (arg=0x9785f48) at thread/qthread_unix.cpp:298
#11 0xb5282d4c in start_thread (arg=0xb00a7b40) at pthread_create.c:308
#12 0xb7580ace in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 3 (Thread 0xae6ffb40 (LWP 29236)):
#0  0xb7736424 in __kernel_vsyscall ()
#1  0xb528696b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:169
#2  0xb758e3dc in __pthread_cond_wait (cond=0xa7d68a30, mutex=0xa7d68a18) at forward.c:139
#3  0xa7637263 in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4
#4  0xa763737f in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4
#5  0xb5282d4c in start_thread (arg=0xae6ffb40) at pthread_create.c:308
#6  0xb7580ace in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 2 (Thread 0xaf0f5b40 (LWP 29237)):
#0  0xb7736424 in __kernel_vsyscall ()
#1  0xb7572380 in __GI___poll (fds=0x130d5608, nfds=1, timeout=1203) at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0xb51c8a3b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb51bb06e in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb51bb1c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb66b98e7 in QEventDispatcherGlib::processEvents (this=0x1308f1f8, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0xb668550d in QEventLoop::processEvents (this=0xaf0f5270, flags=...) at kernel/qeventloop.cpp:149
#7  0xb66857a9 in QEventLoop::exec (this=0xaf0f5270, flags=...) at kernel/qeventloop.cpp:204
#8  0xb656e94c in QThread::exec (this=0x1308e278) at thread/qthread.cpp:501
#9  0xb656ea3b in QThread::run (this=0x1308e278) at thread/qthread.cpp:568
#10 0xb6571de0 in QThreadPrivate::start (arg=0x1308e278) at thread/qthread_unix.cpp:298
#11 0xb5282d4c in start_thread (arg=0xaf0f5b40) at pthread_create.c:308
#12 0xb7580ace in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb4ba1740 (LWP 27144)):
[KCrash Handler]
#7  0x00000001 in ?? ()
#8  0xb669bb84 in QObject::property (this=0xd09b390, name=0x1235de30 "shortcut") at kernel/qobject.cpp:3741
#9  0xb6dd0f62 in KXMLGUIFactoryPrivate::configureAction (this=0x9545720, action=0xd09b390, attribute=..., shortcutOption=KXMLGUIFactoryPrivate::SetActiveShortcut) at ../../kdeui/xmlgui/kxmlguifactory.cpp:645
#10 0xb6dd193e in KXMLGUIFactoryPrivate::configureAction (this=0x9545720, action=0xd09b390, attributes=..., shortcutOption=KXMLGUIFactoryPrivate::SetActiveShortcut) at ../../kdeui/xmlgui/kxmlguifactory.cpp:620
#11 0xb6dd1b0a in KXMLGUIFactoryPrivate::applyActionProperties (this=0x9545720, actionPropElement=..., shortcutOption=KXMLGUIFactoryPrivate::SetActiveShortcut) at ../../kdeui/xmlgui/kxmlguifactory.cpp:607
#12 0xb6dd3f2c in KXMLGUIFactoryPrivate::refreshActionProperties (this=0x9545720, client=0x8f77e60, actions=..., doc=...) at ../../kdeui/xmlgui/kxmlguifactory.cpp:357
#13 0xb6dd4d81 in KXMLGUIFactory::plugActionList (this=0x9545108, client=0x8f77e60, name=..., actionList=...) at ../../kdeui/xmlgui/kxmlguifactory.cpp:576
#14 0xb6dcde89 in KXMLGUIClient::plugActionList (this=0x8f77e60, name=..., actionList=...) at ../../kdeui/xmlgui/kxmlguiclient.cpp:657
#15 0xb76c6063 in KonqMainWindow::plugViewModeActions (this=0x8f77ce0) at ../../../konqueror/src/konqmainwindow.cpp:4960
#16 0xb76e0aca in KonqMainWindow::updateViewModeActions (this=0x8f77ce0) at ../../../konqueror/src/konqmainwindow.cpp:4931
#17 0xb76e107e in KonqMainWindow::slotPartActivated (this=0x8f77ce0, part=0x1310ec60) at ../../../konqueror/src/konqmainwindow.cpp:2028
#18 0xb768a621 in KonqViewManager::emitActivePartChanged (this=0x8f468f8) at ../../../konqueror/src/konqviewmanager.cpp:1105
#19 0xb768a847 in KonqViewManager::doSetActivePart (this=0x8f468f8, part=0x1310ec60) at ../../../konqueror/src/konqviewmanager.cpp:1076
#20 0xb76d466a in KonqMainWindow::slotPartChanged (this=0x8f77ce0, childView=0x13804340, oldPart=0x134f2248, newPart=0x1310ec60) at ../../../konqueror/src/konqmainwindow.cpp:1856
#21 0xb76e27df in qt_static_metacall (_a=0xbffa0260, _id=52, _o=0x8f77ce0, _c=<optimized out>) at ./konqmainwindow.moc:361
#22 KonqMainWindow::qt_static_metacall (_o=0x8f77ce0, _c=QMetaObject::InvokeMetaMethod, _id=52, _a=0xbffa0260) at ./konqmainwindow.moc:303
#23 0xb669d6b1 in QMetaObject::activate (sender=0x13804340, m=0xb772ef78, local_signal_index=0, argv=0xbffa0260) at kernel/qobject.cpp:3547
#24 0xb7683805 in KonqView::sigPartChanged (this=0x13804340, _t1=0x13804340, _t2=0x134f2248, _t3=0x1310ec60) at ./konqview.moc:162
#25 0xb76838bb in KonqView::switchView (this=0x13804340, viewFactory=...) at ../../../konqueror/src/konqview.cpp:233
#26 0xb76849fe in changePart (forceAutoEmbed=true, serviceName=..., mimeType=..., this=0x13804340) at ../../../konqueror/src/konqview.cpp:350
#27 KonqView::changePart (this=0x13804340, mimeType=..., serviceName=..., forceAutoEmbed=true) at ../../../konqueror/src/konqview.cpp:300
#28 0xb7685289 in KonqView::ensureViewSupports (this=0x13804340, mimeType=..., forceAutoEmbed=true) at ../../../konqueror/src/konqview.cpp:297
#29 0xb76d12e6 in KonqMainWindow::openView (this=0x8f77ce0, mimeType=..., _url=..., childView=0x13804340, req=...) at ../../../konqueror/src/konqmainwindow.cpp:966
#30 0xb767dfcb in KonqRun::tryOpenView (this=0x12a86658, mimeType=..., associatedAppIsKonqueror=false) at ../../../konqueror/src/konqrun.cpp:157
#31 0xb767e1cc in KonqRun::foundMimeType (this=0x12a86658, _type=...) at ../../../konqueror/src/konqrun.cpp:89
#32 0xb706ed5f in KRun::mimeTypeDetermined (this=0x12a86658, mimeType=...) at ../../kio/kio/krun.cpp:1442
#33 0xb742aebb in KParts::BrowserRun::slotBrowserMimetype (this=0x12a86658, _job=0x12f795f0, type=...) at ../../kparts/browserrun.cpp:245
#34 0xb742b358 in qt_static_metacall (_a=0xbffa0914, _o=0x12a86658, _c=<optimized out>, _id=<optimized out>) at ./browserrun.moc:57
#35 KParts::BrowserRun::qt_static_metacall (_o=0x12a86658, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0xbffa0914) at ./browserrun.moc:50
#36 0xb669d6b1 in QMetaObject::activate (sender=0x12f795f0, m=0xb71d92cc, local_signal_index=4, argv=0xbffa0914) at kernel/qobject.cpp:3547
#37 0xb6ffe6bd in KIO::TransferJob::mimetype (this=0x12f795f0, _t1=0x12f795f0, _t2=...) at ./jobclasses.moc:475
#38 0xb6ffe728 in KIO::TransferJob::slotMimetype (this=0x12f795f0, type=...) at ../../kio/kio/job.cpp:1180
#39 0xb70009f7 in qt_static_metacall (_a=0xbffa0a78, _id=10, _o=0x12f795f0, _c=<optimized out>) at ./jobclasses.moc:391
#40 KIO::TransferJob::qt_static_metacall (_o=0x12f795f0, _c=QMetaObject::InvokeMetaMethod, _id=10, _a=0xbffa0a78) at ./jobclasses.moc:375
#41 0xb669d6b1 in QMetaObject::activate (sender=0x13e0f578, m=0xb71db480, local_signal_index=19, argv=0xbffa0a78) at kernel/qobject.cpp:3547
#42 0xb70b8515 in KIO::SlaveInterface::mimeType (this=0x13e0f578, _t1=...) at ./slaveinterface.moc:287
#43 0xb70bb0c3 in KIO::SlaveInterface::dispatch (this=0x13e0f578, _cmd=21, rawdata=...) at ../../kio/kio/slaveinterface.cpp:267
#44 0xb70b74ca in KIO::SlaveInterface::dispatch (this=0x13e0f578) at ../../kio/kio/slaveinterface.cpp:88
#45 0xb70a8b68 in KIO::Slave::gotInput (this=0x13e0f578) at ../../kio/kio/slave.cpp:344
#46 0xb70a91d0 in KIO::Slave::qt_static_metacall (_o=0x13e0f578, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbffa0d00) at ./slave.moc:57
#47 0xb669d6b1 in QMetaObject::activate (sender=0x13e0fe38, m=0xb71d8110, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3547
#48 0xb6fc3ea5 in KIO::Connection::readyRead (this=0x13e0fe38) at ./connection.moc:106
#49 0xb6fc471a in dequeue (this=<optimized out>) at ../../kio/kio/connection.cpp:82
#50 KIO::ConnectionPrivate::dequeue (this=0x14105788) at ../../kio/kio/connection.cpp:71
#51 0xb6698c01 in QMetaCallEvent::placeMetaCall (this=0x115e36b8, object=0x13e0fe38) at kernel/qobject.cpp:525
#52 0xb66a1c7b in QObject::event (this=0x13e0fe38, e=0x115e36b8) at kernel/qobject.cpp:1195
#53 0xb5af1ed4 in notify_helper (e=0x115e36b8, receiver=0x13e0fe38, this=0x8e365b8) at kernel/qapplication.cpp:4559
#54 QApplicationPrivate::notify_helper (this=0x8e365b8, receiver=0x13e0fe38, e=0x115e36b8) at kernel/qapplication.cpp:4531
#55 0xb5af730d in QApplication::notify (this=0x115e36b8, receiver=0x13e0fe38, e=0x115e36b8) at kernel/qapplication.cpp:4288
#56 0xb6ca1b21 in KApplication::notify (this=0xbffa165c, receiver=0x13e0fe38, event=0x115e36b8) at ../../kdeui/kernel/kapplication.cpp:311
#57 0xb668697e in QCoreApplication::notifyInternal (this=0xbffa165c, receiver=0x13e0fe38, event=0x115e36b8) at kernel/qcoreapplication.cpp:876
#58 0xb668aad8 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#59 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x8e05370) at kernel/qcoreapplication.cpp:1500
#60 0xb668ae0c in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1393
#61 0xb66b9494 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#62 postEventSourceDispatch (s=0x8e287d0) at kernel/qeventdispatcher_glib.cpp:279
#63 0xb51bacda in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#64 0xb51bb0e5 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#65 0xb51bb1c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#66 0xb66b9887 in QEventDispatcherGlib::processEvents (this=0x8e05f08, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#67 0xb5baaaaa in QGuiEventDispatcherGlib::processEvents (this=0x8e05f08, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#68 0xb668550d in QEventLoop::processEvents (this=0xbffa14e4, flags=...) at kernel/qeventloop.cpp:149
#69 0xb66857a9 in QEventLoop::exec (this=0xbffa14e4, flags=...) at kernel/qeventloop.cpp:204
#70 0xb668aeba in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#71 0xb5aefa74 in QApplication::exec () at kernel/qapplication.cpp:3820
#72 0xb7706695 in kdemain (argc=3, argv=0xbffa19b4) at ../../../konqueror/src/konqmain.cpp:242
#73 0x0804850b in main (argc=3, argv=0xbffa19b4) at konqueror_dummy.cpp:3

Reported using DrKonqi
Comment 1 Dawit Alemayehu 2012-05-05 04:05:57 UTC
Cannot reproduce this crash. Running the command shown above from the command line opens Konqueror with gwenview embeded on my machine too.
Comment 2 Simon St James 2012-05-06 08:46:36 UTC
Created attachment 70889 [details]
$KDEHOME/share/apps/konqueror/konqueror.rc that seems to trigger it,

Hi Dawit,

I just tried with an empty KDEHOME and, like you, was unable to reproduce the bug.  Copying stuff over from my original config leads me to believe that it might by my konqueror.rc.  I've attached it if you want to try for yourself :)
Comment 3 Myriam Schweingruber 2012-08-07 16:05:38 UTC
*** Bug 304699 has been marked as a duplicate of this bug. ***
Comment 4 Dawit Alemayehu 2012-08-22 05:42:08 UTC
(In reply to comment #2)
> Created attachment 70889 [details]
> $KDEHOME/share/apps/konqueror/konqueror.rc that seems to trigger it,
> 
> Hi Dawit,
> 
> I just tried with an empty KDEHOME and, like you, was unable to reproduce
> the bug.  Copying stuff over from my original config leads me to believe
> that it might by my konqueror.rc.  I've attached it if you want to try for
> yourself :)

I did try it and I can reproduce it. The entry from that rc file that causes the crash is this one:

<Action shortcut="Alt+Q" name="kwebkitpart-viewmode"/>

I guess the "kwebkitpart-viewmode" is an invalid action ??? Not entirely sure, but it should not cause a crash nevertheless.
Comment 5 Dawit Alemayehu 2012-11-10 22:11:08 UTC
*** Bug 297463 has been marked as a duplicate of this bug. ***
Comment 6 Dawit Alemayehu 2013-04-20 12:13:25 UTC
*** Bug 318032 has been marked as a duplicate of this bug. ***
Comment 7 David Faure 2013-05-12 22:04:01 UTC
Git commit e1428451f6f65686662e990c0d3356742b500d0e by David Faure.
Committed on 12/05/2013 at 10:12.
Pushed by dfaure into branch 'KDE/4.10'.

Fix crash when an xmlgui file has shortcuts for viewmode actions.
FIXED-IN: 4.10.4

M  +4    -3    konqueror/src/konqmainwindow.cpp

http://commits.kde.org/kde-baseapps/e1428451f6f65686662e990c0d3356742b500d0e