Bug 284803 - Konqueror crashes on startup trying to create the search bar
Summary: Konqueror crashes on startup trying to create the search bar
Status: RESOLVED WORKSFORME
Alias: None
Product: konqueror
Classification: Applications
Component: searchbarplugin (show other bugs)
Version: 4.7.2
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Arend van Beelen jr.
URL:
Keywords:
: 289900 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-10-23 19:20 UTC by Robert R. Russell
Modified: 2018-11-29 04:54 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
strace of a working konqueror showing www.google.com (66.50 KB, application/octet-stream)
2012-01-09 15:46 UTC, Robert R. Russell
Details
strace of a not-working konqueror trying to show www.google.com (26.01 KB, application/octet-stream)
2012-01-09 15:46 UTC, Robert R. Russell
Details
backtrace of konqueror exploding after I restored the old .kde4 and .local dirs (1.99 KB, application/octet-stream)
2012-01-09 15:52 UTC, Robert R. Russell
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Robert R. Russell 2011-10-23 19:20:16 UTC
Application: konqueror (4.7.2 (4.7.2))
KDE Platform Version: 4.7.2 (4.7.2) (Compiled from sources)
Qt Version: 4.7.4
Operating System: Linux 3.0.4-ck-2011-09-08 x86_64
Distribution (Platform): Gentoo Packages

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

I tried to start konqueror.

According to the back trace Konqueror cannot initialize the search bar plugin.

I do not know how to disable the search bar plugin.

Every method of starting Konqueror I know of crashes the same way.

The crash can be reproduced every time.

