Summary: | KRunner silently crashes when search results should be displayed | ||
---|---|---|---|
Product: | [Plasma] krunner | Reporter: | Kyle Devir <kyle.devir> |
Component: | general | Assignee: | Kyle Devir <kyle.devir> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | alexander.lohnau, kyle.devir, plasma-bugs |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | KRunner via KSysGuard |
Description
Kyle Devir
2021-05-01 05:23:10 UTC
Do you have Krunner and milou build from master? Actually, it seems KRunner works just fine via `gdb /run/media/valmar/DataSSD/kde/usr-2021-04-30-17-35/bin/krunner`... The real issue seems to be despite all of my paths being properly set (I think), /usr/bin/krunner is being called for some odd reason... :| Have you applied the "prefix.sh" file? I run my kdesrc-build setup via ``` function run-startplasma-wayland-git() { export XDG_SESSION_TYPE=wayland export GDK_BACKEND=wayland export SDL_VIDEODRIVER=wayland export QT_LOGGING_RULES="kwin_*.debug=true;kwin_libinput.debug=false" mkdir -p ~/.local/share/kwin mv $HOME/.local/share/kwin/session.wayland.log $HOME/.local/share/kwin/session.wayland.log-`date +"%Y%m%d%H%M"` bash /run/media/valmar/DataSSD/kde/kde-env-master-wayland.sh &> ~/.local/share/kwin/session.wayland.log 2>&1 } alias startplasma-wayland-git=run-startplasma-wayland-git ``` Which calls this script: ``` #!/bin/sh KDE_usr_prefix="/run/media/valmar/DataSSD/kde/usr" export CMAKE_PREFIX_PATH="$KDE_usr_prefix:$CMAKE_PREFIX_PATH" export PATH="$KDE_usr_prefix/bin:$PATH" export PKG_CONFIG_PATH="$KDE_usr_prefix/lib/pkgconfig:$PKG_CONFIG_PATH" export PYTHONPATH="$KDE_usr_prefix/lib/site-packages:$PYTHONPATH" export QML2_IMPORT_PATH="$KDE_usr_prefix/lib/qml:$QML2_IMPORT_PATH" export QT_PLUGIN_PATH="$KDE_usr_prefix/lib/qt5/plugins:$KDE_usr_prefix/lib/plugins:$QT_PLUGIN_PATH" export XDG_DATA_DIRS="$KDE_usr_prefix/share:/usr/share:$XDG_DATA_DIRS" export XDG_CONFIG_DIRS="$KDE_usr_prefix/etc/xdg:/etc/xdg:$XDG_CONFIG_DIRS" export MANPATH="$KDE_usr_prefix/share/man:$MANPATH" cd ${KDE_usr_prefix} ${KDE_usr_prefix}/bin/startplasma-wayland ``` Now, this scripted setup hasn't changed since my prior build, which was from a week or two ago. So something has broken since. I even tried `kdesrc-build --refresh-build krunner`, to no avail. Have you build milou from source too? Wouldn't that come as part of a `kdesrc-build baloo` build? Because I'm pretty certain it has been. Starting KRunner via `/run/media/valmar/DataSSD/kde/usr-2021-04-30-17-35/bin/krunner` in Konsole makes it work perfectly. (usr is a symlink to usr-2021-04-30-17-35) So, this isn't KRunner's fault, so much as whatever KDE component isn't honouring the exported paths, and is just somehow blindly running `/usr/bin/krunner`... Sorry for the confusion. :) Now to go hunt for what actually starts KRunner... Created attachment 138050 [details]
KRunner via KSysGuard
......
```
[Unit]
Description=KRunner
PartOf=graphical-session.target
[Service]
ExecStart=@CMAKE_INSTALL_FULL_BINDIR@/krunner
Type=dbus
BusName=org.kde.krunner
TimeoutSec=5sec
Slice=background.slice
# Disable restart as we're dbus activated anyway
Restart=no
```
What's actually responsible for setting `@CMAKE_INSTALL_FULL_BINDIR@`?
For basically everything else KDE related, it's resolved correctly, as seen in the attached image.
Actually, that doesn't seem to be true... a few other KDE processes don't seem to honour the exported paths either... :| >What's actually responsible for setting `@CMAKE_INSTALL_FULL_BINDIR@`? That is done by CMake at build time, do you use the systemd startup? And you do you manually start KRunner or do you just invoke it using the shortcut and type stuff? Adding >krunner & to your script might be a workaround Yeah, I use the systemd startup ~ that's the default now, I think? Yeah, upon checking, it has to be the systemd startup method, going by journalctl collecting krunner's output. So, somehow, the CMake pathing in plasma-workspace is borked for KRunner... but why makes no sense, as the proper pathing is there for most other plasma-workspace stuff... Should I start another bug related to that? Hmmmm... From `/run/media/valmar/DataSSD/kde/usr-2021-04-30-17-35/lib/systemd/user/plasma-plasmashell.service`: ``` [Unit] Description=KRunner PartOf=graphical-session.target [Service] ExecStart=/run/media/valmar/DataSSD/kde/usr-2021-04-30-17-35/bin/krunner Type=dbus BusName=org.kde.krunner TimeoutSec=5sec Slice=background.slice # Disable restart as we're dbus activated anyway Restart=no ``` So, now this turns into... the incorrect .service file is being started... Whoops, from `/run/media/valmar/DataSSD/kde/usr-2021-04-30-17-35/lib/systemd/user/plasma-krunner.service`, I mean. Hmmmmm. Is KRunner integrated into the Application Launcher widget's searching capabilities? If so, that seems to find kdesrc-build KRunner just fine. Yes, Krunner powers those search results too. What does <MYPREFIX>/share/dbus-1/services/org.kde.krunner.service contain? ``` [D-BUS Service] Name=org.kde.krunner Exec=/run/media/valmar/DataSSD/kde/usr-2021-04-30-17-35/bin/krunner SystemdService=plasma-krunner.service ``` |