On Sat, Aug 27, 2022 at 01:07:30PM +0200, Walter Alejandro Iglesias wrote:
> X crashes when moving cursor from keyboard bindings.  I can reproduce
> the bug with cwm, fvwm or fvwm2 (because this window managers have that
> option).  According to the logs the cause could be in wsmouse.
> 
> **IT'S NOT EASY TO REPRODUCE IT**.  Generally, but not necessarily is
> easier right after X started (when wsmouse is still being loaded), and
> stressing it, changing fast the direction.
>

Hi,

I also cannot reproduce it, however, I've some idea on what could be
happening.

Can you try the patch below ? It adds locking with the input thread of
the X server while adding new devices.

Index: config/wscons.c
===================================================================
RCS file: /cvs/OpenBSD/xenocara/xserver/config/wscons.c,v
retrieving revision 1.25
diff -u -r1.25 wscons.c
--- config/wscons.c     11 Jun 2019 14:51:34 -0000      1.25
+++ config/wscons.c     29 Aug 2022 18:53:31 -0000
@@ -113,9 +113,12 @@
     }
     close(fd);
 
+    input_lock();
     input_options = input_option_new(input_options, "_source", 
"server/wscons");
-    if (input_options == NULL)
+    if (input_options == NULL) {
+        input_unlock();
         return;
+    }
 
     LogMessage(X_INFO, "config/wscons: checking input device %s\n",
                WSCONS_KBD_DEVICE);
@@ -178,6 +181,7 @@
     }
  unwind:
     input_option_free_list(&input_options);
+    input_unlock();
 }
 
 static void
@@ -194,9 +198,12 @@
     if (!config_info)
         return;
 
+    input_lock();
     input_options = input_option_new(input_options, "_source", 
"server/wscons");
-    if (input_options == NULL)
+    if (input_options == NULL) {
+        input_unlock();
         return;
+    }
 
     input_options = input_option_new(input_options, "name", strdup(path));
     input_options = input_option_new(input_options, "driver", strdup(driver));
@@ -213,6 +220,7 @@
     }
  unwind:
     input_option_free_list(&input_options);
+    input_unlock();
 }
 
 static void

-- 
Matthieu Herrb

Reply via email to