Summary: | Systemsettings crashed when trying to open lightdm kde greeter settings | ||
---|---|---|---|
Product: | [Plasma] lightdm | Reporter: | Hrvoje Senjan <hrvoje.senjan> |
Component: | config | Assignee: | David Edmundson <kde> |
Status: | RESOLVED NOT A BUG | ||
Severity: | crash | CC: | kamikazow, max.lin, RussellH, woskimi |
Priority: | NOR | ||
Version: | master | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
.desktop file with workaround
Remove custom config widgets Backtrace with patch Solution for all™ |
Description
Hrvoje Senjan
2012-07-15 18:47:44 UTC
Happens every time, using latest master. Note that opening kcmshell4 kcm_lightdm does not crash. This seems very weird. Do you have any unusual installs/setups. Are kcmshell4 and systemsettings both from your distribution? Neither kcmshell nor systemsettings are SUSE's, but they are both from the same build/pull - sometimes saturday 4 pm (UCT+1) Oh and, nothing exotic in my setup Reported by another user too, confirming (but not understanding) *** Bug 304965 has been marked as a duplicate of this bug. *** So much for Dr Konqi finding dupes… ;-) I am also on openSUSE. I got the packages from https://build.opensuse.org/project/show?project=home%3Amlin7442 After I saw that this project owner does not build against SC 4.9 I branched the project and build it against 4.9.0: https://build.opensuse.org/project/show?project=home%3AKAMiKAZOW%3Abranches%3Ahome%3Amlin7442 Same result. Unlike the initial reporter, kcmshell4 crashes here, too. I am no expert but the spec file looks innocent to me: https://build.opensuse.org/package/files?package=lightdm-kde-greeter&project=home%3Amlin7442 Application: KDE-Kontrollmodul (kdeinit4), signal: Segmentation fault [Current thread is 1 (Thread 0xb56f6710 (LWP 2924))] Thread 2 (Thread 0xaea8ab70 (LWP 2925)): #0 0xb5fbabb4 in poll () from /lib/libc.so.6 #1 0xb597df9b in g_poll () from /usr/lib/libglib-2.0.so.0 #2 0xb596f486 in ?? () from /usr/lib/libglib-2.0.so.0 #3 0xb596fb8b in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #4 0xaecec25a in ?? () from /usr/lib/libgio-2.0.so.0 #5 0xb5996304 in ?? () from /usr/lib/libglib-2.0.so.0 #6 0xb212ba01 in ?? () from /usr/X11R6/lib/libGL.so.1 #7 0x5c8b0824 in ?? () #8 0xbab80424 in ?? () #9 0xcd000000 in ?? () #10 0x3dd38980 in ?? () #11 0xfffff001 in ?? () #12 0xe8c30173 in ?? () #13 0x000e3233 in ?? () #14 0xae14c181 in ?? () Backtrace stopped: previous frame inner to this frame (corrupt stack?) Thread 1 (Thread 0xb56f6710 (LWP 2924)): [KCrash Handler] #6 0xb4bf319c in QFormInternal::domPropertyToVariant (afb=0x83ca288, meta=0xb6c0f47c, p=0x8445560) at ../lib/uilib/properties.cpp:140 #7 0xb4b9d82a in QFormInternal::QAbstractFormBuilder::toVariant (this=0x83ca288, meta=0xb6c0f47c, p=0x8445560) at ../lib/uilib/abstractformbuilder.cpp:1002 #8 0xb4bb8241 in QFormInternal::QFormBuilder::applyProperties (this=0x83ca288, o=0x84479e8, properties=...) at ../lib/uilib/formbuilder.cpp:547 #9 0xb4b94967 in QFormInternal::FormBuilderPrivate::applyProperties (this=0x83ca288, o=0x84479e8, properties=...) at quiloader.cpp:414 #10 0xb4ba743a in QFormInternal::QAbstractFormBuilder::create (this=0x83ca288, ui_widget=0x8412500, parentWidget=0x83c9a88) at ../lib/uilib/abstractformbuilder.cpp:303 #11 0xb4bb860e in QFormInternal::QFormBuilder::create (this=0x83ca288, ui_widget=0x8412500, parentWidget=0x83c9a88) at ../lib/uilib/formbuilder.cpp:157 #12 0xb4b92436 in QFormInternal::FormBuilderPrivate::create (this=0x83ca288, ui_widget=0x8412500, parentWidget=0x83c9a88) at quiloader.cpp:452 #13 0xb4bac764 in QFormInternal::QAbstractFormBuilder::create (this=0x83ca288, ui=0xbfa754e0, parentWidget=0x83c9a88) at ../lib/uilib/abstractformbuilder.cpp:248 #14 0xb4bb7f7b in QFormInternal::QFormBuilder::create (this=0x83ca288, ui=0xbfa754e0, parentWidget=0x83c9a88) at ../lib/uilib/formbuilder.cpp:369 #15 0xb4b92c29 in QFormInternal::FormBuilderPrivate::create (this=0x83ca288, ui=0xbfa754e0, parentWidget=0x0) at quiloader.cpp:447 #16 0xaedfc4d6 in QFormInternal::QAbstractFormBuilder::load (this=0x83ca288, dev=0x0, parentWidget=0x1) at ../lib/uilib/abstractformbuilder.cpp:221 #17 0xaedf3d2f in QUiLoader::load (this=0xbfa7562c, device=0xbfa75640, parentWidget=0x83c9a88) at quiloader.cpp:664 #18 0xaedf0664 in ConfigOptions::setTheme (this=0x83c9a88, themeDir=...) at /usr/src/debug/lightdm-kde-greeter-0.2.1/kcm/configoptions.cpp:95 #19 0xaede81b8 in ThemeConfig::onThemeSelected (this=0x83cdc90, index=...) at /usr/src/debug/lightdm-kde-greeter-0.2.1/kcm/themeconfig.cpp:108 #20 0xaede8584 in ThemeConfig::ThemeConfig (this=0x83cdc90, parent=0x824aea8) at /usr/src/debug/lightdm-kde-greeter-0.2.1/kcm/themeconfig.cpp:68 #21 0xaedef81f in LightDMKcm::LightDMKcm (this=0x824aea8, parent=0x8304a28, args=...) at /usr/src/debug/lightdm-kde-greeter-0.2.1/kcm/lightdmkcm.cpp:64 #22 0xaedf0257 in KPluginFactory::createInstance<LightDMKcm, QWidget> (parentWidget=0x0, parent=0x8304a28, args=...) at /usr/include/kpluginfactory.h:477 #23 0xb7156226 in KPluginFactory::create (this=0x82e8370, iface=0xb77003c0 "KCModule", parentWidget=0x0, parent=0x8304a28, args=..., keyword=...) at /usr/src/debug/kdelibs-4.9.0/kdecore/util/kpluginfactory.cpp:203 #24 0xb284dee9 in create<KCModule> (parent=0x8304a28, this=0x82e8370, args=..., keyword=..., parentWidget=0x0) at /usr/src/debug/kdelibs-4.9.0/kdecore/util/kpluginfactory.h:531 #25 createInstance<KCModule> (error=0xbfa75a98, args=..., parent=0x8304a28, parentWidget=0x0, this=0x827ba68) at /usr/src/debug/kdelibs-4.9.0/kdecore/services/kservice.h:565 #26 createInstance<KCModule> (error=0xbfa75a98, args=..., parent=0x8304a28, this=0x827ba68) at /usr/src/debug/kdelibs-4.9.0/kdecore/services/kservice.h:542 #27 KCModuleLoader::loadModule (mod=..., report=KCModuleLoader::Inline, parent=0x8304a28, args=...) at /usr/src/debug/kdelibs-4.9.0/kutils/kcmoduleloader.cpp:89 #28 0xb2853749 in KCModuleProxyPrivate::loadModule (this=0x829c020) at /usr/src/debug/kdelibs-4.9.0/kutils/kcmoduleproxy.cpp:106 #29 0xb2854594 in KCModuleProxy::realModule (this=0x8304a28) at /usr/src/debug/kdelibs-4.9.0/kutils/kcmoduleproxy.cpp:83 #30 0xb2854912 in KCModuleProxy::useRootOnlyMessage (this=0x8304a28) at /usr/src/debug/kdelibs-4.9.0/kutils/kcmoduleproxy.cpp:315 #31 0xb28503d4 in KCMultiDialog::addModule (this=0x827aaa0, moduleInfo=..., parentItem=0x0, args=...) at /usr/src/debug/kdelibs-4.9.0/kutils/kcmultidialog.cpp:390 #32 0xb52c90e6 in kdemain () from /usr/lib/libkdeinit4_kcmshell4.so #33 0x0804fc3f in _start () Thanks. Interestingly everyone with this crash appears to be running SuSE. Hold on a minute. I just ran "kcmshell4 lightdm" from the command line instead of simply double-clicking on the .desktop file within Dolphin and it runs. WTF? The .desktop file calls "kcmshell4 kcm_lightdm" instead of "kcmshell4 lightdm". Is the error in "kcm_" and what's the difference anyway? They're both the same thing. When loading a KCModule it automatically also searches for kcm_module_name as well as module_name so you can include it or not. Here's the kdebug output when trying to run it from systemsettings (if this helps): systemsettings(3273)/kutils (KCModuleProxy) KCModuleProxyPrivate::loadModule: Module not already loaded, loading module "Login Screen (LightDM)" from library "kcm_lightdm" using symbol "kcm_lightdm" systemsettings(3273)/KSharedDataCache KSharedDataCache::insert: Overwriting existing old cached entry due to collision. systemsettings(3273)/KSharedDataCache KSharedDataCache::insert: Overwriting existing old cached entry due to collision. true ** (process:3273): WARNING **: Could not get accounts property XKeyboardLayouts ** (process:3273): WARNING **: Could not get accounts property XHasMessages (process:3273): GLib-CRITICAL **: g_variant_get_type: assertion `value != NULL' failed (process:3273): GLib-CRITICAL **: g_variant_type_is_subtype_of: assertion `g_variant_type_check (type)' failed (process:3273): GLib-CRITICAL **: g_variant_get_type_string: assertion `value != NULL' failed ** (process:3273): WARNING **: Unexpected accounts property type for XHasMessages: (null) (process:3273): GLib-CRITICAL **: g_variant_unref: assertion `value != NULL' failed ** (process:3273): WARNING **: Could not get accounts property XKeyboardLayouts ** (process:3273): WARNING **: Could not get accounts property XHasMessages (process:3273): GLib-CRITICAL **: g_variant_get_type: assertion `value != NULL' failed (process:3273): GLib-CRITICAL **: g_variant_type_is_subtype_of: assertion `g_variant_type_check (type)' failed (process:3273): GLib-CRITICAL **: g_variant_get_type_string: assertion `value != NULL' failed ** (process:3273): WARNING **: Unexpected accounts property type for XHasMessages: (null) (process:3273): GLib-CRITICAL **: g_variant_unref: assertion `value != NULL' failed ** (process:3273): WARNING **: Could not get accounts property XKeyboardLayouts ** (process:3273): WARNING **: Could not get accounts property XHasMessages (process:3273): GLib-CRITICAL **: g_variant_get_type: assertion `value != NULL' failed (process:3273): GLib-CRITICAL **: g_variant_type_is_subtype_of: assertion `g_variant_type_check (type)' failed (process:3273): GLib-CRITICAL **: g_variant_get_type_string: assertion `value != NULL' failed ** (process:3273): WARNING **: Unexpected accounts property type for XHasMessages: (null) (process:3273): GLib-CRITICAL **: g_variant_unref: assertion `value != NULL' failed ** (process:3273): WARNING **: Could not get accounts property XKeyboardLayouts ** (process:3273): WARNING **: Could not get accounts property XHasMessages (process:3273): GLib-CRITICAL **: g_variant_get_type: assertion `value != NULL' failed (process:3273): GLib-CRITICAL **: g_variant_type_is_subtype_of: assertion `g_variant_type_check (type)' failed (process:3273): GLib-CRITICAL **: g_variant_get_type_string: assertion `value != NULL' failed ** (process:3273): WARNING **: Unexpected accounts property type for XHasMessages: (null) (process:3273): GLib-CRITICAL **: g_variant_unref: assertion `value != NULL' failed loading sessions adding session "icewm" adding session "kde-plasma" adding session "openbox" adding session "razor" adding session "razor-kwin" adding session "razor-openbox" adding session "twm" loading themes ("/usr/share/kde4/apps/lightdm-kde-greeter/themes/") "/usr/share/kde4/apps/lightdm-kde-greeter/themes/classic/theme.rc" "adding theme" "Classic" "/usr/share/kde4/apps/lightdm-kde-greeter/themes/userbar/theme.rc" "adding theme" "User Bar" "/usr/share/kde4/apps/lightdm-kde-greeter/themes/userlist/theme.rc" "adding theme" "User List" KCrash: Application 'systemsettings' crashing... KCrash: Attempting to start /usr/lib64/kde4/libexec/drkonqi from kdeinit sock_file=/home/hrvoje/.kde4/socket-shumarija.site/kdeinit4__0 Created attachment 73413 [details]
.desktop file with workaround
Still happens here with LightDM-KDE 0.3.
Anyone having a clue if this bug is openSUSE-specific or not crashing is Kubuntu-specific? Has LightDM-KDE been even packaged for other distributions?
Weird thing is: After I added a simple "sleep 0;" to the Exec line in the .desktop file, it no longer crashes when running it from Dolphin (still crashes System Settings but I guess that one looks at X-KDE-Library=kcm_lightdm and not the Exec line).
It doesn't crash in Kubuntu. I know it's packaged on Arch and Gentoo and I've not heard any reports of the crash there. Created attachment 73415 [details]
Remove custom config widgets
Disables the configuration widgets plugin.
This is to see if the crash goes away (I think it will). Note that with this patch you will not be able to set background images. It's purely to try and identify what the issue could be.
Could someone with the crash please try with the above patch. Created attachment 73416 [details]
Backtrace with patch
Still crashes :/
(In reply to comment #16) > > Still crashes :/ Note that versioning '1.0.60' is just that, versioning, this is with 0.3 + your patch. OK, thanks ever so much for trying that, it helped rule something out. I'm out of theories now though. Could you tell me what Qt version you have? Does the file themes/classic/config.ui open in QtDesigner? I may need to install SuSE in virtualbox at this rate... It's Qt 4.8.2. I guess it opens, don't know how it should look in QtDesigner, something like this? http://i.imgur.com/mVPfu.png *** Bug 306201 has been marked as a duplicate of this bug. *** Just tried with a clean and full kdesrc-build, and there are no crashes, so i guess it's something with SUSE patches that makes the module crash. *** Bug 307333 has been marked as a duplicate of this bug. *** I now know why it's crashing: For some (ridiculous) reason QtUiTools are built statically, and statically linked in the libs. Both kcm_lightdm and libplasma3 both contain all the symbols of QtUiTools. Libplasma contains a version of QFormBuilder, as do I. SystemSettings links against libplasma. As you're all using alin's packages - there's a mismatch in versions of Qt, which despite the fact they _should_ be compatiable, aren't. when run from systemsettings the QFormBuilder from libplasma is run, which is ABI incompatiable with what KcmLightDM expects. It's a clone of this bug here: https://bugs.kde.org/show_bug.cgi?id=182810 Rebuilding LightDM with identical versions of Qt that was used to build libplasma will fix this, nothing else will. I have absolutely no idea how to fix this properly, I don't think it can be done. If i understand correctly what are you saying is that lightdm-kde greeter isn't build against the same Qt version as plasma? This is not true in my case. Building it against same version - now at 4.8.3 (In reply to comment #24) > If i understand correctly what are you saying is that lightdm-kde greeter > isn't build against the same Qt version as plasma? This is not true in my > case. Building it against same version - now at 4.8.3 Maybe there could be a misunderstanding. When i used packages from OBS both entire KDE SC and lightdm greeter where built against same Qt version (they were building in the same project). Now, as said in comment 21, when running vanilla KDE there are no crashes. I have found the cause of the crash, it's the LDFLAGS -Wl,-Bsymbolic-functions. When compiling locally with them i again started to crash. Without them, no crashing! I'm going to close this as invalid. If anyone experiences this again please go to http://bugreports.qt.nokia.com/browse/QTBUG-437 Created attachment 79833 [details]
Solution for all™
David, is there a specific reason why is the greeter linking to QtUiTools library?
If not, i can commit attached patch. This now also enables usage of Bsymbolic-functions without crashing the kcm.
Greeter? No. KCM. Yes. It's linked because we use it :) (In reply to comment #29) > Greeter? No. > KCM. Yes. Yeah, sorry, that's what i meant > It's linked because we use it :) OK, just was wondering how it got compiling then. (Looking at another similar issue, so remembered this one) |