Summary: | kwindecoration crashes | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Phoeniks ;) <powerfeniks> |
Component: | decorations | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED DOWNSTREAM | ||
Severity: | crash | CC: | aj, cfeck, dkeenaghan, emilio.simoes, gaska9201, harshi.hustle1990, houtventertje, izenzon, jdeking1, jr, jussi.kekkonen, kaj, leobarriofino, mirza.dervisevic, paulestebanms, sabayon11, sdewittofm, spearhead2k3, totokid, zwulf |
Priority: | NOR | ||
Version: | 4.8.80 | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/kde-workspace/7abe24039517e50dcda843beac2e5deff5a789b3 | Version Fixed In: | 4.9RC2 |
Sentry Crash Report: | |||
Attachments: |
New crash information added by DrKonqi
valgrind log when opening Workspace Apperance in SystemSettings system settings - workspace appearance crash 1 system settings - workspace appearance crash 2 system settings - workspace appearance crash 3 |
Description
Phoeniks ;)
2012-06-11 13:27:52 UTC
the unstable ABI changed. did you recompile QtCurve after installing kde-workspace/kwin? *** Bug 301746 has been marked as a duplicate of this bug. *** might as well be caused similar to bug #301728, but NOTICE that the unstable deco ABI broke nevertheless - any deco inheriting the unstable deco MUST be recompiled, regardless of whether 301728 gets fixed or not. *** Bug 301994 has been marked as a duplicate of this bug. *** *** Bug 302029 has been marked as a duplicate of this bug. *** Git commit 7abe24039517e50dcda843beac2e5deff5a789b3 by Thomas Lübking. Committed on 28/06/2012 at 18:16. Pushed by luebking into branch 'KDE/4.9'. block some unversioned decoration plugins ... which are known to use the unstable API (qtcurve, crystal, oxygen*) FIXED-IN: 4.9RC2 REVIEW: 105378 M +22 -11 kwin/libkdecorations/kdecoration_plugins_p.cpp http://commits.kde.org/kde-workspace/7abe24039517e50dcda843beac2e5deff5a789b3 Created attachment 72879 [details]
New crash information added by DrKonqi
systemsettings (1.0) on KDE Platform 4.9.00 using Qt 4.8.1
- What I was doing when the application crashed:
system settings crashed after opening workspace apperance
-- Backtrace (Reduced):
#7 0x0320bc04 in KDecorationOptions::showTooltips() const () from /usr/lib/libkdecorations.so.4
#8 0x0320bcde in KDecoration::createMainWidget(QFlags<Qt::WindowType>) () from /usr/lib/libkdecorations.so.4
[...]
#10 0x031a11c9 in KDecorationPreview::recreateDecoration (this=0x8fd94e0, plugins=0x8df3088) at ../../../../kwin/kcmkwin/kwindecoration/preview.cpp:77
#11 0x031a38ca in KWin::DecorationModel::regeneratePreview (this=0x8fd8698, index=..., size=...) at ../../../../kwin/kcmkwin/kwindecoration/decorationmodel.cpp:332
#12 0x031a3c2e in KWin::DecorationModel::regenerateNextPreview (this=0x8fd8698) at ../../../../kwin/kcmkwin/kwindecoration/decorationmodel.cpp:279
Removed from my system kwin-dekorator and kwin-crystal still produces error: log from the console: systemsettings(4260)/kwin KDecorationPlugins::canLoad: "****** The library /usr/lib/kde4/kwin3_kde2.so has no API version ******" systemsettings(4260)/kwin KDecorationPlugins::canLoad: ****** Please use the KWIN_DECORATION macro in extern "C" to get this decoration loaded in future versions of kwin systemsettings(4260)/kwin KDecorationPlugins::canLoad: "****** The library /usr/lib/kde4/kwin3_keramik.so has no API version ******" systemsettings(4260)/kwin KDecorationPlugins::canLoad: ****** Please use the KWIN_DECORATION macro in extern "C" to get this decoration loaded in future versions of kwin systemsettings(4260)/kwin KDecorationPlugins::canLoad: "****** The library /usr/lib/kde4/kwin3_modernsys.so has no API version ******" systemsettings(4260)/kwin KDecorationPlugins::canLoad: ****** Please use the KWIN_DECORATION macro in extern "C" to get this decoration loaded in future versions of kwin systemsettings(4260)/kwin KDecorationPlugins::canLoad: "****** The library /usr/lib/kde4/kwin3_oxygen_transparent.so has no API version ******" systemsettings(4260)/kwin KDecorationPlugins::canLoad: ****** Please use the KWIN_DECORATION macro in extern "C" to get this decoration loaded in future versions of kwin systemsettings(4260)/kwin KDecorationPlugins::canLoad: "****** The library /usr/lib/kde4/kwin3_qtcurve.so has no API version ******" systemsettings(4260)/kwin KDecorationPlugins::canLoad: ****** Please use the KWIN_DECORATION macro in extern "C" to get this decoration loaded in future versions of kwin systemsettings(4260)/kwin KDecorationPlugins::canLoad: "****** The library /usr/lib/kde4/kwin3_quartz.so has no API version ******" systemsettings(4260)/kwin KDecorationPlugins::canLoad: ****** Please use the KWIN_DECORATION macro in extern "C" to get this decoration loaded in future versions of kwin systemsettings(4260)/kwin KDecorationPlugins::canLoad: "****** The library /usr/lib/kde4/kwin3_redmond.so has no API version ******" systemsettings(4260)/kwin KDecorationPlugins::canLoad: ****** Please use the KWIN_DECORATION macro in extern "C" to get this decoration loaded in future versions of kwin systemsettings(4260)/kwin KDecorationPlugins::canLoad: "****** The library /usr/lib/kde4/kwin3_smaragd.so has no API version ******" systemsettings(4260)/kwin KDecorationPlugins::canLoad: ****** Please use the KWIN_DECORATION macro in extern "C" to get this decoration loaded in future versions of kwin systemsettings(4260)/kwin KDecorationPlugins::canLoad: "****** The library /usr/lib/kde4/kwin3_web.so has no API version ******" systemsettings(4260)/kwin KDecorationPlugins::canLoad: ****** Please use the KWIN_DECORATION macro in extern "C" to get this decoration loaded in future versions of kwin couldn't create image from "/home/diau/overlay.png" systemsettings(4260)/kwin KDecorationPlugins::canLoad: "****** The library /usr/lib/kde4/kwin3_kde2.so has no API version ******" systemsettings(4260)/kwin KDecorationPlugins::canLoad: ****** Please use the KWIN_DECORATION macro in extern "C" to get this decoration loaded in future versions of kwin systemsettings(4260)/kwin KDecorationPlugins::canLoad: "****** The library /usr/lib/kde4/kwin3_keramik.so has no API version ******" systemsettings(4260)/kwin KDecorationPlugins::canLoad: ****** Please use the KWIN_DECORATION macro in extern "C" to get this decoration loaded in future versions of kwin systemsettings(4260)/kwin KDecorationPlugins::canLoad: "****** The library /usr/lib/kde4/kwin3_modernsys.so has no API version ******" systemsettings(4260)/kwin KDecorationPlugins::canLoad: ****** Please use the KWIN_DECORATION macro in extern "C" to get this decoration loaded in future versions of kwin systemsettings(4260)/kwin KDecorationPlugins::canLoad: "****** The library /usr/lib/kde4/kwin3_quartz.so has no API version ******" systemsettings(4260)/kwin KDecorationPlugins::canLoad: ****** Please use the KWIN_DECORATION macro in extern "C" to get this decoration loaded in future versions of kwin systemsettings(4260)/kwin KDecorationPlugins::canLoad: "****** The library /usr/lib/kde4/kwin3_redmond.so has no API version ******" systemsettings(4260)/kwin KDecorationPlugins::canLoad: ****** Please use the KWIN_DECORATION macro in extern "C" to get this decoration loaded in future versions of kwin systemsettings(4260)/kwin KDecorationPlugins::canLoad: "****** The library /usr/lib/kde4/kwin3_smaragd.so has no API version ******" systemsettings(4260)/kwin KDecorationPlugins::canLoad: ****** Please use the KWIN_DECORATION macro in extern "C" to get this decoration loaded in future versions of kwin KCrash: Application 'systemsettings' crashing... crasehs in deKorator deco which is not blocked for using unstable API. However, we had an (hopefully) interim ABI break (because parts of the unstable API leaked into the stable one) which should hopefully be restored by now. Did you possibly recompile deKorator against one of the betas or release candidates? (In reply to comment #9) > crasehs in deKorator deco which is not blocked for using unstable API. > However, we had an (hopefully) interim ABI break (because parts of the > unstable API leaked into the stable one) which should hopefully be restored > by now. > > Did you possibly recompile deKorator against one of the betas or release > candidates? No, I just downloaded new Kubuntu packages. And I removed from my system dekorator and crystal kwin packages, but then I saw that console output complains about every possible kwin decoration:oxygen, oxygen-transparent,keramik, qtcurve ... The konsole output is irrelevant, it's merely a warning for developers to start supporting the API version tag. > And I removed from my system dekorator the decoration "deKorator" [1] is what triggers this crash, it must still be installed. It's however not using the unstable API, so the last crash would be a dupe of bug #301728 It is not the same as "kde4-window-decorator" what is a compiz decorator on the kwin decoration API. Please to grep -iE '(mime|clientgroup)' /usr/lib/kde4/kwin3_deKorator.so and check whether there's match. [1] http://kde-look.org/content/show.php/deKorator?content=87921 (In reply to comment #11) > The konsole output is irrelevant, it's merely a warning for developers to > start supporting the API version tag. > > > And I removed from my system dekorator > the decoration "deKorator" [1] is what triggers this crash, it must still be > installed. > It's however not using the unstable API, so the last crash would be a dupe > of bug #301728 > > It is not the same as "kde4-window-decorator" what is a compiz decorator on > the kwin decoration API. > > Please to > grep -iE '(mime|clientgroup)' /usr/lib/kde4/kwin3_deKorator.so > and check whether there's match. > > [1] http://kde-look.org/content/show.php/deKorator?content=87921 Here is the output of that command: mirza@MirzaLaptop:~$ grep -iE '(mime|clientgroup)' /usr/lib/kde4/kwin3_deKorator.so grep: /usr/lib/kde4/kwin3_deKorator.so: No such file or directory Also the contenet of the /usr/lib/kde4/ starting with kwin* : kwin3_aurorae.so, kwin3_oxygen_transparent.so, kwin4_effect_bereflected.so, kwin_modernsys_config.so kwin3_b2.so, kwin3_plastik.so, kwin4_effect_builtins.so, kwin_oxygen_config.so, kwin3_kde2.so, kwin3_qtcurve.so, kwin4_effect_nightmode.so, kwin_oxygen_transparent_config.so, kwin3_keramik.so, kwin3_quartz.so, kwin4_effect_workspacestrap.sokwin_plastik_config.so, kwin3_laptop.so, kwin3_redmond.so, kwin_b2_config.so, kwin_qtcurve_config.so kwin3_modernsys.so, , kwin3_smaragd.so, kwin_kde2_config.so, , kwin_quartz_config.so kwin3_oxygen.so, kwin3_web.so,kwin_keramik_config.so, kwin_smaragd_config.so If there is anything more that I can do to help please say :) This is the crashtrace you attached. Did you uninstall dekorator decoration while the dialog/systemsettings was open or so? > #7 0x0320bc04 in KDecorationOptions::showTooltips() const () from /usr/lib/libkdecorations.so.4 > #8 0x0320bcde in KDecoration::createMainWidget(QFlags<Qt::WindowType>) () from /usr/lib/libkdecorations.so.4 Watch this line > #9 0x033d36a0 in ?? () from /usr/lib/kde4/kwin3_deKorator.so > #10 0x031a11c9 in KDecorationPreview::recreateDecoration (this=0x8fd94e0, plugins=0x8df3088) at ../../../../kwin/kcmkwin/kwindecoration/preview.cpp:77 (In reply to comment #13) > This is the crashtrace you attached. Did you uninstall dekorator decoration > while the dialog/systemsettings was open or so? > > > #7 0x0320bc04 in KDecorationOptions::showTooltips() const () from /usr/lib/libkdecorations.so.4 > > #8 0x0320bcde in KDecoration::createMainWidget(QFlags<Qt::WindowType>) () from /usr/lib/libkdecorations.so.4 > > Watch this line > > #9 0x033d36a0 in ?? () from /usr/lib/kde4/kwin3_deKorator.so > > > #10 0x031a11c9 in KDecorationPreview::recreateDecoration (this=0x8fd94e0, plugins=0x8df3088) at ../../../../kwin/kcmkwin/kwindecoration/preview.cpp:77 I am not sure, I think i first closed system settings than uninstaled decorator, but i every case here is the crash log again: Application: System Settings (systemsettings), signal: Segmentation fault Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1". [Current thread is 1 (Thread 0xb77bf740 (LWP 9287))] Thread 3 (Thread 0xb4c0db40 (LWP 9288)): #0 0x02112dcd in clock_gettime () from /lib/i386-linux-gnu/librt.so.1 #1 0x07c2c315 in do_gettime (frac=0xb4c0cfb0, sec=0xb4c0cfa8) at tools/qelapsedtimer_unix.cpp:123 #2 qt_gettime () at tools/qelapsedtimer_unix.cpp:140 #3 0x07d16226 in QTimerInfoList::updateCurrentTime (this=0xb4302074) at kernel/qeventdispatcher_unix.cpp:343 #4 0x07d1657a in QTimerInfoList::timerWait (this=0xb4302074, tm=...) at kernel/qeventdispatcher_unix.cpp:450 #5 0x07d14e23 in timerSourcePrepareHelper (src=<optimized out>, timeout=0xb4c0d0bc) at kernel/qeventdispatcher_glib.cpp:136 #6 0x07d14ebd in timerSourcePrepare (source=0xb4302040, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169 #7 0x024ce872 in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0 #8 0x024cefaf in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #9 0x024cf201 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #10 0x07d158e7 in QEventDispatcherGlib::processEvents (this=0xb4300468, flags=...) at kernel/qeventdispatcher_glib.cpp:426 #11 0x07ce150d in QEventLoop::processEvents (this=0xb4c0d240, flags=...) at kernel/qeventloop.cpp:149 #12 0x07ce17a9 in QEventLoop::exec (this=0xb4c0d240, flags=...) at kernel/qeventloop.cpp:204 #13 0x07bca94c in QThread::exec (this=0x889aeb0) at thread/qthread.cpp:501 #14 0x07cbeb5d in QInotifyFileSystemWatcherEngine::run (this=0x889aeb0) at io/qfilesystemwatcher_inotify.cpp:248 #15 0x07bcdde0 in QThreadPrivate::start (arg=0x889aeb0) at thread/qthread_unix.cpp:298 #16 0x0211ed4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0 #17 0x02975ace in clone () from /lib/i386-linux-gnu/libc.so.6 Thread 2 (Thread 0xb42ffb40 (LWP 9292)): #0 0x00357416 in __kernel_vsyscall () #1 0x0212296b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0 #2 0x029833dc in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6 #3 0x05b64029 in ?? () from /usr/lib/i386-linux-gnu/libQtScript.so.4 #4 0x05b6406f in ?? () from /usr/lib/i386-linux-gnu/libQtScript.so.4 #5 0x0211ed4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0 #6 0x02975ace in clone () from /lib/i386-linux-gnu/libc.so.6 Thread 1 (Thread 0xb77bf740 (LWP 9287)): [KCrash Handler] #7 0x07fee9f4 in KDecorationOptions::font(bool, bool) const () from /usr/lib/libkdecorations.so.4 #8 0x057db7fb in ?? () from /usr/lib/kde4/kwin3_smaragd.so #9 0x057dc76d in create_factory () from /usr/lib/kde4/kwin3_smaragd.so #10 0x056caf28 in KDecorationPlugins::loadPlugin (this=0x88a9f10, nameStr=...) at ../../../kwin/libkdecorations/kdecoration_plugins_p.cpp:241 #11 0x05689408 in KWin::DecorationModel::regeneratePreview (this=0x89a1170, index=..., size=...) at ../../../../kwin/kcmkwin/kwindecoration/decorationmodel.cpp:332 #12 0x05689c2e in KWin::DecorationModel::regenerateNextPreview (this=0x89a1170) at ../../../../kwin/kcmkwin/kwindecoration/decorationmodel.cpp:279 #13 0x05676995 in KWin::DecorationModel::qt_static_metacall (_o=0x89a1170, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x9097af0) at moc_decorationmodel.cpp:53 #14 0x07cf4c01 in QMetaCallEvent::placeMetaCall (this=0x923faa8, object=0x89a1170) at kernel/qobject.cpp:525 #15 0x07cfdc7b in QObject::event (this=0x89a1170, e=0x923faa8) at kernel/qobject.cpp:1195 #16 0x00faded4 in notify_helper (e=0x923faa8, receiver=0x89a1170, this=0x83dbef0) at kernel/qapplication.cpp:4559 #17 QApplicationPrivate::notify_helper (this=0x83dbef0, receiver=0x89a1170, e=0x923faa8) at kernel/qapplication.cpp:4531 #18 0x00fb330d in QApplication::notify (this=0x923faa8, receiver=0x89a1170, e=0x923faa8) at kernel/qapplication.cpp:4288 #19 0x00c1be41 in KApplication::notify (this=0xbfec96fc, receiver=0x89a1170, event=0x923faa8) at ../../kdeui/kernel/kapplication.cpp:311 #20 0x07ce297e in QCoreApplication::notifyInternal (this=0xbfec96fc, receiver=0x89a1170, event=0x923faa8) at kernel/qcoreapplication.cpp:876 #21 0x07ce6ad8 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231 #22 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x83aa130) at kernel/qcoreapplication.cpp:1500 #23 0x07ce6e0c in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1393 #24 0x07d15494 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236 #25 postEventSourceDispatch (s=0x83db368) at kernel/qeventdispatcher_glib.cpp:279 #26 0x024ced86 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0 #27 0x024cf125 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #28 0x024cf201 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #29 0x07d15887 in QEventDispatcherGlib::processEvents (this=0x83aaea0, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #30 0x01066aaa in QGuiEventDispatcherGlib::processEvents (this=0x83aaea0, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 #31 0x07ce150d in QEventLoop::processEvents (this=0xbfec9654, flags=...) at kernel/qeventloop.cpp:149 #32 0x07ce17a9 in QEventLoop::exec (this=0xbfec9654, flags=...) at kernel/qeventloop.cpp:204 #33 0x07ce6eba in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148 #34 0x00faba74 in QApplication::exec () at kernel/qapplication.cpp:3820 #35 0x08050438 in main (argc=110220, argv=0x89bb350) at ../../../systemsettings/app/main.cpp:49 Mirza, can you add a valgrind log for the crash in comment #14? (In reply to comment #14) > #9 0x057dc76d in create_factory () from /usr/lib/kde4/kwin3_smaragd.so it now crashes in the smaragd deco Created attachment 72909 [details]
valgrind log when opening Workspace Apperance in SystemSettings
Here is output of command:
valgrind --log-file=valgrind_systemsettings.log systemsettings
If you need defferent parameters for valgrind just ask :)
(In reply to comment #16) > (In reply to comment #14) > > > #9 0x057dc76d in create_factory () from /usr/lib/kde4/kwin3_smaragd.so > it now crashes in the smaragd deco Removing Smaragd solved the crash, But now I dont see QtCurve windows border style anywhere, and I checked that it is installed. QtCurve is (was, craig recently removed tabbin support) binary instable for sure and thus blocked (until a new version exports the matching API version) (In reply to comment #19) > QtCurve is (was, craig recently removed tabbin support) binary instable for > sure and thus blocked (until a new version exports the matching API version) Thank you all for your help and comments, KUDOS for KDE 4.9 :D Why's /libkdecorations.so.4.8.0 in use? ==16162== at 0x112D79F4: KDecorationOptions::font(bool, bool) const (in /usr/lib/libkdecorations.so.4.8.0) @Mirza, can you please ensure there's such library at all on your box? stat /usr/lib/libkdecorations.so.4.8.0 Is there also stat /usr/lib/libkdecorations.so.4.9.0 ? (In reply to comment #21) > Why's /libkdecorations.so.4.8.0 in use? > > ==16162== at 0x112D79F4: KDecorationOptions::font(bool, bool) const (in > /usr/lib/libkdecorations.so.4.8.0) > > @Mirza, can you please ensure there's such library at all on your box? > > stat /usr/lib/libkdecorations.so.4.8.0 > > Is there also > > stat /usr/lib/libkdecorations.so.4.9.0 > > ? mirza@MirzaLaptop:/usr/lib$ ls | grep libkdecoration libkdecorations.so.4 libkdecorations.so.4.8.0 libkdecorations.so.4.8.0.abi1 libkdecorations.so.4abi1 Wierd, maybe a packaging error on the Kubuntu side ? PS. all packages are up to date. Where do you get those packages? (In reply to comment #23) > Where do you get those packages? From "standart" Kubuntu Backports: http://ppa.launchpad.net/kubuntu-ppa/backports/ubuntu Package Details: http://img855.imageshack.us/img855/362/packagedetails.jpg I've downloaded the package and it does apparently not have "clientGroupItemDragMimeType" (unlike my version of the library) what (possibly) means https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/412f28e5c88803109c56b8cbd923a69fc09bdfeb (ABI restorage) is not part of that library?! adding Jonathan to CC: please have a look starting from comment #21. There might be something wrong with your 4.9 packages GA-RUMPF! The absent "clientGroupItemDragMimeType" symbol is matter of stripped ./. not stripped. The reason is that I re-added it as "semi-inline (?)" header implementation (ie. just let it return tabDragMimeType) what is apparently not ABI stable.... Making it a nice clone of tabDragMimeType instead with accurate implementation in the sources leaves the symbol in the library. *** Bug 304407 has been marked as a duplicate of this bug. *** *** Bug 304581 has been marked as a duplicate of this bug. *** *** Bug 304584 has been marked as a duplicate of this bug. *** From the valgrind log in comment #17: ==16162== Invalid read of size 4 ==16162== at 0x112D79F4: KDecorationOptions::font(bool, bool) const (in /usr/lib/libkdecorations.so.4.8.0) ==16162== by 0x1133976C: create_factory (in /usr/lib/kde4/kwin3_smaragd.so) ==16162== by 0x10473F27: KDecorationPlugins::loadPlugin(QString) (kdecoration_plugins_p.cpp:241) ==16162== by 0xA61FB6F: ??? ==16162== Address 0x4 is not stack'd, malloc'd or (recently) free'd The last line indicates that the options pointer, or a pointer referenced internally be the options, is 0. So the regression is not an ABI change, but an internal change in KWin (some pointer isn't initialized correctly). I guess it has to do with the version checks, which would explain why it doesn't crash when recompiling. (In reply to comment #32) > From the valgrind log in comment #17: > > ==16162== Invalid read of size 4 > ==16162== at 0x112D79F4: KDecorationOptions::font(bool, bool) const (in > /usr/lib/libkdecorations.so.4.8.0) > ==16162== by 0x1133976C: create_factory (in > /usr/lib/kde4/kwin3_smaragd.so) > ==16162== by 0x10473F27: KDecorationPlugins::loadPlugin(QString) > (kdecoration_plugins_p.cpp:241) > ==16162== by 0xA61FB6F: ??? > ==16162== Address 0x4 is not stack'd, malloc'd or (recently) free'd > > The last line indicates that the options pointer, or a pointer referenced > internally be the options, is 0. Unlikely. The options are a global instance created as first element of the only m_preview object in the entire lifetime of the kcm and deleted last (with it) Also iirc, we got these crashes with kwin as well, where the options are the only and global kwin options. Nothing changed in that area at all (not to mention that with an invalid m_preview we'd get a crash before since we can't access any of the factory pointers) It's also not the factory pointers (this time) as smaragd crashes when creating one (since it has the first options pointer then, while decoraktor and skulpture access options when creating a decoration - in doubt in createMainWidget) Plus: this doesn't explain at all why it only happens for selected decorations and mystically vanishes with recompilation, because: > I guess it has to do with the version checks, No. > which would explain why it doesn't crash when recompiling. Just recompiling will not get you a matching API version - it needs to be exported in extern "C" KDE_EXPORT int decoration_version() Also for every decoration but the ones known to have used the unstable API, the version is just sanitized and the remaining codepath is the same (what is irrelevant, because just recompiling will still not change this at all) I don't know what causes those crashes. Removing and re-adding the mimetype symbol from libkdecoration did not crash any decoration here. Bug #304584 is on i686, all others on x64 Could be compiler options (-O3 magic, the only constant i see here is Ubuntu) - I don't know. It's however not by a difference in the runtime code after recompilation. If recompilation fixes the issue, it's likely rather relinking - and by this some ABI juggle. @Mirza: you'vve got a bunch of old decorations not shiped with kwin since ages here - can you check which package installed them? TIA... /usr/lib/kde4/kwin3_kde2.so /usr/lib/kde4/kwin3_keramik.so /usr/lib/kde4/kwin3_modernsys.so /usr/lib/kde4/kwin3_quartz.so /usr/lib/kde4/kwin3_redmond.so /usr/lib/kde4/kwin3_web.so (In reply to comment #34) > @Mirza: > > you'vve got a bunch of old decorations not shiped with kwin since ages here > - can you check which package installed them? > > TIA... > > /usr/lib/kde4/kwin3_kde2.so > /usr/lib/kde4/kwin3_keramik.so > /usr/lib/kde4/kwin3_modernsys.so > /usr/lib/kde4/kwin3_quartz.so > /usr/lib/kde4/kwin3_redmond.so > /usr/lib/kde4/kwin3_web.so They all come from: kdeartwork-theme-window I found that out by running: mirza@MirzaLaptop:~$ dlocate /usr/lib/kde4/kwin3_kde2.so kdeartwork-theme-window: /usr/lib/kde4/kwin3_kde2.so all styles contained int this package: /usr/lib/kde4/kwin3_kde2.so /usr/lib/kde4/kwin3_keramik.so /usr/lib/kde4/kwin3_modernsys.so /usr/lib/kde4/kwin3_quartz.so /usr/lib/kde4/kwin3_redmond.so /usr/lib/kde4/kwin3_web.so /usr/lib/kde4/kwin_kde2_config.so /usr/lib/kde4/kwin_keramik_config.so /usr/lib/kde4/kwin_modernsys_config.so /usr/lib/kde4/kwin_quartz_config.so Ok, thanks - those are new compilations as well what explains why they don't cause trouble. *** Bug 304610 has been marked as a duplicate of this bug. *** *** Bug 304638 has been marked as a duplicate of this bug. *** *** Bug 304645 has been marked as a duplicate of this bug. *** Tested the packages today on Kubuntu 12.04 and kcmshell4 kwindecoration loads without crashing with kdeartwork-theme-window installed, so I presume this is down to self compiled window decorations. The ABI version was changed in our packages in libkdecorations because there was an ABI compatibility. *** Bug 304662 has been marked as a duplicate of this bug. *** Jonathan, the problem is not "self" compiled, but "compiled using 4.8 headers". If the ABI version had changed, the old decorations would not load at all, because of a library missing. Instead, they simply crash when accessing options. And I am sure the package you tested was compiled against the 4.9 headers. Also, I'm quite sure that it's about some compiler option. Reason: i've a bunch of legacy decos installed. I compiled and added them after they got removed in 4.5 or so. I'm also pretty sure to never have cared much about them later on - and esp. not recompiled them ever. Nevertheless, none of those decos has *ever* crashed the kcm for me. For me the crashing ended after I removed Skulpture windeco package. So to me it seems like there's binary incompatibility that isn't taken care of with package dependencies? *** Bug 304766 has been marked as a duplicate of this bug. *** *** Bug 304949 has been marked as a duplicate of this bug. *** *** Bug 305124 has been marked as a duplicate of this bug. *** third party kwin-style packages recompiling now in the PPA to pick up the new ABI, sorry for the hassle thanks for taking care of it. I think from our side there is nothing we can do about this issue anymore, so I set to RESOLVED DOWNSTREAM. In future we will inform the packagers about ABI changes in libkdecoration and also tell them that there is no need to change the so number ;-) Jonathan, the message that KWin developers forgot to communicate downstream is: "There is no ABI change, despite it looking so", so I am not sure recompilation against "the new ABI" (which does not really exists) is the right solution. Maybe simply revert the ABI bump, so that old compiled code does not crash. KWin automatically rejects "unstable" decorations anyway, unless they provide new version information. *** Bug 305536 has been marked as a duplicate of this bug. *** *** Bug 307043 has been marked as a duplicate of this bug. *** *** Bug 307724 has been marked as a duplicate of this bug. *** *** Bug 326676 has been marked as a duplicate of this bug. *** (In reply to comment #54) > *** Bug 326676 has been marked as a duplicate of this bug. *** Thanks Thomas. I had to purge kwin-style-qtcurve and kde-style-qtcurve before systemsettings would let me into "Window Decorations" because qtcurve was evidently still referenced there until I removed all of it.. First I purged kwin-style-qtcurve and restarted X. The initial kwin crash went away and the desktop was back to normal. But, when I went to systemsettings/Window Decorations, systemsettings would always crash. Then I purged kde-style-qtcurve and I can once again use systemsettings without a crash. It's a pity, I really like qtcurve, but it has caused me trouble before too. I guess I don't like it that much after all. (In reply to comment #55) > It's a pity, I really like qtcurve, but it has caused me trouble before too. > I guess I don't like it that much after all. NOTICE that QtCurve itself is NOT broken. This is just an issue with binary compatibility, ie. the compiled binary for QtCurve does not match the compiled binary for kwin. -> Just ask your distro for a clean/updated package or compile it yourself. Created attachment 88934 [details]
system settings - workspace appearance crash 1
Created attachment 88935 [details]
system settings - workspace appearance crash 2
Created attachment 88936 [details]
system settings - workspace appearance crash 3
Ups, sorry for this attachments. I wasn't carefull I didn't noticed that it is resolved downstream. But I reported bug for Kubuntu: https://bugs.launchpad.net/ubuntu/+bug/1377051 crashes 1&2 happen for the smaragd decoration. notice, that the bug is NOT in smaragd, this happens for the downstream symbol relocation. uninstall or update ALL 3rd party decoration plugins. crash 3 is entirely different and caused by a python plasmoid, likely ultimately caused by pykde and/or pyqt binary inpompatibilities (but i lack expertise in this context) Thank you very much for your help, Thomas. Your diagnosis was right. I had to uninstall smaragd and it works. Sorry for trouble. |