Bug 101853

Summary: [Regression][bisected][crash] in 4aeb3cc018: assertion fails in lid_switch_process()
Product: Wayland Reporter: freedesktop
Component: libinputAssignee: Wayland bug list <wayland-bugs>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: freedesktop, peter.hutterer
Version: unspecified   
Hardware: ARM   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: evemu-record log

Description freedesktop 2017-07-20 13:43:30 UTC
libinput seems to wrongly assumes that the input device generating lid events will only generate EV_SW and EV_SYN events (see lid_switch_process). On a Chromebook Oak (and possibly other Chromebooks), the same input device handles both lid events and presses of the power button. Pressing the power button generates events of type EV_KEY, causing the assert in lid_switch_process() to fail, crashing Xorg. This is a regression introduced by commit 4aeb3cc018.
Comment 1 Peter Hutterer 2017-07-24 23:23:44 UTC
Can you attach an evemu-record for this device please, I'd like to add it to the list of test devices. THanks.
Comment 3 freedesktop 2017-07-25 14:55:56 UTC
Created attachment 132961 [details]
evemu-record log

I'm attaching an evemu log showing all actions handled by this device that I'm aware of.
Comment 4 Peter Hutterer 2017-07-27 09:34:55 UTC
commit 6bb05c594a73cee2ed9cf62af88fdcab4011f57a (HEAD -> master, origin/master, github/master, wip/disable-types-for-lid-switch)
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 25 09:38:46 2017 +1000

    lid: disable all types but EV_SYN and EV_SW


Note that this is a temporary workaround for the crash, you'll lose the volume keys and the power button because it'll all gets disabled. Please file a separate bug for "Allow key events from lid switches" and assign it to me, I'll try to get to that asap.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.