Plasma fails to load: "all shell packages missing"

Bug #1576500 reported by Darren Peets on 2016-04-29
24
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Snappy
Undecided
Unassigned
snapd (Ubuntu)
Critical
Unassigned
Nominated for Xenial by Alberto Salvia Novella

Bug Description

Upgraded to Xenial, and Plasma disappeared. Starting the X server, I get a blank screen, then error messages indicating that there is no Plasma shell. In particular,
"All shell packages missing.
This is an installation issue, please contact your distribution"

Expected: window manager, task bar, icons, wallpaper, widgets etc. load with X
Actual: Not so much.
Repeatable: every time.
plasma-desktop version: 4:5.5.5-0ubuntu1
Architecture: amd64

This happened on only one of my three systems. I've attached a screenshot of the full screen including the three error windows. It asks for a bug report on krunner.

Application switching works (upper left corner and Alt-Tab). Screen resolution and colours seem fine. Icons are often absent (e.g. absent in Emacs but present in Chromium), and passing the mouse over an absent button dumps this to the originating terminal window:
(emacs:2916): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed

Starting plasmashell from Konsole:
$ plasmashell
Icon theme "breeze" not found.
Icon theme "oxygen" not found.
Error: standard icon theme "oxygen" not found!
Failed to load the OSD QML file file from ""

This also brings up the "all shell packages missing" window. Closing that returns
We have no shell handlers installed
on the Konsole.

The screen locker doesn't work, so instead it tells me to go to a virtual terminal and unlock it from there. That works.

Konsole has lost use of the arrow keys, which makes things like Nano very difficult to use. I don't know whether that's related.

I tried apt-get --reinstall install for all installed plasma packages.

Quirks of current installation:
I boot into text mode, then start the X server with startx, and before the upgrade I was using fglrx drivers from http://ppa.launchpad.net/costamagnagianfranco/locutusofborg-ppa/ubuntu (both changes were done to allow Boinc to access the ATI GPU). The driver has evidently not yet been released for 16.04, but X falls back to an ATI driver that seems to work perfectly well.

How I got access to Konsole:
Thunderbird starts with X.
An e-mail containing a link can be used to open chromium, my default browser.
Chromium's Downloads tab allows me to open the containing folder. Dolphin runs fine from Konsole (but without icons), but chromium doesn't like dolphin today, so it asks for an alternative program for opening the folder. I tell it "konsole", I get that, and I can use my system again. Sort of. With no KDE/Plasma widgets/taskbar etc., no icons in many programs, and reduced functionality in the terminal, the GUI is extremely clunky and annoying to use.

Possibly related to https://bugs.launchpad.net/ubuntu/+source/kubuntu-meta/+bug/1571564
Brief earlier discussion at http://ubuntuforums.org/showthread.php?t=2321538

Hopefully ubuntu-bug uploaded what it needed to.

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: plasma-desktop 4:5.5.5-0ubuntu1
ProcVersionSignature: Ubuntu 4.4.0-21.37-generic 4.4.6
Uname: Linux 4.4.0-21-generic x86_64
ApportVersion: 2.20.1-0ubuntu2
Architecture: amd64
CurrentDesktop: KDE
Date: Fri Apr 29 11:40:01 2016
InstallationDate: Installed on 2015-11-26 (154 days ago)
InstallationMedia: Kubuntu 15.10 "Wily Werewolf" - Release amd64 (20151021)
SourcePackage: plasma-desktop
UpgradeStatus: Upgraded to xenial on 2016-04-27 (2 days ago)

Darren Peets (dpeets) wrote :
Darren Peets (dpeets) wrote :

