Summary: | Crash when occasionally failing to resolve to default deco for an invalid deco plugin being configured | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Francesco Riosa <vivo75+kde> |
Component: | general | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED INTENTIONAL | ||
Severity: | crash | CC: | baronrouge8, gaz, goval05, kde, lexdosker, martin.sandsmark, s.grushka83, serhiy.int, simion314, thomas, vit, vivo75+kde |
Priority: | NOR | Keywords: | drkonqi |
Version First Reported In: | 4.10.80 | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
New crash information added by DrKonqi
New crash information added by DrKonqi kwinrc broken kwin1212.log kwin-20130619-012456.kcrash.txt New crash information added by DrKonqi |
Description
Francesco Riosa
2013-06-18 01:35:35 UTC
Created attachment 80593 [details]
New crash information added by DrKonqi
kwin (4.10.80) on KDE Platform 4.10.80 using Qt 4.8.4
reproducibility proof.
It's very late, consider myself drunk, for more content please just request it on this bug will provide it when more lucid
-- Backtrace (Reduced):
#5 _dl_lookup_symbol_x (undef_name=0x7fda3a356318 "create_factory", undef_map=0x7606fa830575f685, ref=0x7fffd80dd658, symbol_scope=0x7606fa830575fa0d, version=0x0, type_class=0, flags=2, skip_map=0x0) at dl-lookup.c:733
#6 0x00007fda3a675b09 in do_sym (handle=0x7606fa830575f685, name=0x7fda3a356318 "create_factory", who=0x7fda35185d29 <QLibraryPrivate::resolve_sys(char const*)+41>, vers=vers@entry=0x0, flags=flags@entry=2) at dl-sym.c:178
#7 0x00007fda3a675fdd in _dl_sym (handle=<optimized out>, name=<optimized out>, who=<optimized out>) at dl-sym.c:283
#8 0x00007fda2e040174 in dlsym_doit (a=a@entry=0x7fffd80dd840) at dlsym.c:51
#9 0x00007fda3aca16b6 in _dl_catch_error (objname=0x1a80c80, errstring=0x1a80c88, mallocedp=0x1a80c78, operate=0x7fda2e040160 <dlsym_doit>, args=0x7fffd80dd840) at dl-error.c:178
Created attachment 80594 [details]
New crash information added by DrKonqi
kwin (4.10.80) on KDE Platform 4.10.80 using Qt 4.8.4
Same for "Maximize" an effect downloaded from Get Hot New Stuff
-- Backtrace (Reduced):
#5 _dl_lookup_symbol_x (undef_name=0x7fb097003318 "create_factory", undef_map=0x66655f346e69776b, ref=0x7fff06a2c6d8, symbol_scope=0x66655f346e697af3, version=0x0, type_class=0, flags=2, skip_map=0x0) at dl-lookup.c:733
#6 0x00007fb097322b09 in do_sym (handle=0x66655f346e69776b, name=0x7fb097003318 "create_factory", who=0x7fb091e32d29 <QLibraryPrivate::resolve_sys(char const*)+41>, vers=vers@entry=0x0, flags=flags@entry=2) at dl-sym.c:178
#7 0x00007fb097322fdd in _dl_sym (handle=<optimized out>, name=<optimized out>, who=<optimized out>) at dl-sym.c:283
#8 0x00007fb08aced174 in dlsym_doit (a=a@entry=0x7fff06a2c8c0) at dlsym.c:51
#9 0x00007fb09794e6b6 in _dl_catch_error (objname=0x1484c80, errstring=0x1484c88, mallocedp=0x1484c78, operate=0x7fb08aced160 <dlsym_doit>, args=0x7fff06a2c8c0) at dl-error.c:178
The crash is in dlsym. Might there be something broken in your setup? it crashes when resolving the creation function of the deco plugin. -> the configured decoration plugin(file) is probably corrupt: - which one is it? (see ~/.kde/share/config/kwinrc) - how did you install it? replace it and/or configure another decoration. Created attachment 80613 [details]
kwinrc broken
yes, removing kwinrc fixed the problem. It was
PluginLib=kwin3_ozone
I cannot even find it anymore on my system, searching with `locate`
ozone is no more shipped with KDE since *ages* you'd usually find the lib in /usr/lib/kde4/ and the desktop file for it in /usr/share/apps/kwin/ but i seriously wonder whether and why we try to open and resolve a non exiting file on reconfiguration (*only* - on login you'll likely just got oxygen and no crash, yesno?) (In reply to comment #6) > ozone is no more shipped with KDE since *ages* Hem I'm using kde continuosly since 2004 at least and even befor alternated to w2k, but had to wipe ~/.kde*/ two or three times (could not remember when) > you'd usually find the lib in /usr/lib/kde4/ and the desktop file for it in > /usr/share/apps/kwin/ but i seriously wonder whether and why we try to open > and resolve a non exiting file on reconfiguration (*only* - on login you'll > likely just got oxygen and no crash, yesno?) The directories mentioned are clean, i.e. only package manager installed files, no *ozone* whatsoever. No crash on login and yes got oxygen, I've used other styles (bespin?) in the past but are gone since months. (In reply to comment #7) > The directories mentioned are clean, i.e. only package manager installed > files, no *ozone* whatsoever. Eventually in the user path (check "kde4-config --path lib" for a complete list) I tried kwin3_blafoo as well as kwin3_ozone (because latter once has been the default) Both get me oxygen on "kwin --replace" but no crash. Also: before attempting to resolve "create_factory", "decoration_version" is resolved - and that does not crash for you. If you can recause the crash by setting either kwin3_ozone or anything else, please run "kdebugdialog" and enable 1212 / KWin. When running konsole you'll get output like kDebug(1212) << "kwin : path " << path << " for " << nameStr; ie. what binary is opened here (maybe from some rotten installation?) Created attachment 80620 [details] kwin1212.log (In reply to comment #8) > Eventually in the user path (check "kde4-config --path lib" for a complete > list) > I tried kwin3_blafoo as well as kwin3_ozone (because latter once has been > the default) > Both get me oxygen on "kwin --replace" but no crash. $ kde4-config --path lib /home/vivo/.kde4/lib64/:/usr/lib64/ $ LC_ALL=C ls -l /home/vivo/.kde4/lib64/ /bin/ls: cannot access /home/vivo/.kde4/lib64/: No such file or directory > > Also: before attempting to resolve "create_factory", "decoration_version" is > resolved - and that does not crash for you. > > If you can recause the crash by setting either kwin3_ozone or anything else, > please run "kdebugdialog" and enable 1212 / KWin. Yes it's well reproducible if I put the old kwinrc in place > When running konsole you'll get output like > kDebug(1212) << "kwin : path " << path << " for " << nameStr; > > ie. what binary is opened here (maybe from some rotten installation?) it find an empty path for ozone and then go for "kwin3_oxygen" but _not_ always, see attachments, but this time the backtrace look a bit different (it's again very late here and a *very* long day of work, could be wrong) Created attachment 80621 [details]
kwin-20130619-012456.kcrash.txt
some console output:
KCrash: Application 'kwin' crashing...
KCrash: Attempting to start /usr/lib64/kde4/libexec/drkonqi from kdeinit
sock_file=/home/vivo/.kde4/socket-monfi/kdeinit4__0
QCoreApplication::sendPostedEvents: Cannot send posted events for objects in another thread
QCoreApplication::sendPostedEvents: Cannot send posted events for objects in another thread
QCoreApplication::sendPostedEvents: Cannot send posted events for objects in another thread
QCoreApplication::sendPostedEvents: Cannot send posted events for objects in another thread
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Desktop
OpenGL version string: 3.1 (Core Profile) Mesa 9.2.0-devel (git-443dc15)
OpenGL shading language version string: 1.40
Driver: Intel
GPU class: IvyBridge
OpenGL version: 3.1
GLSL version: 1.40
Mesa version: 9.2
X server version: 1.14.1
Linux kernel version: 3.10
Direct rendering: yes
Requires strict binding: no
GLSL shaders: yes
Texture NPOT support: yes
Virtual Machine: no
Application::crashHandler() called with signal 11; recent crashes: 1
KCrash: Application 'kwin' crashing...
KCrash: Attempting to start /usr/lib64/kde4/libexec/drkonqi from kdeinit
sock_file=/home/vivo/.kde4/socket-monfi/kdeinit4__0
QCoreApplication::sendPostedEvents: Cannot send posted events for objects in another thread
QCoreApplication::sendPostedEvents: Cannot send posted events for objects in another thread
QCoreApplication::sendPostedEvents: Cannot send posted events for objects in another thread
QCoreApplication::sendPostedEvents: Cannot send posted events for objects in another thread
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Desktop
OpenGL version string: 3.1 (Core Profile) Mesa 9.2.0-devel (git-443dc15)
OpenGL shading language version string: 1.40
Driver: Intel
GPU class: IvyBridge
OpenGL version: 3.1
GLSL version: 1.40
Mesa version: 9.2
X server version: 1.14.1
Linux kernel version: 3.10
Direct rendering: yes
Requires strict binding: no
GLSL shaders: yes
Texture NPOT support: yes
Virtual Machine: no
Ok, thanks: The pattern here is kwin(27508) KWin::Workspace::slotReconfigure: Workspace::slotReconfigure() kwin(27508) KDecorationPlugins::canLoad: kwin : path "" for "kwin3_ozone" kwin(27508) KWin::EffectsHandlerImpl::unloadEffect: EffectsHandler::unloadEffect : Unloading Effect : "kwin4_effect_blur" kwin(27508) KWin::EffectsHandlerImpl::unloadEffect: EffectsHandler::unloadEffect : Unloading Effect : "kwin4_effect_translucency" kwin(27508) KWin::Workspace::slotReconfigure: Workspace::slotReconfigure() kwin(27508) KDecorationPlugins::canLoad: kwin : path "" for "kwin3_ozone" -> CRASH kwin(27535) KWin::Extensions::init: non_native_pixmaps: true kwin(27535) KWin::Xcb::Extensions::init: Extensions: shape: 0x "11" composite: 0x "4" render: 0x "b" fixes: 0x "50" randr: 0x "14" sync: 0x "31" damage: 0x "11" kwin(27535) KDecorationPlugins::canLoad: kwin : path "" for "kwin3_ozone" kwin(27535) KDecorationPlugins::canLoad: kwin : path "/usr/lib64/kde4/kwin3_oxygen.so" for "kwin3_oxygen" -> GOOD So it seems unloading the effects while resolving the deco plugin can somehow cause a race causing the lookup of an invalid library. Isn't threading a gift to everyone of us? but there shouldn't be a thread for unloading the effects. That's done from the main thread just like the decoration loading. *** Bug 322349 has been marked as a duplicate of this bug. *** *** Bug 323451 has been marked as a duplicate of this bug. *** *** Bug 323759 has been marked as a duplicate of this bug. *** *** Bug 325726 has been marked as a duplicate of this bug. *** *** Bug 325729 has been marked as a duplicate of this bug. *** *** Bug 323561 has been marked as a duplicate of this bug. *** Created attachment 83975 [details]
New crash information added by DrKonqi
kwin (4.11.3) on KDE Platform 4.11.3 using Qt 4.8.5
- What I was doing when the application crashed:
Changing special windows settings. For me, the crash happens about 30% of the time.
-- Backtrace (Reduced):
#6 0x0000003d739646a9 in QLibrary::isLoaded (this=this@entry=0x11a0fb0) at plugin/qlibrary.cpp:944
#7 0x0000003d73966571 in QLibrary::resolve (this=0x11a0fb0, symbol=symbol@entry=0x3d80c18538 "create_factory") at plugin/qlibrary.cpp:1142
#8 0x0000003d75e0a949 in KLibrary::resolveFunction (this=<optimized out>, symname=symname@entry=0x3d80c18538 "create_factory") at /usr/src/debug/kdelibs-4.11.3/kdecore/util/klibrary.cpp:183
#9 0x0000003d80c128e6 in KDecorationPlugins::loadPlugin (this=this@entry=0x11a0160, nameStr=...) at /usr/src/debug/kde-workspace-4.11.3/kwin/libkdecorations/kdecoration_plugins_p.cpp:232
#10 0x0000003d80c12e09 in KDecorationPlugins::reset (this=this@entry=0x11a0160, changed=changed@entry=0) at /usr/src/debug/kde-workspace-4.11.3/kwin/libkdecorations/kdecoration_plugins_p.cpp:78
Check comment #5 and following on how to prevent this. We still have no idea why this would happen, though. *** Bug 329604 has been marked as a duplicate of this bug. *** *** Bug 329501 has been marked as a duplicate of this bug. *** *** Bug 334617 has been marked as a duplicate of this bug. *** *** Bug 334716 has been marked as a duplicate of this bug. *** *** Bug 335619 has been marked as a duplicate of this bug. *** The mechanism to load window decoration plugins got reworked for KWin 5.2 and the crash doesn't apply any more. *** Bug 344236 has been marked as a duplicate of this bug. *** *** Bug 344622 has been marked as a duplicate of this bug. *** |