Summary: | Crash when opening Discover (maybe fwupd?) with a tablet connected | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Aleix Pol <aleixpol> |
Component: | wayland-generic | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | kde, nate |
Priority: | NOR | ||
Version: | git master | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/plasma/kwin/commit/ccc5551ff000d73d5bcbd507cdf6c5e0f116abd7 | Version Fixed In: | 5.22 |
Description
Aleix Pol
2021-04-28 00:46:20 UTC
From the trace it would appear like libinput_device_group_get_user_data doesn't get cleared when we remove a device. i.e we call integrateDevice: auto tablet = static_cast<KWaylandServer::TabletV2Interface *>(libinput_device_group_get_user_data(deviceGroup)); this is null, so we create a tablet and set the user data then we create our tablet device but then due to fwupd we call removeDevice() on both the tablet and tablet device This does not explicitly call `libinput_device_group_set_user_data(myObject, null); So the next time we add a device libinput_device_group_get_user_data returns a dangling pointer. A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/908 Git commit ccc5551ff000d73d5bcbd507cdf6c5e0f116abd7 by David Edmundson. Committed on 28/04/2021 at 22:43. Pushed by davidedmundson into branch 'master'. [Input] Unset device group user data on teardown M +11 -2 src/input.cpp https://invent.kde.org/plasma/kwin/commit/ccc5551ff000d73d5bcbd507cdf6c5e0f116abd7 |