$ krunner
Icon theme "breeze" not found.
Icon theme "oxygen" not found.
Error: standard icon theme "oxygen" not found!
File name empty!
KCrash: Attempting to start /usr/bin/krunner from kdeinit
sock_file=/run/user/1000/kdeinit5__0
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = krunner path = /usr/bin pid = 8025
KCrash: Arguments: /usr/bin/krunner
KCrash: Attempting to start /usr/lib/x86_64-linux-gnu/libexec/drkonqi from kdeinit
sock_file=/run/user/1000/kdeinit5__0

[3]+ Stopped krunner
$

Darren Peets (dpeets) wrote :

OK, this is truly bizarre:

Starting the teamviewer daemon from Konsole on :0 (ctrl-alt-F1) asks for password authentication in a usual popup window. Entering the password to allow the teamviewer daemon to run also starts a fully functional X with KDE/plasma on :1 (ctrl-alt-F7, where it would normally be), in parallel. Widgets, window decoration, desktop wallpaper, screen locker, splash screen: everything works.

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in plasma-desktop (Ubuntu):
status: New → Confirmed
jklasdf (jjj11x) wrote :

I have the exact same problem after upgrading from 15.10.

dmesg shows:
[75364.605395] kactivitymanage[8268]: segfault at 7f04d244fcd0 ip 00007f04ab385261 sp 00007ffc035f3028 error 4 in libQt5Sql.so.5.5.1[7f04ab371000+3f000]
[75374.038291] ksplashqml[13784]: segfault at 8 ip 00007f250867e547 sp 00007ffc0255a250 error 4 in libQt5Core.so.5.5.1[7f25083c1000+4c5000]
[75375.992608] krunner[13931]: segfault at 8 ip 00007fd3ed122270 sp 00007ffcda7d72e8 error 4 in libQt5Qml.so.5.5.1[7fd3ecec9000+40e000]
[78452.578277] krunner[17785]: segfault at 8 ip 00007f110737a270 sp 00007ffd6cd100e8 error 4 in libQt5Qml.so.5.5.1[7f1107121000+40e000]

Scarlett Gately Moore (sgclark) wrote :

I need to know a few things:

What language? There were some missing translations that caused a series of issues like this one.
Video card? Nvidia seems to be also causing similiar issues.

That dmesg log shows coredumps and according to it plasma is indeed installed or it would not be core dumping? Pretty sure a new bug needs to be filed there, with perhaps gdb plasmashell logs attached.

Thanks

jklasdf (jjj11x) wrote :

This happens with english, I don't have any of the kde-l10n packages installed.

I'm using the radeon driver:
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cape Verde PRO [Radeon HD 7750/8740 / R7 250E] (prog-if 00 [VGA controller])
        Subsystem: Hightech Information System Ltd. Cape Verde PRO [Radeon HD 7750/8740 / R7 250E]
        Flags: bus master, fast devsel, latency 0, IRQ 40
        Memory at c0000000 (64-bit, prefetchable) [size=256M]
        Memory at fea00000 (64-bit, non-prefetchable) [size=256K]
        I/O ports at e000 [size=256]
        Expansion ROM at fea40000 [disabled] [size=128K]
        Capabilities: <access denied>
        Kernel driver in use: radeon
        Kernel modules: radeon

Running plasmashell itself doesn't trigger a segfault/coredump. It does give the error messages shown in the original report though.

jklasdf (jjj11x) wrote :

Here's the backtrace for running krunner from the command line:
(gdb) run
Starting program: /usr/bin/krunner
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe3fa0700 (LWP 13738)]
[New Thread 0x7fffe08fd700 (LWP 13739)]
Icon theme "oxygen" not found.
Icon theme "oxygen" not found.
Error: standard icon theme "oxygen" not found!
[New Thread 0x7fffd8717700 (LWP 13740)]
File name empty!

