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.
Can you attach an evemu-record for this device please, I'd like to add it to the list of test devices. THanks.
Created attachment 132961 [details]
I'm attaching an evemu log showing all actions handled by this device that I'm aware of.
commit 6bb05c594a73cee2ed9cf62af88fdcab4011f57a (HEAD -> master, origin/master, github/master, wip/disable-types-for-lid-switch)
Author: Peter Hutterer <email@example.com>
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.