Bug 320562 - Kwin crashes on login.
Summary: Kwin crashes on login.
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: 4.10.3
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL: https://git.reviewboard.kde.org/r/110...
Keywords:
: 315235 319201 321125 323217 326154 326574 327067 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-06-01 03:17 UTC by Sean
Modified: 2013-11-03 06:40 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.11
thomas.luebking: ReviewRequest+


Attachments
New crash information added by DrKonqi (4.72 KB, text/plain)
2013-06-05 10:39 UTC, Hrvoje Senjan
Details
Rebased patch (1.79 KB, patch)
2013-06-05 13:05 UTC, Hrvoje Senjan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sean 2013-06-01 03:17:55 UTC
Application: kwin (4.10.3)
KDE Platform Version: 4.10.3
Qt Version: 4.8.4
Operating System: Linux 3.9.4-300.fc19.x86_64 x86_64
Distribution (Platform): Fedora RPMs

-- Information about the crash:
- What I was doing when the application crashed:
Just logged in.  Hadn't done anything yet.   Fedora 19 Beta fresh install fully updated as of May 31.

-- Backtrace:
Application: KWin (kwin), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
81	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[Current thread is 1 (Thread 0x7f2161df58c0 (LWP 1254))]

Thread 2 (Thread 0x7f214fde9700 (LWP 1256)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f2164fc309b in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7f21652c0f00 <QTWTF::pageheap_memory>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007f2164fc30d9 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x0000003a9a407c53 in start_thread (arg=0x7f214fde9700) at pthread_create.c:308
#4  0x0000003a99cf4ecd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7f2161df58c0 (LWP 1254)):
[KCrash Handler]
#6  parent (this=0x27688d0) at /usr/include/QtCore/qobject.h:273
#7  KWin::EffectWindow::addLayerRepaint (this=0x27688d0, r=...) at /usr/src/debug/kde-workspace-4.10.3/kwin/libkwineffects/kwineffects.cpp:793
#8  0x0000003ab4e2057d in KWin::AnimationEffect::postPaintScreen (this=<optimized out>) at /usr/src/debug/kde-workspace-4.10.3/kwin/libkwineffects/kwinanimationeffect.cpp:543
#9  0x0000003ab42d32cb in KWin::EffectsHandlerImpl::postPaintScreen (this=0x27c6a70) at /usr/src/debug/kde-workspace-4.10.3/kwin/effects.cpp:260
#10 0x0000003ab42b4747 in KWin::Scene::paintScreen (this=this@entry=0x2668750, mask=mask@entry=0x7ffff2edca20, region=region@entry=0x7ffff2edcac0) at /usr/src/debug/kde-workspace-4.10.3/kwin/scene.cpp:144
#11 0x0000003ab42c1c27 in KWin::SceneOpenGL::paint (this=0x2668750, damage=..., toplevels=...) at /usr/src/debug/kde-workspace-4.10.3/kwin/scene_opengl.cpp:308
#12 0x0000003ab42adfa3 in KWin::Compositor::performCompositing (this=0x22c1a50) at /usr/src/debug/kde-workspace-4.10.3/kwin/composite.cpp:610
#13 0x00007f2164871c61 in QObject::event (this=0x22c1a50, e=<optimized out>) at kernel/qobject.cpp:1156
#14 0x00007f2163c0146c in QApplicationPrivate::notify_helper (this=this@entry=0x210f0a0, receiver=receiver@entry=0x22c1a50, e=e@entry=0x7ffff2edceb0) at kernel/qapplication.cpp:4562
#15 0x00007f2163c07a30 in QApplication::notify (this=this@entry=0x7ffff2edd380, receiver=receiver@entry=0x22c1a50, e=e@entry=0x7ffff2edceb0) at kernel/qapplication.cpp:4348
#16 0x0000003aa8842f0a in KApplication::notify (this=0x7ffff2edd380, receiver=0x22c1a50, event=0x7ffff2edceb0) at /usr/src/debug/kdelibs-4.10.3/kdeui/kernel/kapplication.cpp:311
#17 0x00007f2164859f7d in QCoreApplication::notifyInternal (this=0x7ffff2edd380, receiver=0x22c1a50, event=0x7ffff2edceb0) at kernel/qcoreapplication.cpp:949
#18 0x00007f2164889663 in sendEvent (event=<optimized out>, receiver=<optimized out>) at kernel/qcoreapplication.h:231
#19 QTimerInfoList::activateTimers (this=0x210fa98) at kernel/qeventdispatcher_unix.cpp:622
#20 0x00007f21648896e0 in QEventDispatcherUNIX::activateTimers (this=this@entry=0x20c6a80) at kernel/qeventdispatcher_unix.cpp:879
#21 0x00007f2164889ff0 in QEventDispatcherUNIX::processEvents (this=this@entry=0x20c6a80, flags=...) at kernel/qeventdispatcher_unix.cpp:941
#22 0x00007f2163c9e676 in QEventDispatcherX11::processEvents (this=0x20c6a80, flags=...) at kernel/qeventdispatcher_x11.cpp:152
#23 0x00007f2164858bdf in QEventLoop::processEvents (this=this@entry=0x7ffff2edd1f0, flags=...) at kernel/qeventloop.cpp:149
#24 0x00007f2164858ed5 in QEventLoop::exec (this=this@entry=0x7ffff2edd1f0, flags=...) at kernel/qeventloop.cpp:204
#25 0x00007f216485dfbb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1221
#26 0x00007f2163bffc2c in QApplication::exec () at kernel/qapplication.cpp:3823
#27 0x0000003ab426737f in kdemain (argc=3, argv=0x7ffff2edd4c8) at /usr/src/debug/kde-workspace-4.10.3/kwin/main.cpp:537
#28 0x0000003a99c21b75 in __libc_start_main (main=0x400960 <main(int, char**)>, argc=3, ubp_av=0x7ffff2edd4c8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffff2edd4b8) at libc-start.c:258
#29 0x0000000000400991 in _start ()

Possible duplicates by query: bug 319201, bug 315235.

Reported using DrKonqi
Comment 1 Thomas Lübking 2013-06-01 09:40:20 UTC
is this reproducible and can you apply this patch?
http://bugsfiles.kde.org/attachment.cgi?id=79795
Comment 2 Hrvoje Senjan 2013-06-05 10:39:13 UTC
Created attachment 80311 [details]
New crash information added by DrKonqi

kwin (4.10.60 "release 8") on KDE Platform 4.10.60 "release 8" using Qt 4.8.5

- What I was doing when the application crashed:

Happens only on 2nd and following logins, never had it after a "clean" reboot (though i don't reboot that often ;-)). Will try the patch - but not 100% reproducible here. Could be a Mesa bug(?)

-- Backtrace (Reduced):
#6  parent (this=0x111d1a0) at /usr/include/QtCore/qobject.h:273
#7  KWin::EffectWindow::addLayerRepaint (this=0x111d1a0, r=...) at /usr/src/debug/kde-workspace-git/kwin/libkwineffects/kwineffects.cpp:808
#8  0x00007f1e415c6405 in KWin::AnimationEffect::postPaintScreen (this=<optimized out>) at /usr/src/debug/kde-workspace-git/kwin/libkwineffects/kwinanimationeffect.cpp:588
#9  0x00007f1e41e8c0b2 in KWin::EffectsHandlerImpl::postPaintScreen (this=0x10f7890) at /usr/src/debug/kde-workspace-git/kwin/effects.cpp:394
#10 0x00007f1e41e695db in KWin::Scene::paintScreen (this=0xf46bb0, mask=<optimized out>, region=0x7fff9dd06fc0) at /usr/src/debug/kde-workspace-git/kwin/scene.cpp:145
Comment 3 Thomas Lübking 2013-06-05 11:11:01 UTC
Thanks
If you can, please report back before
Do 13. Jun 01:59:00 CEST 2013    :  KDE SC 4.11 Beta 1 Tagging and Release
Comment 4 Hrvoje Senjan 2013-06-05 13:05:06 UTC
Created attachment 80314 [details]
Rebased patch

@Thomas, will do ;-)
Attaching rebased patch for master to get a confirmation is it valid?
Comment 5 Thomas Lübking 2013-06-05 15:06:13 UTC
-    Q_D(const AnimationEffect);
+    Q_D(AnimationEffect);
    if (d->m_isInitialized)
        return; // not more than once, please
+    d->m_isInitialized = true;

It's not correct in the original patch either (still it would bypass the original bug, just add maaaaany connections ;-)
Comment 6 Hrvoje Senjan 2013-06-05 22:53:44 UTC
(In reply to comment #5)
> It's not correct in the original patch either (still it would bypass the
> original bug, just add maaaaany connections ;-)

OK, adjusted the patch, tried logging out/in a few times, crash did not yet happen. Will use it for a few days to confirm 100%
Comment 7 Thomas Lübking 2013-06-07 18:19:29 UTC
*** Bug 319201 has been marked as a duplicate of this bug. ***
Comment 8 Thomas Lübking 2013-06-07 18:19:34 UTC
*** Bug 315235 has been marked as a duplicate of this bug. ***
Comment 9 Thomas Lübking 2013-06-10 14:57:11 UTC
Git commit 7a1bab2410317195793c660d78933b858040a3f3 by Thomas Lübking.
Committed on 09/05/2013 at 17:39.
Pushed by luebking into branch 'master'.

ensure to init animationeffect bindings

it seems an animation can be triggered and the resp.
window deleted in the first event cycle (before the deleted
signal is bound) - so we add an initialization flag to ensure
the binding happens before the first animation is added
FIXED-IN: 4.11
REVIEW: 110872

M  +8    -2    kwin/libkwineffects/kwinanimationeffect.cpp

http://commits.kde.org/kde-workspace/7a1bab2410317195793c660d78933b858040a3f3
Comment 10 Thomas Lübking 2013-06-16 11:25:50 UTC
*** Bug 321125 has been marked as a duplicate of this bug. ***
Comment 11 Thomas Lübking 2013-08-06 08:56:12 UTC
*** Bug 323217 has been marked as a duplicate of this bug. ***
Comment 12 Thomas Lübking 2013-10-17 20:08:51 UTC
*** Bug 326154 has been marked as a duplicate of this bug. ***
Comment 13 Thomas Lübking 2013-10-24 20:14:50 UTC
*** Bug 326574 has been marked as a duplicate of this bug. ***
Comment 14 Thomas Lübking 2013-11-03 06:40:04 UTC
*** Bug 327067 has been marked as a duplicate of this bug. ***