Bug 333275 - Crash on startup
Summary: Crash on startup
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: 4.95.0
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: 5
Assignee: KWin default assignee
URL: https://git.reviewboard.kde.org/r/117...
Keywords:
: 327103 329989 (view as bug list)
Depends on:
Blocks:
 
Reported: 2014-04-10 13:59 UTC by Aleix Pol
Modified: 2015-01-09 08:31 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
mgraesslin: ReviewRequest+


Attachments
Actual backtrace (8.03 KB, application/octet-stream)
2014-04-10 14:00 UTC, Aleix Pol
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Aleix Pol 2014-04-10 13:59:43 UTC
I get a DrKonqi with this backtrace every time Plasma 2 boots.

Reproducible: Always

Steps to Reproduce:
1. Boot
Comment 1 Aleix Pol 2014-04-10 14:00:16 UTC
Created attachment 86031 [details]
Actual backtrace
Comment 2 Martin Flöser 2014-04-10 14:04:33 UTC
Relevant part from backtrace:

Thread 1 (Thread 0x7f9f19b5d800 (LWP 527)):
[KCrash Handler]
#6  0x00007f9f0eb9c389 in raise () from /usr/lib/libc.so.6
#7  0x00007f9f0eb9d788 in abort () from /usr/lib/libc.so.6
#8  0x00007f9f0eb954a6 in __assert_fail_base () from /usr/lib/libc.so.6
#9  0x00007f9f0eb95552 in __assert_fail () from /usr/lib/libc.so.6
#10 0x00007f9f196492aa in KWin::Scene::windowDeleted (this=0x291a500, c=0x24800a0) at /home/kde-devel/frameworks/kwin/scene.cpp:428
#11 0x00007f9f19705c98 in KWin::Scene::qt_static_metacall (_o=0x291a500, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffec8a58c0) at moc_scene.cpp:79
#12 0x00007f9f100c5270 in QMetaObject::activate (sender=0x252e010, signalOffset=3, local_signal_index=10, argv=0x7fffec8a58c0) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3680
#13 0x00007f9f100c4a7e in QMetaObject::activate (sender=0x252e010, m=0x7f9f199d4900 <KWin::Workspace::staticMetaObject>, local_signal_index=10, argv=0x7fffec8a58c0) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3546
#14 0x00007f9f197132ad in KWin::Workspace::deletedRemoved (this=0x252e010, _t1=0x24800a0) at moc_workspace.cpp:707
#15 0x00007f9f195911e2 in KWin::Workspace::removeDeleted (this=0x252e010, c=0x24800a0) at /home/kde-devel/frameworks/kwin/workspace.cpp:640
#16 0x00007f9f19675d88 in KWin::Deleted::~Deleted (this=0x24800a0, __in_chrg=<optimized out>) at /home/kde-devel/frameworks/kwin/deleted.cpp:56
#17 0x00007f9f19675df8 in KWin::Deleted::~Deleted (this=0x24800a0, __in_chrg=<optimized out>) at /home/kde-devel/frameworks/kwin/deleted.cpp:58
#18 0x00007f9f100c6cfe in qDeleteInEventHandler (o=0x24800a0) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:4342
#19 0x00007f9f100be86a in QObject::event (this=0x24800a0, e=0x25fbb20) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:1232
#20 0x00007f9f10eeff14 in QApplicationPrivate::notify_helper (this=0x246ac50, receiver=0x24800a0, e=0x25fbb20) at /home/kde-devel/frameworks/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3491
#21 0x00007f9f10eed6a6 in QApplication::notify (this=0x7fffec8a66c0, receiver=0x24800a0, e=0x25fbb20) at /home/kde-devel/frameworks/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2944
#22 0x00007f9f195d7a7e in KWin::Application::notify (this=0x7fffec8a66c0, o=0x24800a0, e=0x25fbb20) at /home/kde-devel/frameworks/kwin/main.cpp:344
#23 0x00007f9f10083018 in QCoreApplication::notifyInternal (this=0x7fffec8a66c0, receiver=0x24800a0, event=0x25fbb20) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:935
#24 0x00007f9f10086d01 in QCoreApplication::sendEvent (receiver=0x24800a0, event=0x25fbb20) at ../../include/QtCore/../../../../frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.h:237
#25 0x00007f9f10084375 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x245b4b0) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1539
#26 0x00007f9f100f6cdd in QEventDispatcherUNIX::processEvents (this=0x249b8b0, flags=...) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_unix.cpp:587
#27 0x00007f9f02b5e76c in QUnixEventDispatcherQPA::processEvents (this=0x249b8b0, flags=...) at /home/kde-devel/frameworks/qt5/qtbase/src/platformsupport/eventdispatchers/qunixeventdispatcher.cpp:70
#28 0x00007f9f1007fcce in QEventLoop::processEvents (this=0x7fffec8a65b0, flags=...) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventloop.cpp:136
#29 0x00007f9f1007ffb1 in QEventLoop::exec (this=0x7fffec8a65b0, flags=...) at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventloop.cpp:212
#30 0x00007f9f10083701 in QCoreApplication::exec () at /home/kde-devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1188
#31 0x00007f9f10667c34 in QGuiApplication::exec () at /home/kde-devel/frameworks/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:1436
#32 0x00007f9f10eeced3 in QApplication::exec () at /home/kde-devel/frameworks/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2736
#33 0x00007f9f195d917a in kdemain (argc=1, argv=0x7fffec8a6ce8) at /home/kde-devel/frameworks/kwin/main.cpp:556
#34 0x0000000000400cef in main (argc=3, argv=0x7fffec8a6ce8) at kwin_dummy.cpp:3
Comment 3 Martin Flöser 2014-04-10 14:11:55 UTC
this looks like a Deleted gets removed before a Scene::Window is created and thus the assert gets triggered.
Comment 4 Thomas Lübking 2014-04-12 19:36:39 UTC
also see bug #327103
Comment 5 Martin Flöser 2014-04-23 13:02:30 UTC
Git commit 8e631028552c4b474a317ebf589e31c13289c6fd by Martin Gräßlin.
Committed on 14/04/2014 at 07:19.
Pushed by graesslin into branch 'master'.

