| Summary: | Dragging the palm across touchpad crashes : Assertion `tp->tap.nfingers_down >= 1' failed. | ||
|---|---|---|---|
| Product: | Wayland | Reporter: | quantumphoton007 |
| Component: | libinput | Assignee: | Wayland bug list <wayland-bugs> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | major | ||
| Priority: | high | CC: | peter.hutterer, quantumphoton007 |
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux (All) | ||
| Whiteboard: | |||
| i915 platform: | i915 features: | ||
| Attachments: |
Stacktrace of crash
evemu log (during crash) |
||
Created attachment 137830 [details]
evemu log (during crash)
For a newbie, how would I go about patching this issue? What steps do you usually follow with the log and evemu log? I believe this commit adds the assertion - 01a633b6ebea514cc26bb00f2bf85789fe5409e3 Looks like a dupe of bug 105258. There's still a bug warning replaying this but it doesn't crash after 440d94be57. > Physical Dimension of touchpad (the actual area, without including buttons) > Width = 10.8 cm > Height = 6.1 cm please run the touchpad-edge-detector, this needs to be fixed in a hwdb entry. > For a newbie, how would I go about patching this issue? What steps do you > usually follow with the log and evemu log? basically: in one terminal: sudo evemu-play evemu.log file in the other terminal: sudo ./build/libinput-debug-events --enalbe-tap hit enter for evemu-play, watch libinput crash, warn, or sail along smoothly. If the former, run in gdb to get an idea of what the context is (if needed, in this case it's easy enough). Isolate the event sequence that triggers the crash (where needed/possible). Then stare at the evemu log long enough until it's clear why the crash happens. Write a test case for libinput, then keep failing that until the bug is fixed or a goat needs to be sacrificed [1], whichever happens earlier. [1] no animals were harmed in the making of this software *** This bug has been marked as a duplicate of bug 105258 *** This one fixes the bug warning:
commit 2ab233857d42d942eb322888e2d87ba3b7f7b264
Author: Peter Hutterer <>
Date: Wed Mar 7 10:58:17 2018 +1000
touchpad: handle a palm down in the tapped state
(In reply to Peter Hutterer from comment #4) > Looks like a dupe of bug 105258. There's still a bug warning replaying this > but it doesn't crash after 440d94be57. > > > Physical Dimension of touchpad (the actual area, without including buttons) > > Width = 10.8 cm > > Height = 6.1 cm > > please run the touchpad-edge-detector, this needs to be fixed in a hwdb > entry. > $ touchpad-edge-detector 108x61 /dev/input/event16 Touchpad Synaptics TM2382-001 on /dev/input/event16 Move one finger around the touchpad to detect the actual edges Kernel says: x [0..2560], y [0..2048] Touchpad sends: x [0..2560], y [0..2048] I need the full output please, you cut off exactly the bits we need :) Hi, Apologies :). I didn't think the command would spit more output on Ctrl+C. Touchpad size as listed by the kernel: 98x53mm User-specified touchpad size: 108x61mm Calculated ranges: 2560/2048 Suggested udev rule: # Dell Inspiron 3537 evdev:name:Synaptics TM2382-001:dmi:bvnDellInc.:bvrA09:bd08/25/2016:svnDellInc.:pnInspiron3537:pvrA09:rvnDellInc.:rn:rvr:cvnDellInc.:ct8:cvrA09:* EVDEV_ABS_00=0:2560:24 EVDEV_ABS_01=0:2048:34 EVDEV_ABS_35=0:2560:24 EVDEV_ABS_36=0:2048:34 the edge detector shows the device as Synaptics TM2382-001 but the evemu log shows it as "SynPS/2 Synaptics TouchPad". did you update your kernel since that you now have the RMI4 device? Sorry for the confusion. The one with synaptics_intertouch=0 crashes, but the other one doesn't. $ sudo modprobe -r psmouse; sudo modprobe psmouse synaptics_intertouch=0 $ touchpad-edge-detector 108x61 /dev/input/event16 Touchpad SynPS/2 Synaptics TouchPad on /dev/input/event16 Move one finger around the touchpad to detect the actual edges Kernel says: x [1268..5674], y [1098..4754] Touchpad sends: x [1268..5675], y [1101..4792] Touchpad size as listed by the kernel: 100x53mm User-specified touchpad size: 108x61mm Calculated ranges: 4407/3691 Suggested udev rule: # Dell Inspiron 3537 evdev:name:SynPS/2 Synaptics TouchPad:dmi:bvnDellInc.:bvrA09:bd08/25/2016:svnDellInc.:pnInspiron3537:pvrA09:rvnDellInc.:rn:rvr:cvnDellInc.:ct8:cvrA09:* EVDEV_ABS_00=1268:5675:41 EVDEV_ABS_01=1101:4792:61 EVDEV_ABS_35=1268:5675:41 EVDEV_ABS_36=1101:4792:61 ----------------------------------------------------------------------- $ sudo modprobe -r psmouse; sudo modprobe psmouse synaptics_intertouch=1 $ touchpad-edge-detector 108x61 /dev/input/event16 Touchpad Synaptics TM2382-001 on /dev/input/event16 Move one finger around the touchpad to detect the actual edges Kernel says: x [0..2560], y [0..2048] Touchpad sends: x [0..2560], y [0..2048] Touchpad size as listed by the kernel: 98x53mm User-specified touchpad size: 108x61mm Calculated ranges: 2560/2048 Suggested udev rule: # Dell Inspiron 3537 evdev:name:Synaptics TM2382-001:dmi:bvnDellInc.:bvrA09:bd08/25/2016:svnDellInc.:pnInspiron3537:pvrA09:rvnDellInc.:rn:rvr:cvnDellInc.:ct8:cvrA09:* EVDEV_ABS_00=0:2560:24 EVDEV_ABS_01=0:2048:34 EVDEV_ABS_35=0:2560:24 EVDEV_ABS_36=0:2048:34 PR submitted to systemd, please give this a test though to make sure I didn't add any typos: https://github.com/systemd/systemd/pull/8388 Thanks https://github.com/systemd/systemd/pull/8388 was merged. Please test. |
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.
Created attachment 137829 [details] Stacktrace of crash I dragged my palm across the touchpad and X crashed. I have attached what X printed as `err.log`. Simply stating, `../libinput-1.10.1/src/evdev-mt-touchpad-tap.c:1028: tp_tap_handle_state: Assertion `tp->tap.nfingers_down >= 1' failed`. The weird thing is, when I `modprobe psmouse synaptics_intertouch=1`, this crash doesn't occur however weird I try dragging my palm across the touchpad. But on unloading and `modprobe psmouse synaptics_intertouch=0` and then dragging my palm across, this crash happens. $ udevadm info /sys/class/input/event16 P: /devices/rmi4-00/input/input18/event16 N: input/event16 E: DEVNAME=/dev/input/event16 E: DEVPATH=/devices/rmi4-00/input/input18/event16 E: ID_BUS=rmi E: ID_INPUT=1 E: ID_INPUT_HEIGHT_MM=53 E: ID_INPUT_TOUCHPAD=1 E: ID_INPUT_TOUCHPAD_INTEGRATION=internal E: ID_INPUT_WIDTH_MM=98 E: ID_SERIAL=noserial E: LIBINPUT_DEVICE_GROUP=1d/6cb/0:rmi4-00 E: MAJOR=13 E: MINOR=80 E: SUBSYSTEM=input E: USEC_INITIALIZED=15414239 $ libinput --version 1.10.1 Vendor : Dell Inspiron 3537 $ cat /sys/class/dmi/id/modalias dmi:bvnDellInc.:bvrA09:bd08/25/2016:svnDellInc.:pnInspiron3537:pvrA09:rvnDellInc.:rn:rvr:cvnDellInc.:ct8:cvrA09: Physical Dimension of touchpad (the actual area, without including buttons) Width = 10.8 cm Height = 6.1 cm The touchpad has two physical buttons (L, R)