Thread 1 "krunner" received signal SIGSEGV, Segmentation fault.
0x00007ffff6d81270 in QQmlComponent::status() const () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
(gdb) bt
#0 0x00007ffff6d81270 in QQmlComponent::status() const () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#1 0x00007ffff75542fd in KDeclarative::QmlObject::completeInitialization(QHash<QString, QVariant> const&) () from /usr/lib/x86_64-linux-gnu/libKF5Declarative.so.5
#2 0x0000000000408fb6 in View::View (this=0x7fffffffdff0) at /build/plasma-workspace-kxRFE_/plasma-workspace-5.5.5.2/krunner/view.cpp:94
#3 0x00000000004075e9 in main (argc=1, argv=<optimized out>) at /build/plasma-workspace-kxRFE_/plasma-workspace-5.5.5.2/krunner/main.cpp:75

Darren Peets (dpeets) wrote :

In my case, the GPU is an ATI Radeon of some form, but at the moment I can't tell you exactly what.

Language is English-Canadian, installed while in China so there's some odd localization in places.

Darren Peets (dpeets) wrote :

$ lspci -v
...
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Oland XT [Radeon HD 8670 / R7 250/350] (prog-if 00 [VGA controller])
        Subsystem: Dell Radeon R7 250
        Flags: bus master, fast devsel, latency 0, IRQ 31
        Memory at e0000000 (64-bit, prefetchable) [size=256M]
        Memory at f7e00000 (64-bit, non-prefetchable) [size=256K]
        I/O ports at e000 [size=256]
        Expansion ROM at f7e40000 [disabled] [size=128K]
        Capabilities: <access denied>
        Kernel driver in use: radeon
        Kernel modules: radeon
...

Darren Peets (dpeets) wrote :

Further to my comment #3:

X ran in parallel with the instance of KDE/Plasma that was started accidentally via kdesudo and/or teamviewer daemon for an hour or two (confusing some software), then X died in the background. Plasma is still running, days later.

"Everything works" was a bit of an approximation. Plasmashell is consuming 105-125% of a processor, 10.3G of virtual RAM, and 0.55G of physical RAM, while Xorg eats ~30-40% of a processor, 500M virtual, 140M RAM. In some cases, selecting a window on the taskbar doesn't work (it sometimes thinks I'm dragging the button I click on), and I've had some issues with copy/paste. I was sufficiently relieved to have plasma again that it took a few days before its dragging bothered me enough to check this.

Let me know if there's any information you'd like from a plasma-fails-to-load system with "functioning" X and/or Plasma accessible only via bizarre workarounds. But I may not have access to the computer next week...

Afraid this is over my head. I am just a packager and this seems beyond packaging issues. Have you reported this upstream KDE (krunner) Sorry I am not much help. I had answers to the two items I mentioned only.

jklasdf (jjj11x) wrote :

Alright thanks for the help scarlett.

I looked into it a bit more. Purging snapd for me seems to solve the problem: running strace -f on krunner, it seemed to be trying to access ~/.local/share/plasma and /var/lib/snapd/desktop/plasma instead of the correct location /usr/share/plasma. I temporarily created a symlink for ~/.local/share/plasma to point to /usr/share/plasma, and did an aptitude purge snapd, and that seems to have solved the problem so far.

Wow, I never would have found that. Can you please file a bug against snapd? Seems to be a show breaker.
Cheers,
Scarlett

Darren Peets (dpeets) wrote :

Doesn't quite fix it for me.

Purging and reinstalling snapd had no effect.