Discard all deleted before constructing the Scene

The Scene connects to the deletedRemoved signal and tries to remove the
Deleted from it's list of Windows, which will fail because a SceneWindow
doesn't get created for an existing Deleted in the Scene setup.

It doesn't make sense to create a SceneWindow for a Deleted as there is
no pixmap around anyway. Thus the best approach is to ensure that there
are no Deleted by just discarding all prior to creating the Scene.
REVIEW: 117557

M  +6    -0    composite.cpp

http://commits.kde.org/kwin/8e631028552c4b474a317ebf589e31c13289c6fd
Comment 6 Thomas Lübking 2014-05-30 21:54:59 UTC
Git commit 0feb2b4d5b152263737967e778415ea2afa119b6 by Thomas Lübking.
Committed on 29/05/2014 at 20:31.
Pushed by luebking into branch 'KDE/4.11'.

Discard all deleted before constructing the Scene

The Scene connects to the deletedRemoved signal and tries to remove the
Deleted from it's list of Windows, which will fail because a SceneWindow
doesn't get created for an existing Deleted in the Scene setup.

It doesn't make sense to create a SceneWindow for a Deleted as there is
no pixmap around anyway. Thus the best approach is to ensure that there
are no Deleted by just discarding all prior to creating the Scene.
Related: bug 334273
REVIEW: 117557

"cherry-picked" from kwin.git 8e631028552c4b474a317ebf589e31c13289c6fd
Author: mgraesslin
Date: Mon, 14 Apr 2014 09:19:43 +0200

M  +6    -0    kwin/composite.cpp

http://commits.kde.org/kde-workspace/0feb2b4d5b152263737967e778415ea2afa119b6
Comment 7 Martin Flöser 2015-01-09 08:28:38 UTC
*** Bug 329989 has been marked as a duplicate of this bug. ***
Comment 8 Martin Flöser 2015-01-09 08:31:08 UTC
*** Bug 327103 has been marked as a duplicate of this bug. ***