https://bugs.kde.org/show_bug.cgi?id=492584

            Bug ID: 492584
           Summary: Launching application without .desktop file results in
                    short freeze
    Classification: Plasma
           Product: kwin
           Version: 6.1.3
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: core
          Assignee: kwin-bugs-n...@kde.org
          Reporter: jul...@gmail.com
  Target Milestone: ---

SUMMARY
Launching application from Dolphin without having .desktop file results in
parsing the application by kwin. producing following logs for every single line
of executable file:

kwin_wayland[3242]: kf.config.core: "KConfigIni: In file
/home/julus/factorio/bin/x64/factorio, line 28857:" Invalid entry (missing '=')

This also causes KDE to completely freeze for few seconds depending on
executable filesize.

creating empty .desktop file with the app filename in app folder fixes the
issue.

STEPS TO REPRODUCE
1. Launch application without having .desktop file

OBSERVED RESULT
System hangs for few seconds dependig on executable size.

EXPECTED RESULT
No KDE freeze, no parsing of the application data as desktop file

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Nobara OS
KDE Plasma Version: 6.1.3
KDE Frameworks Version: 6.5.0
Qt Version: qt6 6.7.2

ADDITIONAL INFORMATION
Occurs only via Dolphin. Running app from console or Konqueror does not result
in this issue. Issue took place after upgrading from 6.0.5 to 6.1.3

perf showed the kwin as most likely responsible, most of the time by perf was
spent in:
KWin::XdgActivationV1Integration::requestToken(bool, KWin::SurfaceInterface*,
unsigned int, KWin::SeatInterface*, QString const&)
KDesktopFile::KDesktopFile(QStandardPaths::StandardLocation, QString const&)

per strace of kwin_wayland, the issue started immediately failure search for
.desktop and opening application directly, producing the error messages.
snip (as I was stracing, the issue caused system to hang for much longer,
basically for the whole duration of the sendmsg():
10:40:09.515383 access("/home/julus/factorio/bin/x64/factorio.desktop", F_OK) =
-1 ENOENT (No such file or directory) 
...
10:40:09.515977 openat(AT_FDCWD, "/home/julus/factorio/bin/x64/factorio",
O_RDONLY|O_CLOEXEC) = 247 <0.000011>
...
10:40:09.627286 sendmsg(15, {msg_name={sa_family=AF_UNIX,
sun_path="/run/systemd/journal/socket"}, msg_namelen=30,
msg_iov=[{iov_base="MESSAGE=kf.config.core: \"KConfig"..., 
...
10:40:31.243019 sendmsg(15, {msg_name={sa_family=AF_UNIX,
sun_path="/run/systemd/journal/socket"}, msg_namelen=30,
msg_iov=[{iov_base="MESSAGE=kf.config.core: \"KConfig"...,
/snip

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to