FS#67991 - [gpm] Race condition with systemd service

Attached to Project: Arch Linux
Opened by Lukas Fink (lukas.fink1) - Friday, 25 September 2020, 01:50 GMT
Last edited by Christian Hesse (eworm) - Friday, 25 September 2020, 13:59 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Christian Hesse (eworm)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

There seems to be a race condition between udev creating /dev/input/mice and gpm being started.

I observed this problem on two different laptops (with NVMe SSDs), where an enabled gpm.service won’t get started.
On a PC with an HDD it works fine. Also the service can be started manually later on on those laptops.

# systemctl status gpm
● gpm.service - Virtual console mouse server
Loaded: loaded (/usr/lib/systemd/system/gpm.service; enabled; vendor preset: disabled)
Active: inactive (dead)
Condition: start condition failed at Fri 2020-09-25 03:00:48 CEST; 25s ago
└─ ConditionPathExists=/dev/input/mice was not met

Sep 25 03:00:48 lukas-nb systemd[1]: Condition check resulted in Virtual console mouse server being skipped.
This task depends upon

Closed by  Christian Hesse (eworm)
Friday, 25 September 2020, 13:59 GMT
Reason for closing:  Fixed
Additional comments about closing:  gpm 1.20.7.r38.ge82d1a6-3
Comment by Lukas Fink (lukas.fink1) - Friday, 25 September 2020, 12:03 GMT
I currently solved this with the following changes, though it might not be the most elegant solution:

--- /usr/lib/systemd/system/gpm.service 2020-09-15 17:04:19.000000000 +0200
+++ /etc/systemd/system/gpm.service 2020-09-25 03:57:58.461807627 +0200
@@ -1,9 +1,10 @@
[Unit]
Description=Virtual console mouse server
Requires=systemd-udevd.service
After=systemd-udevd.service
-ConditionPathExists=/dev/input/mice

[Service]
Type=forking
+Restart=always
+RestartSec=5
ExecStart=/usr/bin/gpm -m /dev/input/mice -t imps2
Comment by Christian Hesse (eworm) - Friday, 25 September 2020, 13:58 GMT
gpm 1.20.7.r38.ge82d1a6-3 should fix the race condition.

Loading...