-- Backtrace:
Application: Konqueror (kdeinit4), signal: Segmentation fault
[KCrash Handler]
#6  ref (this=0x7fff1f349a60, other=...) at ../../include/QtCore/../../src/corelib/arch/qatomic_x86_64.h:121
#7  QString::operator= (this=0x7fff1f349a60, other=...) at tools/qstring.cpp:1358
#8  0x00007f4086f1352b in KConfigGroup::readEntry (this=<value optimized out>, key=0x7f4071c661e0 "CurrentEngine", aDefault=...) at /var/tmp/portage/kde-base/kdelibs-4.7.2/work/kdelibs-4.7.2/kdecore/config/kconfiggroup.cpp:672
#9  0x00007f4071c5dc82 in SearchBarPlugin::configurationChanged (this=0xe71630) at /var/tmp/portage/kde-base/konq-plugins-4.7.2/work/konq-plugins-4.7.2/konq-plugins/searchbar/searchbar.cpp:404
#10 0x00007f4071c5e418 in SearchBarPlugin::SearchBarPlugin (this=0xe71630, parent=0xd3ff20, __in_chrg=<value optimized out>, __vtt_parm=<value optimized out>) at /var/tmp/portage/kde-base/konq-plugins-4.7.2/work/konq-plugins-4.7.2/konq-plugins/searchbar/searchbar.cpp:93
#11 0x00007f4071c60538 in KPluginFactory::createInstance<SearchBarPlugin, QObject> (parentWidget=<value optimized out>, parent=<value optimized out>, args=...) at /usr/include/kpluginfactory.h:477
#12 0x00007f408708875a in KPluginFactory::create (this=0xef67c0, iface=0x7f407cfdd780 "KParts::Plugin", parentWidget=0xd3ff20, parent=0xd3ff20, args=..., keyword=<value optimized out>) at /var/tmp/portage/kde-base/kdelibs-4.7.2/work/kdelibs-4.7.2/kdecore/util/kpluginfactory.cpp:203
#13 0x00007f407cfc23a7 in create<KParts::Plugin> (parent=0xd3ff20, libname=..., keyword=...) at /var/tmp/portage/kde-base/kdelibs-4.7.2/work/kdelibs-4.7.2/kdecore/util/kpluginfactory.h:519
#14 KParts::Plugin::loadPlugin (parent=0xd3ff20, libname=..., keyword=...) at /var/tmp/portage/kde-base/kdelibs-4.7.2/work/kdelibs-4.7.2/kparts/plugin.cpp:205
#15 0x00007f407cfc3853 in KParts::Plugin::loadPlugins (parent=0xd3ff20, parentGUIClient=0xd40210, componentData=..., enableNewPluginsByDefault=true, interfaceVersionRequired=0) at /var/tmp/portage/kde-base/kdelibs-4.7.2/work/kdelibs-4.7.2/kparts/plugin.cpp:341
#16 0x00007f407cfc83d9 in KParts::MainWindow::createGUI (this=0xd3ff20, part=0x0) at /var/tmp/portage/kde-base/kdelibs-4.7.2/work/kdelibs-4.7.2/kparts/mainwindow.cpp:113
#17 0x00007f40775068b3 in KonqMainWindow::KonqMainWindow (this=0xd3ff20, initialURL=..., xmluiFile=..., __in_chrg=<value optimized out>, __vtt_parm=<value optimized out>) at /var/tmp/portage/kde-base/konqueror-4.7.2/work/konqueror-4.7.2/konqueror/src/konqmainwindow.cpp:270
#18 0x00007f40774c7bf2 in KonqMisc::createBrowserWindowFromProfile (_path=<value optimized out>, _filename=<value optimized out>, url=..., req=..., openUrl=true) at /var/tmp/portage/kde-base/konqueror-4.7.2/work/konqueror-4.7.2/konqueror/src/konqmisc.cpp:149
#19 0x00007f4077515dec in KonquerorAdaptor::createBrowserWindowFromProfile (this=<value optimized out>, path=..., filename=..., startup_id=<value optimized out>) at /var/tmp/portage/kde-base/konqueror-4.7.2/work/konqueror-4.7.2/konqueror/src/KonquerorAdaptor.cpp:113
#20 0x00007f4077517294 in KonquerorAdaptor::qt_metacall (this=0xdce6b0, _c=<value optimized out>, _id=8, _a=0x7fff1f34a7c0) at /var/tmp/portage/kde-base/konqueror-4.7.2/work/konqueror-4.7.2_build/konqueror/src/KonquerorAdaptor.moc:126
#21 0x00007f4083922552 in QDBusConnectionPrivate::deliverCall (this=0xd2ba30, object=0xdce6b0, msg=..., metaTypes=..., slotIdx=12) at qdbusintegrator.cpp:942
#22 0x00007f4083923614 in QDBusConnectionPrivate::activateCall (this=0xd2ba30, object=0xdce6b0, flags=256, msg=...) at qdbusintegrator.cpp:845
#23 0x00007f4083923bdc in QDBusConnectionPrivate::activateObject (this=0xd2ba30, node=..., msg=..., pathStartPos=<value optimized out>) at qdbusintegrator.cpp:1430
#24 0x00007f4083924078 in QDBusActivateObjectEvent::placeMetaCall (this=0xdb4840) at qdbusintegrator.cpp:1524
#25 0x00007f4086b32f62 in QObject::event (this=0xdce6b0, e=<value optimized out>) at kernel/qobject.cpp:1217
#26 0x00007f4085cac7dc in QApplicationPrivate::notify_helper (this=0xccc910, receiver=0xdce6b0, e=0xdb4840) at kernel/qapplication.cpp:4481
#27 0x00007f4085cb133a in QApplication::notify (this=<value optimized out>, receiver=0xdce6b0, e=0xdb4840) at kernel/qapplication.cpp:4360
#28 0x00007f40878eb528 in KApplication::notify (this=0x7fff1f34b7d0, receiver=0xdce6b0, event=0xdb4840) at /var/tmp/portage/kde-base/kdelibs-4.7.2/work/kdelibs-4.7.2/kdeui/kernel/kapplication.cpp:311
#29 0x00007f4086b1eacb in QCoreApplication::notifyInternal (this=0x7fff1f34b7d0, receiver=0xdce6b0, event=0xdb4840) at kernel/qcoreapplication.cpp:787
#30 0x00007f4086b222e4 in sendEvent (receiver=0x0, event_type=0, data=0xc14b00) at kernel/qcoreapplication.h:215
#31 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0xc14b00) at kernel/qcoreapplication.cpp:1428
#32 0x00007f4086b49ab3 in sendPostedEvents (s=0xcd0500) at kernel/qcoreapplication.h:220
#33 postEventSourceDispatch (s=0xcd0500) at kernel/qeventdispatcher_glib.cpp:277
#34 0x00007f408231ef9a in g_main_dispatch (context=0xccf4e0) at gmain.c:2441
#35 g_main_context_dispatch (context=0xccf4e0) at gmain.c:3014
#36 0x00007f408231f778 in g_main_context_iterate (context=0xccf4e0, block=1, dispatch=1, self=<value optimized out>) at gmain.c:3092
#37 0x00007f408231f9df in g_main_context_iteration (context=0xccf4e0, may_block=1) at gmain.c:3155
#38 0x00007f4086b49c1a in QEventDispatcherGlib::processEvents (this=0xc16d40, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#39 0x00007f4085d52c26 in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#40 0x00007f4086b1de12 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#41 0x00007f4086b1e094 in QEventLoop::exec (this=0x7fff1f34b580, flags=...) at kernel/qeventloop.cpp:201
#42 0x00007f4086b2257b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064
#43 0x00007f4077529eb9 in kdemain (argc=<value optimized out>, argv=<value optimized out>) at /var/tmp/portage/kde-base/konqueror-4.7.2/work/konqueror-4.7.2/konqueror/src/konqmain.cpp:227
#44 0x0000000000407566 in launch (argc=2, _name=0xc7b3a8 "/usr/bin/konqueror", args=<value optimized out>, cwd=0x0, envc=<value optimized out>, envs=<value optimized out>, reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0xc7b3d4 "neptune;1319397138;53463;32350_TIME3904100406") at /var/tmp/portage/kde-base/kdelibs-4.7.2/work/kdelibs-4.7.2/kinit/kinit.cpp:734
#45 0x0000000000408120 in handle_launcher_request (sock=<value optimized out>, who=<value optimized out>) at /var/tmp/portage/kde-base/kdelibs-4.7.2/work/kdelibs-4.7.2/kinit/kinit.cpp:1226
#46 0x0000000000408845 in handle_requests (waitForPid=0) at /var/tmp/portage/kde-base/kdelibs-4.7.2/work/kdelibs-4.7.2/kinit/kinit.cpp:1419
#47 0x0000000000409491 in main (argc=2, argv=0x7fff1f34cef8, envp=0x7fff1f34cf10) at /var/tmp/portage/kde-base/kdelibs-4.7.2/work/kdelibs-4.7.2/kinit/kinit.cpp:1907

