[kscreenlocker] [Bug 455302] Seat names in multiseat configurations are injected directly into dbus paths, leading to assertion failures and ugly crashes.

2022-06-14 Thread vespian
https://bugs.kde.org/show_bug.cgi?id=455302

--- Comment #1 from vespian  ---
See also https://bugs.kde.org/show_bug.cgi?id=455204#c1

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

[plasmashell] [Bug 455204] Seat names in multiseat configurations are injected directly into dbus paths, leading to assertion failures and ugly crashes.

2022-06-14 Thread vespian
https://bugs.kde.org/show_bug.cgi?id=455204

--- Comment #2 from vespian  ---
Done: https://bugs.kde.org/show_bug.cgi?id=455302

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

[kscreenlocker] [Bug 455302] New: Seat names in multiseat configurations are injected directly into dbus paths, leading to assertion failures and ugly crashes.

2022-06-14 Thread vespian
https://bugs.kde.org/show_bug.cgi?id=455302

Bug ID: 455302
   Summary: Seat names in multiseat configurations are injected
directly into dbus paths, leading to assertion
failures and ugly crashes.
   Product: kscreenlocker
   Version: 5.24.4
  Platform: Ubuntu Packages
OS: Linux
Status: REPORTED
  Severity: crash
  Priority: NOR
 Component: general
  Assignee: plasma-b...@kde.org
  Reporter: kde...@vespian.net
CC: bhus...@gmail.com
  Target Milestone: ---

SUMMARY
Dbus paths must match the "[A-Z][a-z][0-9]_" regexp [1]. OTOH hand it is
allowed to create seat names like 'seat-foo' which leads to ugly assertion
errors in kde applications when doing DBUS calls that involve such paths. 

kscreenlocker is just one of the components effected, another is plasmashell
which kickoff somehow referes to. Please feel free to move this bugreport
accordingly.

[1] https://dbus.freedesktop.org/doc/dbus-specification.html, section "Valid
Object Paths".

STEPS TO REPRODUCE
1. create a seat that contains e.g. '-' in the name
2. login to this seat
3. just try searching something in kickoff menu, or lock a screen and the
component will crash

Alternative is to simply do a dbus call that e.g. kickoff is doing when
searching for something in the menu:
```"""
dbus-send --print-reply --dest=org.freedesktop.DisplayManager
/org/freedesktop/DisplayManager/Seat-ves
org.freedesktop.DBus.Introspectable.Introspect
"""

OBSERVED RESULT

Components crashing

EXPECTED RESULT

Unsupported DBUS paths should be validated and errors should be logged or
preferably a warning should be shown to the user stating that the name of the
seat is invalid. 

I do not have a context wrt. why assertions in the code are made instead, but
IMO handling this error gracefully could help novice users debug this problem
in the future.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: see the form data I entered
Qt Version: 5.15.3

System is stock Ubuntu 22.04 LTS.

ADDITIONAL INFORMATION

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

[plasmashell] [Bug 455204] New: Seat names in multiseat configurations are injected directly into dbus paths, leading to assertion failures and ugly crashes.

2022-06-13 Thread vespian
https://bugs.kde.org/show_bug.cgi?id=455204

Bug ID: 455204
   Summary: Seat names in multiseat configurations are injected
directly into dbus paths, leading to assertion
failures and ugly crashes.
   Product: plasmashell
   Version: 5.24.4
  Platform: Ubuntu Packages
OS: Linux
Status: REPORTED
  Severity: crash
  Priority: NOR
 Component: Application Launcher (Kickoff)
  Assignee: plasma-b...@kde.org
  Reporter: kde...@vespian.net
CC: mikel5...@gmail.com, noaha...@gmail.com
  Target Milestone: 1.0

SUMMARY
Dbus paths must match the "[A-Z][a-z][0-9]_" regexp [1]. OTOH hand it is
allowed to create seat names like 'seat-foo' which leads to ugly assertion
errors in kde applications when doing DBUS calls that involve such paths. 

kscreenlocker is just one of the components effected, another is plasmashell
which kickoff somehow referes to. Please feel free to move this bugreport
accordingly.

[1] https://dbus.freedesktop.org/doc/dbus-specification.html, section "Valid
Object Paths".

STEPS TO REPRODUCE
1. create a seat that contains e.g. '-' in the name
2. login to this seat
3. just try searching something in kickoff menu, or lock a screen and the
component will crash

Alternative is to simply do a dbus call that e.g. kickoff is doing when
searching for something in the menu:
```"""
dbus-send --print-reply --dest=org.freedesktop.DisplayManager
/org/freedesktop/DisplayManager/Seat-ves
org.freedesktop.DBus.Introspectable.Introspect
"""

OBSERVED RESULT

Components crashing

EXPECTED RESULT

Unsupported DBUS paths should be validated and errors should be logged or
preferably a warning should be shown to the user stating that the name of the
seat is invalid. 

I do not have a context wrt. why assertions in the code are made instead, but
IMO handling this error gracefully could help novice users debug this problem
in the future.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: see the form data I entered
Qt Version: 5.15.3

System is stock Ubuntu 22.04 LTS.

ADDITIONAL INFORMATION

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