Subject: bug#79343: Hung after xinput remove-master

From: Fake Baka <[email-masked]>
Date: Tue, 2 Sep 2025 13:48:13 +0300

(gdb) frame 10
#10 0x0000555555705a0d in xi_disable_devices (dpyinfo=0x55555649d8d0,
to_disable=0x7fffffffbbc0, n_disabled=4) at xterm.c:13966
13966     xfree (dpyinfo->devices);
(gdb) list
13961             continue;
13962           }
13963       }
13964
13965     /* Free the old devices array and replace it with ndevices.  */
13966     xfree (dpyinfo->devices);
13967
13968     dpyinfo->devices = devices;
13969     dpyinfo->num_devices = ndevices;
13970   }

On Sun, Aug 31, 2025 at 7:53 AM Po Lu <[email-masked]> wrote:

> Fake Baka <[email-masked]> writes:
>
> > Thread 1 "emacs" received signal SIGABRT, Aborted.
> > 0x00007ffff311e95c in ?? () from /lib/x86_64-linux-gnu/libc.so.6
> > #0  0x00007ffff311e95c in ??? () at /lib/x86_64-linux-gnu/libc.so.6
> > #1  0x00007ffff30c9cc2 in raise () at /lib/x86_64-linux-gnu/libc.so.6
> > #2  0x00007ffff30b24ac in abort () at /lib/x86_64-linux-gnu/libc.so.6
> > #3  0x00007ffff30b3291 in ??? () at /lib/x86_64-linux-gnu/libc.so.6
> > #4  0x00007ffff3128465 in ??? () at /lib/x86_64-linux-gnu/libc.so.6
> > #5  0x00007ffff312914c in ??? () at /lib/x86_64-linux-gnu/libc.so.6
> > #6  0x00007ffff312a4f8 in ??? () at /lib/x86_64-linux-gnu/libc.so.6
> > #7  0x00007ffff312a690 in ??? () at /lib/x86_64-linux-gnu/libc.so.6
> > #8  0x00007ffff312d3c0 in free () at /lib/x86_64-linux-gnu/libc.so.6
> > #9  0x000055555580dbf6 in xfree (block=0x555556860a80) at alloc.c:831
> > #10 0x0000555555705a0d in xi_disable_devices (dpyinfo=0x55555649d920,
> to_disable=0x7fffffffbb90, n_disabled=4) at xterm.c:13966
> >         devices = 0x555556f21380
> >         ndevices = 48
> >         i = 13
> >         j = 4
> >         tem = 0x0
> >         last = 0x55555571f55a <x_uncatch_errors+268>
> > #11 0x000055555571bbeb in handle_one_xevent (dpyinfo=0x55555649d920,
> event=0x7fffffffc840, finish=0x5555561017d4 <current_finish>,
> > hold_quit=0x7fffffffcb40) at xterm.c:24756
> >         hev = 0x5555562ddb30
> >         info = 0x0
> >         i = 13
> >         disabled = 0x7fffffffbb90
> >         device = 0x0
> >         any_changed = false
> >         ndevices = -15416
> >         n_disabled = 4
> >         must_free_data = false
> >         xi_event = 0x5555562ddb30
> >         xev = 0x5555562ddb30
> >         bar = 0x0
> >         inev = {kind = NO_EVENT, ie = {kind = NO_EVENT, part =
> scroll_bar_nowhere, code = 0, modifiers = 0, x = {i = 0x0}, y = {i = 0x0},
> > timestamp = 0, frame_or_window = {i = 0x0}, arg = {i = 0x0}, device = {i
> = 0x30}}, sie = {kind = NO_EVENT, dpyinfo = 0x0, requestor = 0,
> > selection = 0, target = 0, property = 0, time = 0}}
> >         count = 0
> >         do_help = 0
> >         gen_help_device = 0x0
> >         gen_help_time = 3
> >         nbytes = 0
> >         any = 0x0
> >         f = 0x0
> >         mouse_frame = 0x1000100000004
> >         hlinfo = 0x55555649da20
> >         compose_status = {compose_ptr = 0x0, chars_matched = 0}
> >         configureEvent = {type = 1179670611, xany = {type = 1179670611,
> serial = 7, send_event = 832, display = 0x0, window = 0}, xkey = {type =
> > 1179670611, serial = 7, send_event = 832, display = 0x0, window = 0,
> root = 0, subwindow = 7, time = 0, x = 0, y = 0, x_root = 0, y_root = 0,
> state =
> > 0, keycode = 0, same_screen = 0}, xbutton = {type = 1179670611, serial =
> 7, send_event = 832, display = 0x0, window = 0, root = 0, subwindow =
> > 7, time = 0, x = 0, y = 0, x_root = 0, y_root = 0, state = 0, button =
> 0, same_screen = 0}, xmotion = {type = 1179670611, serial = 7, send_event =
> > 832, display = 0x0, window = 0, root = 0, subwindow = 7, time = 0, x =
> 0, y = 0, x_root = 0, y_root = 0, state = 0, is_hint = 0 '\000',
> same_screen =
> > 0}, xcrossing = {type = 1179670611, serial = 7, send_event = 832,
> display = 0x0, window = 0, root = 0, subwindow = 7, time = 0, x = 0, y = 0,
> > x_root = 0, y_root = 0, mode = 0, detail = 0, same_screen = 0, focus =
> 0, state = 0}, xfocus = {type = 1179670611, serial = 7, send_event = 832,
> > display = 0x0, window = 0, mode = 0, detail = 0}, xexpose = {type =
> 1179670611, serial = 7, send_event = 832, display = 0x0, window = 0, x = 0,
> y
> > = 0, width = 7, height = 0, count = 0}, xgraphicsexpose = {type =
> 1179670611, serial = 7, send_event = 832, display = 0x0, drawable = 0, x =
> 0, y =
> > 0, width = 7, height = 0, count = 0, major_code = 0, minor_code = 0},
> xnoexpose = {type = 1179670611, serial = 7, send_event = 832, display =
> > 0x0, drawable = 0, major_code = 0, minor_code = 0}, xvisibility = {type
> = 1179670611, serial = 7, send_event = 832, display = 0x0, window = 0,
> > state = 0}, xcreatewindow = {type = 1179670611, serial = 7, send_event =
> 832, display = 0x0, parent = 0, window = 0, x = 7, y = 0, width = 0,
> > height = 0, border_width = 0, override_redirect = 0}, xdestroywindow =
> {type = 1179670611, serial = 7, send_event = 832, display = 0x0, event =
> > 0, window = 0}, xunmap = {type = 1179670611, serial = 7, send_event =
> 832, display = 0x0, event = 0, window = 0, from_configure = 7}, xmap =
> > {type = 1179670611, serial = 7, send_event = 832, display = 0x0, event =
> 0, window = 0, override_redirect = 7}, xmaprequest = {type =
> > 1179670611, serial = 7, send_event = 832, display = 0x0, parent = 0,
> window = 0}, xreparent = {type = 1179670611, serial = 7, send_event = 832,
> > display = 0x0, event = 0, window = 0, parent = 7, x = 0, y = 0,
> override_redirect = 0}, xconfigure = {type = 1179670611, serial = 7,
> send_event =
> > 832, display = 0x0, event = 0, window = 0, x = 7, y = 0, width = 0,
> height = 0, border_width = 0, above = 0, override_redirect = 0}, xgravity =
> {type
> > = 1179670611, serial = 7, send_event = 832, display = 0x0, event = 0,
> window = 0, x = 7, y = 0}, xresizerequest = {type = 1179670611, serial = 7,
> > send_event = 832, display = 0x0, window = 0, width = 0, height = 0},
> xconfigurerequest = {type = 1179670611, serial = 7, send_event = 832,
> display
> > = 0x0, parent = 0, window = 0, x = 7, y = 0, width = 0, height = 0,
> border_width = 0, above = 0, detail = 0, value_mask = 0}, xcirculate =
> {type =
> > 1179670611, serial = 7, send_event = 832, display = 0x0, event = 0,
> window = 0, place = 7}, xcirculaterequest = {type = 1179670611, serial = 7,
> > send_event = 832, display = 0x0, parent = 0, window = 0, place = 7},
> xproperty = {type = 1179670611, serial = 7, send_event = 832, display = 0x0,
> > window = 0, atom = 0, time = 7, state = 0}, xselectionclear = {type =
> 1179670611, serial = 7, send_event = 832, display = 0x0, window = 0,
> > selection = 0, time = 7}, xselectionrequest = {type = 1179670611, serial
> = 7, send_event = 832, display = 0x0, owner = 0, requestor = 0, selection =
> > 7, target = 0, property = 0, time = 0}, xselection = {type = 1179670611,
> serial = 7, send_event = 832, display = 0x0, requestor = 0, selection = 0,
> > target = 7, property = 0, time = 0}, xcolormap = {type = 1179670611,
> serial = 7, send_event = 832, display = 0x0, window = 0, colormap = 0, new
> > = 7, state = 0}, xclient = {type = 1179670611, serial = 7, send_event =
> 832, display = 0x0, window = 0, message_type = 0, format = 7, data = {b =
> > '\000' <repeats 19 times>, s = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, l = {0,
> 0, 0, 0, 0}}}, xmapping = {type = 1179670611, serial = 7, send_event = 832,
> > display = 0x0, window = 0, request = 0, first_keycode = 0, count = 7},
> xerror = {type = 1179670611, display = 0x7, resourceid = 832, serial = 0,
> > error_code = 0 '\000', request_code = 0 '\000', minor_code = 0 '\000'},
> xkeymap = {type = 1179670611, serial = 7, send_event = 832, display = 0x0,
> > window = 0, key_vector = "\000\000\000\000\000\000\000\000\a", '\000'
> <repeats 22 times>}, xgeneric = {type = 1179670611, serial = 7,
> > send_event = 832, display = 0x0, extension = 0, evtype = 0}, xcookie =
> {type = 1179670611, serial = 7, send_event = 832, display = 0x0, extension =
> > 0, evtype = 0, cookie = 0, data = 0x7}, pad = {3591772330067, 7, 832, 0,
> 0, 0, 7, 0 <repeats 16 times>, 140737271480508}}
> >         next_event = {type = 1868783959, xany = {type = 1868783959,
> serial = 8305844016384141682, send_event = 543451500, display =
> > 0x6f6974617a69726f, window = 8026381506781007982}, xkey = {type =
> 1868783959, serial = 8305844016384141682, send_event = 543451500,
> > display = 0x6f6974617a69726f, window = 8026381506781007982, root =
> 7022922066854682732, subwindow = 4631487783038982554, time = 0, x
> > = 0, y = 1074790400, x_root = 0, y_root = 0, state = 0, keycode =
> 1072693248, same_screen = 0}, xbutton = {type = 1868783959, serial =
> > 8305844016384141682, send_event = 543451500, display =
> 0x6f6974617a69726f, window = 8026381506781007982, root =
> > 7022922066854682732, subwindow = 4631487783038982554, time = 0, x = 0, y
> = 1074790400, x_root = 0, y_root = 0, state = 0, button =
> > 1072693248, same_screen = 0}, xmotion = {type = 1868783959, serial =
> 8305844016384141682, send_event = 543451500, display =
> > 0x6f6974617a69726f, window = 8026381506781007982, root =
> 7022922066854682732, subwindow = 4631487783038982554, time = 0, x = 0, y =
> > 1074790400, x_root = 0, y_root = 0, state = 0, is_hint = 0 '\000',
> same_screen = 0}, xcrossing = {type = 1868783959, serial =
> > 8305844016384141682, send_event = 543451500, display =
> 0x6f6974617a69726f, window = 8026381506781007982, root =
> > 7022922066854682732, subwindow = 4631487783038982554, time = 0, x = 0, y
> = 1074790400, x_root = 0, y_root = 0, mode = 0, detail =
> > 1072693248, same_screen = 0, focus = 0, state = 0}, xfocus = {type =
> 1868783959, serial = 8305844016384141682, send_event = 543451500,
> > display = 0x6f6974617a69726f, window = 8026381506781007982, mode =
> 673194092, detail = 1635151465}, xexpose = {type = 1868783959,
> > serial = 8305844016384141682, send_event = 543451500, display =
> 0x6f6974617a69726f, window = 8026381506781007982, x = 673194092, y =
> > 1635151465, width = -1717986918, height = 1078352281, count = 0},
> xgraphicsexpose = {type = 1868783959, serial = 8305844016384141682,
> > send_event = 543451500, display = 0x6f6974617a69726f, drawable =
> 8026381506781007982, x = 673194092, y = 1635151465, width = -
> > 1717986918, height = 1078352281, count = 0, major_code = 0, minor_code =
> 0}, xnoexpose = {type = 1868783959, serial =
> > 8305844016384141682, send_event = 543451500, display =
> 0x6f6974617a69726f, drawable = 8026381506781007982, major_code = 673194092,
> > minor_code = 1635151465}, xvisibility = {type = 1868783959, serial =
> 8305844016384141682, send_event = 543451500, display =
> > 0x6f6974617a69726f, window = 8026381506781007982, state = 673194092},
> xcreatewindow = {type = 1868783959, serial =
> > 8305844016384141682, send_event = 543451500, display =
> 0x6f6974617a69726f, parent = 8026381506781007982, window =
> > 7022922066854682732, x = -1717986918, y = 1078352281, width = 0, height
> = 0, border_width = 0, override_redirect = 1074790400},
> > xdestroywindow = {type = 1868783959, serial = 8305844016384141682,
> send_event = 543451500, display = 0x6f6974617a69726f, event =
> > 8026381506781007982, window = 7022922066854682732}, xunmap = {type =
> 1868783959, serial = 8305844016384141682, send_event =
> > 543451500, display = 0x6f6974617a69726f, event = 8026381506781007982,
> window = 7022922066854682732, from_configure = -1717986918},
> > xmap = {type = 1868783959, serial = 8305844016384141682, send_event =
> 543451500, display = 0x6f6974617a69726f, event =
> > 8026381506781007982, window = 7022922066854682732, override_redirect =
> -1717986918}, xmaprequest = {type = 1868783959, serial =
> > 8305844016384141682, send_event = 543451500, display =
> 0x6f6974617a69726f, parent = 8026381506781007982, window =
> > 7022922066854682732}, xreparent = {type = 1868783959, serial =
> 8305844016384141682, send_event = 543451500, display =
> > 0x6f6974617a69726f, event = 8026381506781007982, window =
> 7022922066854682732, parent = 4631487783038982554, x = 0, y = 0,
> > override_redirect = 0}, xconfigure = {type = 1868783959, serial =
> 8305844016384141682, send_event = 543451500, display =
> > 0x6f6974617a69726f, event = 8026381506781007982, window =
> 7022922066854682732, x = -1717986918, y = 1078352281, width = 0, height = 0,
> > border_width = 0, above = 0, override_redirect = 0}, xgravity = {type =
> 1868783959, serial = 8305844016384141682, send_event = 543451500,
> > display = 0x6f6974617a69726f, event = 8026381506781007982, window =
> 7022922066854682732, x = -1717986918, y = 1078352281},
> > xresizerequest = {type = 1868783959, serial = 8305844016384141682,
> send_event = 543451500, display = 0x6f6974617a69726f, window =
> > 8026381506781007982, width = 673194092, height = 1635151465},
> xconfigurerequest = {type = 1868783959, serial = 8305844016384141682,
> > send_event = 543451500, display = 0x6f6974617a69726f, parent =
> 8026381506781007982, window = 7022922066854682732, x = -1717986918, y =
> > 1078352281, width = 0, height = 0, border_width = 0, above = 0, detail =
> 0, value_mask = 0}, xcirculate = {type = 1868783959, serial =
> > 8305844016384141682, send_event = 543451500, display =
> 0x6f6974617a69726f, event = 8026381506781007982, window =
> > 7022922066854682732, place = -1717986918}, xcirculaterequest = {type =
> 1868783959, serial = 8305844016384141682, send_event = 543451500,
> > display = 0x6f6974617a69726f, parent = 8026381506781007982, window =
> 7022922066854682732, place = -1717986918}, xproperty = {type =
> > 1868783959, serial = 8305844016384141682, send_event = 543451500,
> display = 0x6f6974617a69726f, window = 8026381506781007982, atom =
> > 7022922066854682732, time = 4631487783038982554, state = 0},
> xselectionclear = {type = 1868783959, serial = 8305844016384141682,
> > send_event = 543451500, display = 0x6f6974617a69726f, window =
> 8026381506781007982, selection = 7022922066854682732, time =
> > 4631487783038982554}, xselectionrequest = {type = 1868783959, serial =
> 8305844016384141682, send_event = 543451500, display =
> > 0x6f6974617a69726f, owner = 8026381506781007982, requestor =
> 7022922066854682732, selection = 4631487783038982554, target = 0,
> > property = 4616189618054758400, time = 0}, xselection = {type =
> 1868783959, serial = 8305844016384141682, send_event = 543451500, display
> > = 0x6f6974617a69726f, requestor = 8026381506781007982, selection =
> 7022922066854682732, target = 4631487783038982554, property = 0,
> > time = 4616189618054758400}, xcolormap = {type = 1868783959, serial =
> 8305844016384141682, send_event = 543451500, display =
> > 0x6f6974617a69726f, window = 8026381506781007982, colormap =
> 7022922066854682732, new = -1717986918, state = 1078352281}, xclient =
> > {type = 1868783959, serial = 8305844016384141682, send_event =
> 543451500, display = 0x6f6974617a69726f, window = 8026381506781007982,
> > message_type = 7022922066854682732, format = -1717986918, data = {b =
> '\000' <repeats 14 times>, "\020@\000\000\000", s = {0, 0, 0, 0, 0, 0, 0,
> > 16400, 0, 0}, l = {0, 4616189618054758400, 0, 4607182418800017408, 0}}},
> xmapping = {type = 1868783959, serial = 8305844016384141682,
> > send_event = 543451500, display = 0x6f6974617a69726f, window =
> 8026381506781007982, request = 673194092, first_keycode = 1635151465,
> > count = -1717986918}, xerror = {type = 1868783959, display =
> 0x734449206c616972, resourceid = 7526769937258670444, serial =
> > 8028075772779000431, error_code = 110 'n', request_code = 80 'P',
> minor_code = 114 'r'}, xkeymap = {type = 1868783959, serial =
> > 8305844016384141682, send_event = 543451500, display =
> 0x6f6974617a69726f, window = 8026381506781007982, key_vector = "l
> > (inva\232\231\231\231\231YF@", '\000' <repeats 14 times>, "\020@"},
> xgeneric = {type = 1868783959, serial = 8305844016384141682, send_event
> > = 543451500, display = 0x6f6974617a69726f, extension = 1869762670,
> evtype = 1868787572}, xcookie = {type = 1868783959, serial =
> > 8305844016384141682, send_event = 543451500, display =
> 0x6f6974617a69726f, extension = 1869762670, evtype = 1868787572, cookie =
> > 673194092, data = 0x404659999999999a}, pad = {7301215075290014039,
> 8305844016384141682, 7526769937258670444,
> > 8028075772779000431, 8026381506781007982, 7022922066854682732,
> 4631487783038982554, 0, 4616189618054758400, 0,
> > 4607182418800017408, 0, 0, 0, 0, 0, 4607182418800017408, 0,
> 93824994520491, 124554051588, 140737488340864, 0, 140737250722240, 0}}
> >         coding = {i = 0x0}
> >         dx = 0
> >         dy = 13
> >         sa_avail = 16332
> >         sa_count = {bytes = 192}
> > #12 0x000055555570c7d5 in event_handler_gdk (gxev=0x7fffffffc840,
> ev=0x555556689210, data=0x0) at xterm.c:17999
> >         dpyinfo = 0x55555649d920
> >         xev = 0x7fffffffc840
> > #13 0x00007ffff7d5517f in ??? () at /lib/x86_64-linux-gnu/libgdk-3.so.0
> > #14 0x00007ffff7d5555e in ??? () at /lib/x86_64-linux-gnu/libgdk-3.so.0
> > #15 0x00007ffff7cf9e24 in gdk_display_get_event () at
> /lib/x86_64-linux-gnu/libgdk-3.so.0
> > #16 0x00007ffff7d55216 in ??? () at /lib/x86_64-linux-gnu/libgdk-3.so.0
> > #17 0x00007ffff6dec3c5 in ??? () at
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> > #18 0x00007ffff6dee5f7 in ??? () at
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> > #19 0x00007ffff6deed60 in g_main_context_iteration () at
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> > #20 0x00007ffff7607109 in gtk_main_iteration () at
> /lib/x86_64-linux-gnu/libgtk-3.so.0
> > #21 0x000055555571da45 in XTread_socket (terminal=0x55555634ebb8,
> hold_quit=0x7fffffffcb40) at xterm.c:25769
> >         count = 0
> >         event_found = false
> >         dpyinfo = 0x55555649d920
> > #22 0x0000555555782817 in gobble_input () at keyboard.c:7919
> >         nr = 0
> >         hold_quit = {kind = NO_EVENT, part = scroll_bar_nowhere, code =
> 0, modifiers = 0, x = {i = 0x0}, y = {i = 0x0}, timestamp = 0,
> > frame_or_window = {i = 0x0}, arg = {i = 0x0}, device = {i = 0x30}}
> >         next = 0x0
> >         nread = 0
> >         err = false
> >         t = 0x55555634ebb8
>
> Could you move to frame #10 and type "l" to display which xfree call is
> producing the abort?
>