Reported using DrKonqi
Comment 1 Dawit Alemayehu 2011-11-17 20:46:48 UTC
This crash is happening in Qt during a QString assignment. Do you use any exotic optimization flags when compiling Qt ?
Comment 2 Robert R. Russell 2011-11-19 14:08:13 UTC
grep CFLAGS /etc/make.conf returns
CFLAGS="-march=native -O2 -pipe -ggdb"
CXXFLAGS="$CFLAGS"

Everything on the system was rebuilt with those flags to get that backtrace.

g++ --version
g++ (Gentoo 4.5.3-r1 p1.0, pie-0.4.5) 4.5.3

sys-libs/glibc-2.12.2

ld --version
GNU ld (GNU Binutils) 2.21.1
Comment 3 Gérard Talbot (no longer involved) 2011-12-27 17:39:21 UTC
> I do not know how to disable the search bar plugin.

Configuration/Configure extensions.../ Search bar checkbox

Gérard
Comment 4 Dawit Alemayehu 2012-01-09 05:17:24 UTC
No one else has reported this type crash before and I most definitely cannot reproduce this. The only things left for you to check is

1.) Create a new user and see if starting Konqueror crashes for that user too.
2.) If #1 happens, run "locate searchplugin.so" from the command line and see if there is more than one of that library installed on your system.
Comment 5 Robert R. Russell 2012-01-09 15:30:18 UTC
There is no "searchplugin.so" on my system.

kde-base/konq-plugins-4.7.4 which is the gentoo package responsible for konqueror's plugins owns /usr/lib64/kde4/searchbarplugin.so.

Dawit, I know konqueror works if a delete .kde4 and .local, I had to do that to fix an ssl bug somewhere in the KDE-PIM suite. That amount of data loss is really bad though because I have bookmarks and passwords stored in the old .kde4 and .local folders dating from KDE 4.2 or 4.1. Which leads me to believe the problem is a file format change between 4.2 and late 4.6 or early 4.7, when Konqueror first started segfaulting on me.
Comment 6 Robert R. Russell 2012-01-09 15:46:10 UTC
Created attachment 67618 [details]
strace of a working konqueror showing www.google.com
Comment 7 Robert R. Russell 2012-01-09 15:46:56 UTC
Created attachment 67619 [details]
strace of a not-working konqueror trying to show www.google.com
Comment 8 Robert R. Russell 2012-01-09 15:52:05 UTC
Created attachment 67620 [details]
backtrace of konqueror exploding after I restored the old .kde4 and .local dirs

I moved my old copies of the known bad .kde4 and .local directories to another user on my machine and the back trace looks very similar to the back trace posted when I filled this bug.
Comment 9 Dawit Alemayehu 2012-01-09 18:00:53 UTC
(In reply to comment #5)
> There is no "searchplugin.so" on my system.
> 
> kde-base/konq-plugins-4.7.4 which is the gentoo package responsible for
> konqueror's plugins owns /usr/lib64/kde4/searchbarplugin.so.

Actually that is what I meant... searchbarplugin.so.

> Dawit, I know konqueror works if a delete .kde4 and .local, I had to do that to
> fix an ssl bug somewhere in the KDE-PIM suite. That amount of data loss is
> really bad though because I have bookmarks and passwords stored in the old
> .kde4 and .local folders dating from KDE 4.2 or 4.1. Which leads me to believe
> the problem is a file format change between 4.2 and late 4.6 or early 4.7, when
> Konqueror first started segfaulting on me.

I was not suggesting for you to delete your entire .kde4 directory. I was trying to determine whether or not that gets rid of the bug. That way we can tell whether or not this is crash was configuration related because it makes no sense. The crash is inside of QString.

Anyhow, I suggest your first remove the [SearchBar] section from ~/.kde4/share/config/konquerorrc.  You can copy that somewhere else first if you want to preserve it. In case that was the source of the crash.

If that does not solve the issue, you can disable the searchbarplugin completely by adding the following line to your ~/.kde4/share/config/konquerorrc:

[KParts Plugins]
searchbarEnabled=false

Make sure first close all instances of Konqueror before you attempt any of the suggestions I listed above.
Comment 10 Robert R. Russell 2012-01-11 21:43:33 UTC
The bug causing konquerorrc on a different account.

notch@neptune ~ $ cat ~/.kde4/share/config/konquerorrc 
[HTML Settings]
DownloadManager=
notch@neptune ~ $ 

the bug causing konquerorrc after inserting a statement to disable the search bar plugin and successfully starting and shutting down konqueror on my account.

robert@neptune ~ $ cat ~/.kde4/share/config/konquerorrc
[HTML Settings]
AutomaticDetectionLanguage=1
DownloadManager=

[KParts Plugin]
searchbarEnabled=false

[SearchBar]
CompletionMode=5
CurrentEngine=google
History list=\\0
Mode=1
SuggestionEnabled=true

[Undo]
Number of Closed Windows=1
robert@neptune ~ $ 

My conclusion is that one of the configuration parsers does not handle non-existent data very well.
Comment 11 Dawit Alemayehu 2012-01-12 05:26:37 UTC
(In reply to comment #10)
> The bug causing konquerorrc on a different account.
> 
> notch@neptune ~ $ cat ~/.kde4/share/config/konquerorrc 
> [HTML Settings]
> DownloadManager=
> notch@neptune ~ $ 
> 
> the bug causing konquerorrc after inserting a statement to disable the search
> bar plugin and successfully starting and shutting down konqueror on my account.
> 
> robert@neptune ~ $ cat ~/.kde4/share/config/konquerorrc
> [HTML Settings]
> AutomaticDetectionLanguage=1
> DownloadManager=
> 
> [KParts Plugin]
> searchbarEnabled=false
> 
> [SearchBar]
> CompletionMode=5
> CurrentEngine=google
> History list=\\0
> Mode=1
> SuggestionEnabled=true
> 
> [Undo]
> Number of Closed Windows=1
> robert@neptune ~ $ 
> 
> My conclusion is that one of the configuration parsers does not handle
> non-existent data very well.

That does not make sense because the same parser, KConfig, is used to read all KDE configurations. Moreover the backtrace shows the crash is caused by the code that reads the "CurrentEngine" entry, but I see no crash as a result of it and so far you are the only one to report such a crash. Additionally, you said that removing your .kde directory resolves the problem. To me all that points to something else being the actual culprit for this crash, but the crash occurring at this point. 

Anyhow, I am going to make one change to eliminate the one line code that reads the "CurrentEngine" entry from the equation. I doubt it solves the crash, but at least I would know that the issue is really somewhere else. The change might not make it into 4.8.0, but it should be in 4.8.1.
Comment 12 Robert R. Russell 2012-01-12 07:37:27 UTC
Copying just the bad konquererrc file from my backup of the bad .kde4 directory into a known good .kde4 directory results in konqueror working correctly.

Any other files that I need to check the contents of?

Gentoo does not have QT-4.8.0 available to build from yet in the normal tree, would your patch work agains QT-4.7.4? I think I can add an extra patch to the Gentoo QT-4.7.4 ebuild locally on my system and rebuild, if you want to test it out? It may take a day or two for me to do it because school just restarted though.
Comment 13 Dawit Alemayehu 2012-01-13 06:17:42 UTC
Git commit 32ea56a25e339b1dad81a1163a97439e7cf63d13 by Dawit Alemayehu.
Committed on 12/01/2012 at 06:27.
Pushed by adawit into branch 'KDE/4.8'.

For clarity create the default search engine string outside the readEntry
statement.

M  +3    -3    konq-plugins/searchbar/searchbar.cpp

http://commits.kde.org/kde-baseapps/32ea56a25e339b1dad81a1163a97439e7cf63d13
Comment 14 Dawit Alemayehu 2012-01-13 06:18:39 UTC
Git commit e9815434a9ddcbe04d9551d67c22dae290b7e14c by Dawit Alemayehu.
Committed on 12/01/2012 at 06:27.
Pushed by adawit into branch 'master'.

For clarity create the default search engine string outside the readEntry
statement.
(cherry picked from commit 32ea56a25e339b1dad81a1163a97439e7cf63d13)

M  +3    -3    konq-plugins/searchbar/searchbar.cpp

http://commits.kde.org/kde-baseapps/e9815434a9ddcbe04d9551d67c22dae290b7e14c
Comment 15 Dawit Alemayehu 2012-01-27 21:10:53 UTC
*** Bug 289900 has been marked as a duplicate of this bug. ***
Comment 16 Dawit Alemayehu 2012-10-05 12:58:16 UTC
Can anyone confirm this crash still occurs in the latest version of KDE, v4.9 or higher ? I have never been able to reproduce it on my system.
Comment 17 Andrew Crouthamel 2018-10-29 22:36:34 UTC
Dear Bug Submitter,

This bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? I am setting the status to NEEDSINFO pending your response, please change the Status back to REPORTED when you respond.

Thank you for helping us make KDE software even better for everyone!
Comment 18 Bug Janitor Service 2018-11-13 14:35:08 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 19 Bug Janitor Service 2018-11-29 04:54:10 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!