~/.local/share/plasma already had one thing in it, so I created a variety of new links into /usr/share/plasma/*. That gave me a KDE splash screen, the popup about plasmashell being missing went away, and the crash report dialog was for baloo-file instead of krunner. Still no taskbar, widgets, wallpaper, etc.

Creating a link for /var/lib/snapd/desktop/plasma or making the link and purging and reinstalling snapd again (the link survived the purge) had no effect. So I still get to go through the same workaround thunderbird>chromium>konsole>teamviewer>plasmashell.

After doing all this, the second instance of KDE lost its taskbar. Had to create it again from the right-click menu on the desktop. The new one looks different, so perhaps it was previously loading the 15.10 version somehow.

Also, when the second instance of X starts, the first thing that appears is the login screen, which looks like the Kubuntu 15.10 version. When I lock the screen, I get the 16.04 screen locker. The former displays the time in a localized format based on the physical location of the computer (China), the latter displays the time using the system language/localization (Canadian English).

So I'm wondering if something moved around between the two versions, but without updating an important config file somewhere.

jklasdf (jjj11x) wrote :

Why did you not try purging snapd, and not reinstalling?

What does echo $XDG_DATA_DIRS show?

Darren Peets (dpeets) wrote :

I guess because I usually figure that something installed by default that I haven't heard of is useful or important? Removing it entirely, everything loaded and I didn't have to use my ridiculous workaround. Success! Thanks!

Now:
$ echo $XDG_DATA_DIRS
/usr/share:/usr/share:/usr/local/share

Before removing snapd, it had the snapd directory in it, other entries in the middle as I recall, and the first two entries were not separated by a colon.

Darren Peets (dpeets) wrote :

For anyone curious:

Non-functional black-screen-with-pointer X:
$ echo $XDG_DATA_DIRS
:/var/lib/snapd/desktop

Workaround second X with plasma:
$ echo $XDG_DATA_DIRS
/usr/share//usr/share/xsessions/plasma:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop

After fully removing snapd:
$ echo $XDG_DATA_DIRS
/usr/share:/usr/share:/usr/local/share

naguz (naguz-gmx) wrote :

After reading jklasdf comment (#13) I tried to purge snapd (using apt-get purge ad i dont have aptitude installed. Rebooted. Same problem
echo $XDG_DATA_DIRS yields:
/usr/share//usr/share/xsessions/plasma:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
So i reinstall snapd, created a symlink to have ~/.local/share/plasma to point to /usr/share/plasma (If my usage of ln -s was correct) and rebooted. Still no change, and echo $XDG_DATA_DIRS yields the same result as before. Is there any point in trying to reinstall snapd and then rebooting, to mace sure that the environment variables it erroneously provides take affect before I purge the package? Shouldn't any errors in the package be removed by purging it?
I welcome any help in trying to fixing this.

Btw, my problem did not come with the update, but with an update about ten days ago. Don't remember, haven't used the laptop fore a while before yesterday. And while I get the same "All shell packages missing." error I can use krunner with alt+F2, so I CAN use the computer, but it is, of course, not ideal.

Also, if anyone else don't have networking, maybe due to the keychain/wallet not being opened, nmcli does the trick for me from the temrinal. Can't check the exact usage no, as I'm not with the laptop atm.

jklasdf (jjj11x) wrote :

I don't think you actually have the same problem as us. See the picture attached to the bug report...if alt-f2 is working and krunner doesn't crash you probably have a different problem. I'd recommend opening a separate bug report with just your symptoms.

If you want to check if your problem is being caused by $XDG_DATA_DIRS, you can temporarily set $XDG_DATA_DIRS (all on one line):

XDG_DATA_DIRS="/usr/share" plasmashell

The symlink thing was a temporary workaround, I wouldn't actually recommend it. You can check that it's set properly by doing ls -l ~/.local/share/plasma

Tom Kidman (tom-kidman) wrote :

I have very similar issues to those reported here. Upgraded to 16.04 from 15.10 (from australia - au.archive.ubuntu.com seemed flakey when I started, but got there after a few days of trying). Couldn't start plasma, could only get to a terminal prompt. Running startx yielded the exact screen grabs that dpeets attached.

From there I purged nvidia drivers and somehow got to the plasma log in screen. No progress after hitting enter on the log in screen. By some accident I plugged an HDMI cable into my laptop, and then plasma loaded. I've verfified this a number of times. plasma only starts fully when an hdmi cable is connected to an external display!

I tried purging snapd (I have no idea what that is) but no difference. I also have the weird double '//' in my $XDG_DATA_DIRS env var:
echo $XDG_DATA_DIRS
/usr/share//usr/share/xsessions/plasma:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop

naguz (naguz-gmx) wrote :

jklasdf, I think you are correct. It seems more related to the bug here: https://bugs.launchpad.net/ubuntu/+source/kubuntu-meta/+bug/1571564 which you also mention as possibly related, even if my problem didn't appear in the same way or at the same tie (straight after upgrade/when installing). Soething is wrong/missing from repos regarding the l10n-packages, obviously. I will see if the mentioned bug is the right place to continue with my issue, but this one is not the bug Iæm having.

But if any one else that stumbles upon this bugreport has my problem, then a install/reinstall of plasma-dekstop fixed it for me.

Symax (ayourk) wrote :

I personally think it is a slight issue with snappy because of the XDG_DATA_DIRS variable and how it is handled.

X11/Xsession.d/60x11-common_xdg_path is supposed to set up the XDG_DATA_DIRS variable.
X11/Xsession.d/65snappy doesn't check if XDG_DATA_DIRS is empty or not like X11/Xsession.d/60x11-common_xdg_path does.

Symax (ayourk) wrote :

I was able to fix the issue between Snappy and XDG_DATA_DIRS by modifying /etc/X11/Xsession.d/60x11-common_xdg_path to read as follows:

# This file is sourced by Xsession(5), not executed.
# Add additionnal xdg paths depending on selected desktop session

DEFAULT_XDG_CONFIG_DIRS='/etc/xdg'
DEFAULT_XDG_DATA_DIRS='/usr/local/share/:/usr/share/'
if [ -n "$DESKTOP_SESSION" ]; then
  # readd default if was empty
  if [ -z "$XDG_CONFIG_DIRS" ]; then
    XDG_CONFIG_DIRS="$DEFAULT_XDG_CONFIG_DIRS"
  fi
  XDG_CONFIG_DIRS="$DEFAULT_XDG_CONFIG_DIRS"/xdg-"$DESKTOP_SESSION":"$XDG_CONFIG_DIRS"
  export XDG_CONFIG_DIRS
  # gnome is already added if gnome-session installed
  if [ "$DESKTOP_SESSION" != "gnome" ]; then
     if [ -z "$XDG_DATA_DIRS" ]; then
       XDG_DATA_DIRS="$DEFAULT_XDG_DATA_DIRS"
     fi
     XDG_DATA_DIRS=/usr/share/"$DESKTOP_SESSION":"$XDG_DATA_DIRS"
     export XDG_DATA_DIRS
  fi
else
  if [ -z "$XDG_CONFIG_DIRS" ]; then
    XDG_CONFIG_DIRS='/etc/xdg'
  fi
  if [ -z "$XDG_DATA_DIRS" ]; then
    XDG_DATA_DIRS='/usr/share:/usr/local/share'
  fi
fi

Notice the "else" section at the end. There is no guarantee that $DESKTOP_SESSION is set, but XDG_DATA_DIRS is still a needed variable.

Changed in plasma-desktop (Ubuntu):
importance: Undecided → Critical
Oliver Grawert (ogra) wrote :

@Symaxtry to make it:
else
  if [ -z "$XDG_CONFIG_DIRS" ]; then
    XDG_CONFIG_DIRS="$DEFAULT_XDG_CONFIG_DIRS"
  fi
  if [ -z "$XDG_DATA_DIRS" ]; then
    XDG_DATA_DIRS="$DEFAULT_XDG_DATA_DIRS"
  fi
fi

so the default is only defined in one place (and an update of the default at the top is respected in your code path)

André Colomb (acolomb) wrote :

Version 2.0.5 of snapd in -proposed has a fix for this script. See https://bugs.launchpad.net/bugs/1575014 for details and even more problems seemingly unrelated to snapd, but caused by its broken $XDG_DATA_DIRS handling.

It's actually perfectly fine to not have the variable set at all if only the default paths should be searched. However, setting it for the first time programmatically and not including the default paths is very wrong and causes all kinds of brokenness everywhere.

So I think this fix is not needed in x11-common, but mainly just in snapd.

affects: plasma-desktop (Ubuntu) → snapd (Ubuntu)
Changed in snappy:
status: New → Confirmed
Nick Andrew (nick-nick-andrew) wrote :

Installing kubuntu-desktop fixed it for me.

I also purged snapd first, after reading this bug report. But that did not fix it, and a subsequent "apt-get install kubuntu-desktop" did. I had to setup some parts of kde again, including multiple desktops and focus-follows-mouse.

Michael Vogt (mvo) wrote :

The etc/X11/Xsession.d/65snappy got fixed some time ago - is this still a problem with a snapd version > 2.0.5?

Changed in snapd (Ubuntu):
status: Confirmed → Incomplete
Changed in snappy:
status: Confirmed → Incomplete
Carlo Wood (carlo-alinoe) wrote :

I have issue too now. Looking in /var/log/apt/history.log I noted:

Start-Date: 2017-02-07 21:27:42
Commandline: apt autoremove
Requested-By: carlo (1000)
Remove: fonts-noto-unhinted:amd64 (20160116-1), muon-updater:amd64 (4:5.6.2-1ubuntu1.1), liboxygenstyle5-5:amd64 (4:5.5.5-0ubuntu1), libxcb-record0:amd64 (1.11.1-1ubuntu1), qml-module-qt-labs-folderlistmodel:amd64 (5.5.1-2ubuntu6), libbaloocore4:amd64 (4:4.14.3-0ubuntu5), libkfilemetadata4:amd64 (4:4.14.2-0ubuntu2), kde-style-oxygen-qt5:amd64 (4:5.5.5-0ubuntu1), libkf5baloowidgets5:amd64 (4:15.12.3-0ubuntu1), qml-module-qt-labs-settings:amd64 (5.5.1-2ubuntu6), plasma-desktop-data:amd64 (4:5.5.5-0ubuntu1), fonts-noto:amd64 (20160116-1), libkf5activitiesexperimentalstats1:amd64 (4:5.5.5-0ubuntu1), libbaloofiles4:amd64 (4:4.14.3-0ubuntu5), kgamma5:amd64 (4:5.5.5-0ubuntu1), ieee-data:amd64 (20150531.1), libbalooxapian4:amd64 (4:4.14.3-0ubuntu5), sni-qt:amd64 (0.2.7+15.10.20150729-0ubuntu1), libkfontinstui5:amd64 (4:5.5.5-0ubuntu1), libkfontinst5:amd64 (4:5.5.5-0ubuntu1), fonts-noto-mono:amd64 (20160116-1), liboxygenstyleconfig5-5:amd64 (4:5.5.5-0ubuntu1), libdolphinvcs5:amd64 (4:15.12.3-0ubuntu1)
End-Date: 2017-02-07 21:27:46

Reinstalling plasma-desktop-data fixed running /usr/bin/plasmashell, but my desktop still remains black (no icons or background image and right-clicking on the desktop also doesn't work). What else could I be missing?

Carlo Wood (carlo-alinoe) wrote :

Ok, issue solved. Because my home partition had run full and therefore I wanted to get rid of baloo-kf5, I had purged plasma-desktop :/. That's the reason why autoremove deleted plasma-desktop-data I assume. Reinstalling plasma-desktop fixed the issue completely.

Launchpad Janitor (janitor) wrote :

[Expired for snapd (Ubuntu) because there has been no activity for 60 days.]

Changed in snapd (Ubuntu):
status: Incomplete → Expired
Launchpad Janitor (janitor) wrote :

[Expired for Snappy because there has been no activity for 60 days.]

Changed in snappy:
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers