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

            Bug ID: 481543
           Summary: Parse error in kwin.upd (run by kconf_update) causing
                    delayed mouse cursor on login
    Classification: Plasma
           Product: kwin
           Version: git master
          Platform: Arch Linux
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: kwin-bugs-n...@kde.org
          Reporter: hen...@harmsen.se
  Target Milestone: ---

SUMMARY
***
NOTE: If you are reporting a crash, please try to attach a backtrace with debug
symbols.
See
https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***


STEPS TO REPRODUCE
1. Install arch and enable kde unstable repo to get plasma 6 rc
2. When logging in, it takes 30s for the mouse to appear
3. 

OBSERVED RESULT
When logging in, it takes 30s for the mouse to appear

EXPECTED RESULT
No delay

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 5.93.0
KDE Frameworks Version: 5.249.0
Qt Version: 6.7.0

ADDITIONAL INFORMATION

After login, I ran the commands below to try to get more information and it is
complaining first about a parse error in kwin.upd and then that an update
script does not terminate (for kwin.upd). It hangs 30s, not 60s as shown in the
output below. I think this is causing the slow login because I can see that
when kconf_update terminates, the mouse cursor comes back.

hch@sc:~/.config$ rm kconf_updaterc # to trigger full rebuild

hch@sc:~$ /usr/lib/kf6/kconf_update --debug
Automatically enabled the debug logging category kf.config.kconf_update
kf.config.kconf_update: Checking update-file "/usr/share/kconf_update/ark.upd"
for new updates
kf.config.kconf_update: /usr/share/kconf_update/ark.upd defined Version=5 but
Version=6 was expected
kf.config.kconf_update: Checking update-file
"/usr/share/kconf_update/dolphin_detailsmodesettings.upd" for new updates
kf.config.kconf_update: /usr/share/kconf_update/dolphin_detailsmodesettings.upd
defined Version=5 but Version=6 was expected
kf.config.kconf_update: Checking update-file
"/usr/share/kconf_update/filepicker.upd" for new updates
kf.config.kconf_update: /usr/share/kconf_update/filepicker.upd defined
Version=5 but Version=6 was expected
kf.config.kconf_update: Checking update-file
"/usr/share/kconf_update/gtkconfig.upd" for new updates
kf.config.kconf_update: /usr/share/kconf_update/gtkconfig.upd defined Version=5
but Version=6 was expected
kf.config.kconf_update: Checking update-file
"/usr/share/kconf_update/konsole.upd" for new updates
kf.config.kconf_update: /usr/share/kconf_update/konsole.upd defined Version=5
but Version=6 was expected
kf.config.kconf_update: Checking update-file "/usr/share/kconf_update/kwin.upd"
for new updates
kf.config.kconf_update: "kwin.upd" : Found new update
"change-activities-overview-shortcuts"
kf.config.kconf_update: "kwin.upd" : 12 :' "File=kglobalshortcutsrc" ':  Parse
error
kf.config.kconf_update: "kwin.upd" : 13 :' "Group=plasmashell,kwin" ':  Parse
error
kf.config.kconf_update: "kwin.upd" : Running script
"kwin-6.0-overview-activities-shortcuts.py"
kf.config.kconf_update: About to run "/usr/bin/python3"
kf.config.kconf_update: Script contents is:
 "#!/usr/bin/env python3\n# SPDX-FileCopyrightText: 2023 Niccol\xC3\xB2
Venerandi <niccolo.venera...@kde.org>\n# SPDX-License-Identifier: GPL-2.0-only
OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL\n\nimport fileinput\n\nfor line
in fileinput.input():\n    if line.startswith('next activity'):\n       
print(line.replace('Meta+Tab', 'Meta+A'))\n    elif line.startswith('previous
activity'):\n        print(line.replace('Meta+Shift+Tab', 'Meta+Shift+A'))\n   
elif line.startswith('ShowDesktopGrid'):\n        pass\n    elif
line.startswith('Overview'):\n        print('Overview=Meta+W,Meta+W,Toggle
Overview')\n        print('Cycle Overview=Meta+Tab,Meta+Tab,Cycle through
Overview and Grid View')\n        print('Cycle Overview
Opposite=Meta+Shift+Tab,Meta+Shift+Tab,Cycle through Grid View and Overview')\n
       print('Grid View=Meta+G,Meta+G,Toggle Grid View')\n    else:\n       
print(line)\n"

[  HERE IT HANGS FOR 30 SECONDS ]

kf.config.kconf_update: "kwin.upd" : 14 :'
"Script=kwin-6.0-overview-activities-shortcuts.py,python3" ':  update script
did not terminate within 60 seconds: "/usr/bin/python3"
QProcess: Destroyed while process ("/usr/bin/python3") is still running.
kf.config.kconf_update: Checking update-file
"/usr/share/kconf_update/migrate-calendar-to-plugin-id.upd" for new updates
kf.config.kconf_update: "migrate-calendar-to-plugin-id.upd" : Found new update
"migrate-calendar-plugins"
kf.config.kconf_update: "migrate-calendar-to-plugin-id.upd" : Running script
"migrate-calendar-to-plugin-id.py"
kf.config.kconf_update: About to run
"/usr/share/kconf_update/migrate-calendar-to-plugin-id.py"
kf.config.kconf_update: Script contents is:
 "#!/usr/bin/env python3\n\n# SPDX-FileCopyrightText: 2024 Nicolas Fella
<nicolas.fe...@gmx.de>\n# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only
OR LicenseRef-KDE-Accepted-GPL\n\nimport re\nimport io\nimport subprocess\n\n#
removes the full path from calendar plugin entries and only stores the plugin
id, e.g.\n# /usr/lib64/qt5/plugins/plasmacalendarplugins/holidaysevents.so ->
holidaysevents\n\nproc = subprocess.Popen(\n    [\n        \"qtpaths\",\n      
 \"--locate-file\",\n        \"ConfigLocation\",\n       
\"plasma-org.kde.plasma.desktop-appletsrc\",\n    ],\n   
stdout=subprocess.PIPE,\n)\nfor line in io.TextIOWrapper(proc.stdout,
encoding=\"utf-8\"):\n    appletsrcPath = line.removesuffix(\"\\n\")\n\nif
len(appletsrcPath) == 0 or not appletsrcPath.endswith(\"appletsrc\"):\n    #
something is wrong\n    exit()\n\nwith open(appletsrcPath, \"r+\") as
appletsrc:\n    inputLines = appletsrc.readlines()\n\n    outputLines = []\n   
pattern = re.compile(\"^\\\\/.*\\\\/(.*).so$\")\n\n    for line in
inputLines:\n        if not line.startswith(\"enabledCalendarPlugins=\"):\n    
       outputLines += line\n            continue\n\n        inputPlugins =
line.removeprefix(\"enabledCalendarPlugins=\").split(\",\")\n\n       
outputPlugins = []\n\n        for plugin in inputPlugins:\n            match =
pattern.match(plugin)\n\n            if match:\n               
outputPlugins.append(match.group(1))\n            else:\n               
outputPlugins += plugin\n\n        outputLines += \"enabledCalendarPlugins=\" +
\",\".join(outputPlugins) + \"\\n\"\n\n    appletsrc.truncate(0)\n   
appletsrc.seek(0)\n\n    appletsrc.writelines(outputLines)\n"
kf.config.kconf_update: Successfully ran
"/usr/share/kconf_update/migrate-calendar-to-plugin-id.py"
kf.config.kconf_update: Checking update-file
"/usr/share/kconf_update/okular.upd" for new updates
kf.config.kconf_update: /usr/share/kconf_update/okular.upd defined Version=5
but Version=6 was expected
kf.config.kconf_update: Checking update-file
"/usr/share/kconf_update/plasma6.0-remove-dpi-settings.upd" for new updates
kf.config.kconf_update: "plasma6.0-remove-dpi-settings.upd" : Found new update
"plasma6.0-remove-dpi-settings"
kf.config.kconf_update: "plasma6.0-remove-dpi-settings.upd" : Running script
"plasma6.0-remove-dpi-settings"
[... clipped for brevity ...]

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

Reply via email to