Summary: | plasmashell crash when widgets are locked | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Antonio Rojas <arojas> |
Component: | general | Assignee: | Sebastian Kügler <sebas> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | aleixpol, bhush94, kde, notmart |
Priority: | HI | ||
Version: | master | ||
Target Milestone: | 1.0 | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/plasma-workspace/b8d5cae9b5bdca6bf05f9e5f6f1928c62819167e | Version Fixed In: | |
Sentry Crash Report: |
Description
Antonio Rojas
2014-07-07 18:42:29 UTC
I can reproduce this crash, yes.. Information apol asked me on IRC yesterday.. Breakpoint 1, ShellCorona::addOutput (this=0x819e038, output=0x819bd78) at /home/bshah/kdesrc/kde/workspace/plasma-workspace/shell/shellcorona.cpp88 688 Q_ASSERT(containment); (gdb) list 683 QScreen* newScreen = insertScreen(screen, insertPosition); 684 685 DesktopView *view = new DesktopView(this); 686 687 Plasma::Containment *containment = createContainmentForActivity(d-ctivityController->currentActivity(), d->views.count()-1); 688 Q_ASSERT(containment); 689 690 QAction *removeAction = containment->actions()->action("remove"); 691 if (removeAction) { 692 removeAction->deleteLater(); (gdb) print d->activityController->currentActivity() $1 = {static null = {<No data fields>}, d = 0x825c980} (gdb) print d->views.count() $2 = 0 (gdb) continue Continuing. ASSERT: "containment" in file /home/bshah/kdesrc/kde/workspace/plasma-workspacshell/shellcorona.cpp, line 688 Program received signal SIGABRT, Aborted. 0xb7fdbb2c in __kernel_vsyscall () Git commit 04f4eaa51559b6af092351f6939143cf1ea7d71a by Marco Martin. Committed on 08/07/2014 at 10:56. Pushed by mart into branch 'master'. append views as the first thing it may still be a crash on screen added with the corona locked M +1 -1 shell/shellcorona.cpp http://commits.kde.org/plasma-workspace/04f4eaa51559b6af092351f6939143cf1ea7d71a a proper fix needs modifications in plasma-framework, that is already released, that means, 5.1 it needs to temporarly unlock the corona when a containment is added for reasons like a screen has been added *** Bug 337345 has been marked as a duplicate of this bug. *** Do we need the check for immutability in Corona::createContainment ? removing the " if (d->immutability == Types::Mutable) " seems massively simpler than temporarily unlocking and locking again. Git commit 546ffbc79141f1224b54ce619ebb127b9427ddb2 by Marco Martin. Committed on 28/07/2014 at 11:41. Pushed by mart into branch 'master'. reintroduce containmentForScreen with defaultPlugin reintroduces an api call from plasma1: its the only way to solve https://bugs.kde.org/show_bug.cgi?id=337200 basically to avoid a crash when plasma starts with missing containments in the appletsrc and a locked corona, or a screen added with locked widgets. it's the only entry point that allows a creation of a containment when widgets are locked REVIEW:119513 M +20 -0 src/plasma/corona.cpp M +13 -0 src/plasma/corona.h http://commits.kde.org/plasma-framework/546ffbc79141f1224b54ce619ebb127b9427ddb2 Git commit 66f166ff0398668d6cc569d6868fc800c552c72d by Marco Martin. Committed on 28/07/2014 at 11:48. Pushed by mart into branch 'mart/lookAndFeelAccess'. when a containment for screen is needed, create it if there isn't a containment existing for the screen, create it. even if the whole corona is locked. needed for instance if a new screen is conencted and we're locked or a locked sessin starts with a malformed appletsrc M +2 -2 shell/shellcorona.cpp http://commits.kde.org/plasma-workspace/66f166ff0398668d6cc569d6868fc800c552c72d Git commit b8d5cae9b5bdca6bf05f9e5f6f1928c62819167e by Marco Martin. Committed on 28/07/2014 at 11:48. Pushed by mart into branch 'master'. when a containment for screen is needed, create it if there isn't a containment existing for the screen, create it. even if the whole corona is locked. needed for instance if a new screen is conencted and we're locked or a locked sessin starts with a malformed appletsrc M +2 -2 shell/shellcorona.cpp http://commits.kde.org/plasma-workspace/b8d5cae9b5bdca6bf05f9e5f6f1928c62819167e |