Subject: crash with "gdk_device_get_name: assertion 'GDK_IS_DEVICE (device)' failed" error on kde 6.3, fedora 41

From: समीर सिंह Sameer Singh<[email-masked]>
Date: Thu, 13 Feb 2025 02:21:00 +0530

after upgrading to kde 6.3 on my fedora 41 machine, emacs fails to
start with the following error
---------------------------------------------------------------------------------------------------------------
(emacs:84925): Gdk-CRITICAL **: 02:00:31.252: gdk_device_get_name:
assertion 'GDK_IS_DEVICE (device)' failed

(emacs:84925): Gdk-CRITICAL **: 02:00:31.252: gdk_device_get_source:
assertion 'GDK_IS_DEVICE (device)' failed
Fatal error 11: Segmentation fault
Backtrace:
./src/emacs() [0x597900]
./src/emacs() [0x561cb6]
./src/emacs() [0x5971b3]
./src/emacs() [0x597188]
./src/emacs() [0x5971ea]
./src/emacs() [0x597384]
/lib64/libc.so.6(+0x1a050) [0x7f42c5227050]
/lib64/libc.so.6(+0x14c405) [0x7f42c5359405]
./src/emacs() [0x6dea8a]
./src/emacs() [0x6df067]
./src/emacs() [0x60426f]
./src/emacs() [0x748c4b]
./src/emacs() [0x75d6b6]
./src/emacs() [0x7420d2]
./src/emacs() [0x646448]
./src/emacs() [0x6a2436]
./src/emacs() [0x646a3f]
./src/emacs() [0x645e3b]
./src/emacs() [0x6460ee]
./src/emacs() [0x6451e5]
./src/emacs() [0x64663e]
./src/emacs() [0x6a2436]
./src/emacs() [0x646a3f]
./src/emacs() [0x645e3b]
./src/emacs() [0x6460ee]
/home/ss141309/code/emacs/src/../native-lisp/31.0.50-f92e8814/preloaded/startup-bbc6ea72-51eb976c.eln(F636f6d6d616e642d6c696e65_command_line_0+0x131d)
[0x7f42c28a4d4d]
./src/emacs() [0x6463d5]
./src/emacs() [0x645def]
./src/emacs() [0x6460ee]
/home/ss141309/code/emacs/src/../native-lisp/31.0.50-f92e8814/preloaded/startup-bbc6ea72-51eb976c.eln(F6e6f726d616c2d746f702d6c6576656c_normal_top_level_0+0xf46)
[0x7f42c28a1396]
./src/emacs() [0x644b86]
./src/emacs() [0x64432e]
./src/emacs() [0x569dbc]
./src/emacs() [0x64236f]
./src/emacs() [0x569e17]
./src/emacs() [0x641821]
./src/emacs() [0x569c9d]
./src/emacs() [0x569100]
./src/emacs() [0x569313]
./src/emacs() [0x564e52]
/lib64/libc.so.6(+0x3248) [0x7f42c5210248]
...
Segmentation fault (core dumped)
---------------------------------------------------------------------------------------------------------------

the output of bt full is
---------------------------------------------------------------------------------------------------------------
(gdb) bt full
#0  __strnlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:76
#1  0x00000000006dea8a in doprnt (buffer=0x7fffffff8060
"0:\377\377\377\177", bufsize=16381, format=0x7e91e6 "%u:%s",
format_end=0x0, ap=0x7fffffff7ff0)
    at doprnt.c:405
        mlen = 0
        charbuf = "\377\377\377\177\000"
        prec = -1
        zeroflag = false
        size_bound = 358
        width = 1
        modifier_len = "\000\001\001\001\001"
        wid = 0
        string = 0x0
        spaceflag = false
        fmtstar = "%*.*s\000\000\000\000\000"
        plusflag = false
        length_modifier = no_modifier
        minusflag = false
        minlen = 0
        tem = 1
        fmt0 = 0x7e91e9 "%s"
        fmtchar = 37 '%'
        src = 0x7fffffff7f90 "@}\377\377\377\177"
        srclen = 14320368
        fmt = 0x7e91eb ""
        bufptr = 0x7fffffff8062 "\377\377\377\177"
        tembuf =
"0\000\003\000\000\000\000\000\300j\337\363\377\177\000\000\000\000\000\000\000\000\000\000
\227\332\000\000\000\000\000\320\a\246\000\000\000\000\000\370\356\003\000\000\000\000\000\260}\377\377\377\177\000\000\242\307\310\363\377\177\000\000\200\314\332\367\377\177\000\000x\375\377\377\377\377\377\377\000\000\000\000\000\000\000\000x\375\377\377\377\377\377\377\000\000\000\000\000\000\000\000\360\351\331\000\000\000\000\000\360}\377\377\377\177\000\000\016\360\310\363\377\177\000\0002\000\000\000\000\000\000\000\200\226\332\000\000\000\000\000\030\000\000\000\000\000\000\000\000\352\331\000\000\000\000\000`\000\000\000\000\000\000\000\370\356\003\000\000\000\000\000\020~\377\377\377\177\000\000\005\361\003\367\377\177\000\000@~\377\377\377\177\000\000"...
        size_allocated = 408
        sprintf_buffer = 0x7fffffff7d40 "0"
        big_buffer = 0x0
        quoting_style = {i = 0x61e0}
#2  0x00000000006df067 in evxprintf
    (buf=0x7fffffff8058, bufsize=0x7fffffff8050,
nonheapbuf=0x7fffffff8060 "0:\377\377\377\177", bufsize_max=-1,
format=0x7e91e6 "%u:%s", ap=0x7fffffff8038)
    at doprnt.c:597
        nbytes = 257384
        ap_copy = {{gp_offset = 24, fp_offset = 48, overflow_arg_area
= 0x7fffffffc130, reg_save_area = 0x7fffffffc070}}
#3  0x000000000060426f in make_formatted_string (format=0x7e91e6
"%u:%s") at alloc.c:2485
        buf = "0:\377\377\377\177\000\000\n\304\310\363\377\177\000\000h\355\003\000\000\000\000\000\300j\337\363\377\177\000\000\000\000\000\000\000\000\000\000Pu\332\000\000\000\000\000\320\a\246\000\000\000\000\000H\354\003\000\000\000\000\000\340\200\377\377\377\177\000\000\242\307\310\363\377\177\000\000\240\302\332\367\377\177\000\000x\375\377\377\377\377\377\377\000\000\000\000\000\000\000\000x\375\377\377\377\377\377\377\000\000\000\000\000\000\000\000@@\332\000\000\000\000\000
\201\377\377\377\177\000\000\016\360\310\363\377\177\000\0006\000\000\000\000\000\000\000\260t\332\000\000\000\000\000\030\000\000\000\000\000\000\000P@\332\000\000\000\000\000`\000\000\000\000\000\000\000H\354\003\000\000\000\000\000@\201\377\377\377\177\000\000"...
        cstr = 0x7fffffff8060 "0:\377\377\377\177"
        bufsize = 16384
        ap = {{gp_offset = 8, fp_offset = 48, overflow_arg_area =
0x7fffffffc130, reg_save_area = 0x7fffffffc070}}
        length = 140737353400752
        ret = {i = 0x7fffffff8050}
#4  0x0000000000748c4b in pgtk_enumerate_devices (dpyinfo=0xb3a100,
initial_p=true) at pgtkterm.c:188
        rec = 0xc8a6f0
        all_seats = 0xba6c30 = {0xa57ec0}
        devices_on_seat = 0xba6c50 = {0x0, 0xa41920, 0x9e9800,
0xb05da0, 0xa8b210}
        tem = 0xba6c30 = {0xa57ec0}
        t1 = 0xba6c50 = {0x0, 0xa41920, 0x9e9800, 0xb05da0, 0xa8b210}
        seat = 0xa57ec0 [GdkWaylandSeat]
#5  0x000000000075d6b6 in pgtk_term_init (display_name=...,
resource_name=0xa34008 "emacs") at pgtkterm.c:7234
        dpy = 0xa276b0 [GdkWaylandDisplay]
        terminal = 0xb67058
        dpyinfo = 0xb3a100
        x_initialized = true
        x_display_id = 1
        initial_display = 0xbaf5f0 "wayland-0"
        dpy_name = 0xbaf5f0 "wayland-0"
        handle = 0x7ffff7ffe2f0
        lisp_dpy_name = {i = 0x9c2ba4}
        gscr = 0xb66820 [GdkWaylandScreen]
        dpi = 96
        was_initialized = false
        system_name = {i = 0x7ffff1a6bcbc}
        nbytes = 13
        nametail = 0xbaf6a6 "fedora"
#6  0x00000000007420d2 in Fx_open_connection (display=...,
resource_string=..., must_succeed=...) at pgtkfns.c:2169
        dpyinfo = 0x64c695 <CHECK_LIST_END+34>
#7  0x0000000000646448 in funcall_subr (subr=0x885460
<Sx_open_connection>, numargs=3, args=0x7fffe2bff0d0) at eval.c:3142
        argbuf = {{i = 0x6a070b <builtin_lisp_symbol+44>}, {i =
0x885465 <Sx_open_connection+5>}, {i = 0x7fffffffc370}, {i = 0x6a132a
<NATIVE_COMP_FUNCTIONP+58>}, {i = 0x7fffffffc360}, {i = 0x1200885465},
{i = 0x885465 <Sx_open_connection+5>}, {i = 0x7fffffffc380}}
        a = 0x7fffe2bff0d0
        maxargs = 3
        fun = {i = 0x6a0d26 <SUBRP+29>}
#8  0x00000000006a2436 in exec_byte_code (fun=..., args_template=256,
nargs=0, args=0x7fffe2bff050) at bytecode.c:812
        call_nargs = 3
        call_fun = {i = 0x885465 <Sx_open_connection+5>}
        count1 = {bytes = 352}
        val = {i = 0x7ffff197f3a3}
        call_args = 0x7fffe2bff0d0
        original_fun = {i = 0x7ffff11a4418}
        op = 3
        type = CONDITION_CASE
        targets = {0x6a5df6 <exec_byte_code+18192>, 0x6a5e19
<exec_byte_code+18227>, 0x6a5e1b <exec_byte_code+18229>, 0x6a5e1d
<exec_byte_code+18231>, 0x6a5e1f <exec_byte_code+18233>, 0x6a5e1f
<exec_byte_code+18233>, 0x6a5e79 <exec_byte_code+18323>, 0x6a5ee2
<exec_byte_code+18428>, 0x6a1bdc <exec_byte_code+1270>, 0x6a1bde
<exec_byte_code+1272>, 0x6a1be0 <exec_byte_code+1274>, 0x6a1be2
<exec_byte_code+1276>, 0x6a1be4 <exec_byte_code+1278>, 0x6a1be4
<exec_byte_code+1278>, 0x6a1bea <exec_byte_code+1284>, 0x6a1bab
<exec_byte_code+1221>, 0x6a1f7d <exec_byte_code+2199>, 0x6a1f7f
<exec_byte_code+2201>, 0x6a1f81 <exec_byte_code+2203>, 0x6a1f83
<exec_byte_code+2205>, 0x6a1f85 <exec_byte_code+2207>, 0x6a1f85
<exec_byte_code+2207>, 0x6a1fba <exec_byte_code+2260>, 0x6a1f8b
<exec_byte_code+2213>, 0x6a2151 <exec_byte_code+2667>, 0x6a2153
<exec_byte_code+2669>, 0x6a2155 <exec_byte_code+2671>, 0x6a2157
<exec_byte_code+2673>, 0x6a2159 <exec_byte_code+2675>, 0x6a2159
<exec_byte_code+2675>, 0x6a210b <exec_byte_code+2597>, 0x6a2122
<exec_byte_code+2620>, 0x6a21fc <exec_byte_code+2838>, 0x6a21fe
<exec_byte_code+2840>, 0x6a2200 <exec_byte_code+2842>, 0x6a2202
<exec_byte_code+2844>, 0x6a2204 <exec_byte_code+2846>, 0x6a2204
<exec_byte_code+2846>, 0x6a21b6 <exec_byte_code+2768>, 0x6a21cd
<exec_byte_code+2791>, 0x6a255f <exec_byte_code+3705>, 0x6a2561
<exec_byte_code+3707>, 0x6a2563 <exec_byte_code+3709>, 0x6a2565
<exec_byte_code+3711>, 0x6a2567 <exec_byte_code+3713>, 0x6a2567
<exec_byte_code+3713>, 0x6a2519 <exec_byte_code+3635>, 0x6a2530
<exec_byte_code+3658>, 0x6a2d57 <exec_byte_code+5745>, 0x6a2b6a
<exec_byte_code+5252>, 0x6a2b61 <exec_byte_code+5243>, 0x6a5df6
<exec_byte_code+18192>, 0x6a5df6 <exec_byte_code+18192>, 0x6a5df6
<exec_byte_code+18192>, 0x6a5df6 <exec_byte_code+18192>, 0x6a5df6
<exec_byte_code+18192>, 0x6a2f64 <exec_byte_code+6270>, 0x6a30dd
<exec_byte_code+6647>, 0x6a3141 <exec_byte_code+6747>, 0x6a31a3
<exec_byte_code+6845>, 0x6a3207 <exec_byte_code+6945>, 0x6a1dec
<exec_byte_code+1798>, 0x6a1e70 <exec_byte_code+1930>, 0x6a3282
<exec_byte_code+7068>, 0x6a1d40 <exec_byte_code+1626>, 0x6a1ed0
<exec_byte_code+2026>, 0x6a32ec <exec_byte_code+7174>, 0x6a334c
<exec_byte_code+7270>, 0x6a338c <exec_byte_code+7334>, 0x6a33ec
<exec_byte_code+7430>, 0x6a344a <exec_byte_code+7524>, 0x6a3523
<exec_byte_code+7741>, 0x6a3563 <exec_byte_code+7805>, 0x6a3701
<exec_byte_code+8219>, 0x6a38c6 <exec_byte_code+8672>, 0x6a3906
<exec_byte_code+8736>, 0x6a3946 <exec_byte_code+8800>, 0x6a39a6
<exec_byte_code+8896>, 0x6a3a06 <exec_byte_code+8992>, 0x6a3a66
<exec_byte_code+9088>, 0x6a3ae3 <exec_byte_code+9213>, 0x6a3b2a
<exec_byte_code+9284>, 0x6a3b71 <exec_byte_code+9355>, 0x6a3c2b
<exec_byte_code+9541>, 0x6a3d26 <exec_byte_code+9792>, 0x6a3e21
<exec_byte_code+10043>, 0x6a3f1a <exec_byte_code+10292>, 0x6a4023
<exec_byte_code+10557>, 0x6a412c <exec_byte_code+10822>, 0x6a4235
<exec_byte_code+11087>, 0x6a433e <exec_byte_code+11352>, 0x6a44b7
<exec_byte_code+11729>, 0x6a45b3 <exec_byte_code+11981>, 0x6a4729
<exec_byte_code+12355>, 0x6a47e7 <exec_byte_code+12545>, 0x6a48a5
<exec_byte_code+12735>, 0x6a4d15 <exec_byte_code+13871>, 0x6a2a16
<exec_byte_code+4912>, 0x6a4d68 <exec_byte_code+13954>, 0x6a4da8
<exec_byte_code+14018>, 0x6a4e5d <exec_byte_code+14199>, 0x6a4eb0
<exec_byte_code+14282>, 0x6a4f03 <exec_byte_code+14365>, 0x6a4f43
<exec_byte_code+14429>, 0x6a4f7e <exec_byte_code+14488>, 0x6a4fb9
<exec_byte_code+14547>, 0x6a4ffc <exec_byte_code+14614>, 0x6a5df6
<exec_byte_code+18192>, 0x6a504c <exec_byte_code+14694>, 0x6a5087
<exec_byte_code+14753>, 0x6a50c2 <exec_byte_code+14812>, 0x6a50fd
<exec_byte_code+14871>, 0x6a5138 <exec_byte_code+14930>, 0x6a5173
<exec_byte_code+14989>, 0x6a2a16 <exec_byte_code+4912>, 0x6a5df6
<exec_byte_code+18192>, 0x6a51b3 <exec_byte_code+15053>, 0x6a51fb
<exec_byte_code+15125>, 0x6a523b <exec_byte_code+15189>, 0x6a527b
<exec_byte_code+15253>, 0x6a52db <exec_byte_code+15349>, 0x6a533b
<exec_byte_code+15445>, 0x6a537b <exec_byte_code+15509>, 0x6a53bb
<exec_byte_code+15573>, 0x6a541b <exec_byte_code+15669>, 0x6a547b
<exec_byte_code+15765>, 0x6a54db <exec_byte_code+15861>, 0x6a5516
<exec_byte_code+15920>, 0x6a5df6 <exec_byte_code+18192>, 0x6a2976
<exec_byte_code+4752>, 0x6a25c2 <exec_byte_code+3804>, 0x6a1cb9
<exec_byte_code+1491>, 0x6a2659 <exec_byte_code+3955>, 0x6a26d2
<exec_byte_code+4076>, 0x6a2748 <exec_byte_code+4194>, 0x6a27be
<exec_byte_code+4312>, 0x6a294a <exec_byte_code+4708>, 0x6a20c3
<exec_byte_code+2525>, 0x6a29ea <exec_byte_code+4868>, 0x6a2a42
<exec_byte_code+4956>, 0x6a2ac6 <exec_byte_code+5088>, 0x6a2aff
<exec_byte_code+5145>, 0x6a2d98 <exec_byte_code+5810>, 0x6a2e06
<exec_byte_code+5920>, 0x6a2e83 <exec_byte_code+6045>, 0x6a2ede
<exec_byte_code+6136>, 0x6a5df6 <exec_byte_code+18192>, 0x6a5556
<exec_byte_code+15984>, 0x6a55d3 <exec_byte_code+16109>, 0x6a5613
<exec_byte_code+16173>, 0x6a5653 <exec_byte_code+16237>, 0x6a5693
<exec_byte_code+16301>, 0x6a56d3 <exec_byte_code+16365>, 0x6a5733
<exec_byte_code+16461>, 0x6a5793 <exec_byte_code+16557>, 0x6a57f3
<exec_byte_code+16653>, 0x6a5853 <exec_byte_code+16749>, 0x6a59e1
<exec_byte_code+17147>, 0x6a5a41 <exec_byte_code+17243>, 0x6a5aa1
<exec_byte_code+17339>, 0x6a5ae1 <exec_byte_code+17403>, 0x6a5ba4
<exec_byte_code+17598>, 0x6a5c67 <exec_byte_code+17793>, 0x6a5ca7
<exec_byte_code+17857>, 0x6a5ce7 <exec_byte_code+17921>, 0x6a4a32
<exec_byte_code+13132>, 0x6a4bc8 <exec_byte_code+13538>, 0x6a5d2e
<exec_byte_code+17992>, 0x6a5d92 <exec_byte_code+18092>, 0x6a5df6
<exec_byte_code+18192>, 0x6a5df6 <exec_byte_code+18192>, 0x6a5df6
<exec_byte_code+18192>, 0x6a5df6 <exec_byte_code+18192>, 0x6a5df6
<exec_byte_code+18192>, 0x6a5df6 <exec_byte_code+18192>, 0x6a34b0
<exec_byte_code+7626>, 0x6a3bb8 <exec_byte_code+9426>, 0x6a4dea
<exec_byte_code+14084>, 0x6a5f66 <exec_byte_code+18560>, 0x6a5fd0
<exec_byte_code+18666>, 0x6a5df6 <exec_byte_code+18192>, 0x6a5df6
<exec_byte_code+18192>, 0x6a6057 <exec_byte_code+18801>, 0x6a60d3
<exec_byte_code+18925>, 0x6a5df6 <exec_byte_code+18192>, 0x6a5df6
<exec_byte_code+18192>, 0x6a5df6 <exec_byte_code+18192>, 0x6a5df6
<exec_byte_code+18192>, 0x6a5df6 <exec_byte_code+18192>, 0x6a5df6
<exec_byte_code+18192>, 0x6a5df6 <exec_byte_code+18192>, 0x6a5df6
<exec_byte_code+18192>, 0x6a6277 <exec_byte_code+19345> <repeats 64
times>}
        quitcounter = 1 '\001'
        bc = 0x863170 <main_thread+496>
        top = 0x7fffe2bff0c8
        pc = 0x7ffff2465c0a "\210\333 \210\334\335\336\"\210҉\020\207"
        bytestr = {i = 0x7ffff1bffd9c}
        vector = {i = 0x7ffff1aa4add}
        maxdepth = {i = 0x1e}
        const_length = 32
        bytestr_length = 100
        vectorp = 0x7ffff1aa4ae0
        max_stack = 7
        frame_base = 0x7fffe2bff0c0
        fp = 0x7fffe2bff0f8
        bytestr_data = 0x7ffff2465bb3 "\b\203\b"
        rest = false
        mandatory = 0
        nonrest = 1
        pushedargs = 0
        saved_quitcounter = 1 '\001'
        saved_vectorp = 0x7ffff1aa4ae0
        saved_bytestr_data = 0x7ffff2465bb3 "\b\203\b"
        result = {i = 0x0}
#9  0x0000000000646a3f in funcall_lambda (fun=..., nargs=0,
arg_vector=0x7fffe2bff050) at eval.c:3229
        syms_left = {i = 0x402}
        lexenv = {i = 0x7fffffffc8e0}
        count = {bytes = 0}
        i = 140737488341248
        optional = false
        rest = false
        previous_rest = 127
        val = {i = 0x7fffffffc8e0}
#10 0x0000000000645e3b in funcall_general (fun=..., numargs=0,
args=0x7fffe2bff050) at eval.c:3021
        original_fun = {i = 0x7ffff1aa4a8d}
#11 0x00000000006460ee in Ffuncall (nargs=1, args=0x7fffe2bff048) at eval.c:3070
        count = {bytes = 320}
        val = {i = 0x2}
#12 0x00000000006451e5 in Fapply (nargs=2, args=0x7fffe2bff048) at eval.c:2695
        i = -1
        funcall_nargs = 140737488341712
        funcall_args = 0x0
        spread_arg = {i = 0x0}
        fun = {i = 0x7ffff1aa4a8d}
        sa_avail = 16384
        sa_count = {bytes = 320}
        numargs = 0
        retval = {i = 0x0}
#13 0x000000000064663e in funcall_subr (subr=0x879ca0 <Sapply>,
numargs=2, args=0x7fffe2bff048) at eval.c:3161
        maxargs = -2
        fun = {i = 0x6a0d26 <SUBRP+29>}
#14 0x00000000006a2436 in exec_byte_code (fun=..., args_template=128,
nargs=0, args=0x7fffffffd108) at bytecode.c:812
        call_nargs = 2
        call_fun = {i = 0x879ca5 <Sapply+5>}
        count1 = {bytes = 288}
        val = {i = 0x7ffff1aa4a8d}
        call_args = 0x7fffe2bff048
        original_fun = {i = 0x3b70}
        op = 2
        type = 4053864584
        targets = {0x6a5df6 <exec_byte_code+18192>, 0x6a5e19
<exec_byte_code+18227>, 0x6a5e1b <exec_byte_code+18229>, 0x6a5e1d
<exec_byte_code+18231>, 0x6a5e1f <exec_byte_code+18233>, 0x6a5e1f
<exec_byte_code+18233>, 0x6a5e79 <exec_byte_code+18323>, 0x6a5ee2
<exec_byte_code+18428>, 0x6a1bdc <exec_byte_code+1270>, 0x6a1bde
<exec_byte_code+1272>, 0x6a1be0 <exec_byte_code+1274>, 0x6a1be2
<exec_byte_code+1276>, 0x6a1be4 <exec_byte_code+1278>, 0x6a1be4
<exec_byte_code+1278>, 0x6a1bea <exec_byte_code+1284>, 0x6a1bab
<exec_byte_code+1221>, 0x6a1f7d <exec_byte_code+2199>, 0x6a1f7f
<exec_byte_code+2201>, 0x6a1f81 <exec_byte_code+2203>, 0x6a1f83
<exec_byte_code+2205>, 0x6a1f85 <exec_byte_code+2207>, 0x6a1f85
<exec_byte_code+2207>, 0x6a1fba <exec_byte_code+2260>, 0x6a1f8b
<exec_byte_code+2213>, 0x6a2151 <exec_byte_code+2667>, 0x6a2153
<exec_byte_code+2669>, 0x6a2155 <exec_byte_code+2671>, 0x6a2157
<exec_byte_code+2673>, 0x6a2159 <exec_byte_code+2675>, 0x6a2159
<exec_byte_code+2675>, 0x6a210b <exec_byte_code+2597>, 0x6a2122
<exec_byte_code+2620>, 0x6a21fc <exec_byte_code+2838>, 0x6a21fe
<exec_byte_code+2840>, 0x6a2200 <exec_byte_code+2842>, 0x6a2202
<exec_byte_code+2844>, 0x6a2204 <exec_byte_code+2846>, 0x6a2204
<exec_byte_code+2846>, 0x6a21b6 <exec_byte_code+2768>, 0x6a21cd
<exec_byte_code+2791>, 0x6a255f <exec_byte_code+3705>, 0x6a2561
<exec_byte_code+3707>, 0x6a2563 <exec_byte_code+3709>, 0x6a2565
<exec_byte_code+3711>, 0x6a2567 <exec_byte_code+3713>, 0x6a2567
<exec_byte_code+3713>, 0x6a2519 <exec_byte_code+3635>, 0x6a2530
<exec_byte_code+3658>, 0x6a2d57 <exec_byte_code+5745>, 0x6a2b6a
<exec_byte_code+5252>, 0x6a2b61 <exec_byte_code+5243>, 0x6a5df6
<exec_byte_code+18192>, 0x6a5df6 <exec_byte_code+18192>, 0x6a5df6
<exec_byte_code+18192>, 0x6a5df6 <exec_byte_code+18192>, 0x6a5df6
<exec_byte_code+18192>, 0x6a2f64 <exec_byte_code+6270>, 0x6a30dd
<exec_byte_code+6647>, 0x6a3141 <exec_byte_code+6747>, 0x6a31a3
<exec_byte_code+6845>, 0x6a3207 <exec_byte_code+6945>, 0x6a1dec
<exec_byte_code+1798>, 0x6a1e70 <exec_byte_code+1930>, 0x6a3282
<exec_byte_code+7068>, 0x6a1d40 <exec_byte_code+1626>, 0x6a1ed0
<exec_byte_code+2026>, 0x6a32ec <exec_byte_code+7174>, 0x6a334c
<exec_byte_code+7270>, 0x6a338c <exec_byte_code+7334>, 0x6a33ec
<exec_byte_code+7430>, 0x6a344a <exec_byte_code+7524>, 0x6a3523
<exec_byte_code+7741>, 0x6a3563 <exec_byte_code+7805>, 0x6a3701
<exec_byte_code+8219>, 0x6a38c6 <exec_byte_code+8672>, 0x6a3906
<exec_byte_code+8736>, 0x6a3946 <exec_byte_code+8800>, 0x6a39a6
<exec_byte_code+8896>, 0x6a3a06 <exec_byte_code+8992>, 0x6a3a66
<exec_byte_code+9088>, 0x6a3ae3 <exec_byte_code+9213>, 0x6a3b2a
<exec_byte_code+9284>, 0x6a3b71 <exec_byte_code+9355>, 0x6a3c2b
<exec_byte_code+9541>, 0x6a3d26 <exec_byte_code+9792>, 0x6a3e21
<exec_byte_code+10043>, 0x6a3f1a <exec_byte_code+10292>, 0x6a4023
<exec_byte_code+10557>, 0x6a412c <exec_byte_code+10822>, 0x6a4235
<exec_byte_code+11087>, 0x6a433e <exec_byte_code+11352>, 0x6a44b7
<exec_byte_code+11729>, 0x6a45b3 <exec_byte_code+11981>, 0x6a4729
<exec_byte_code+12355>, 0x6a47e7 <exec_byte_code+12545>, 0x6a48a5
<exec_byte_code+12735>, 0x6a4d15 <exec_byte_code+13871>, 0x6a2a16
<exec_byte_code+4912>, 0x6a4d68 <exec_byte_code+13954>, 0x6a4da8
<exec_byte_code+14018>, 0x6a4e5d <exec_byte_code+14199>, 0x6a4eb0
<exec_byte_code+14282>, 0x6a4f03 <exec_byte_code+14365>, 0x6a4f43
<exec_byte_code+14429>, 0x6a4f7e <exec_byte_code+14488>, 0x6a4fb9
<exec_byte_code+14547>, 0x6a4ffc <exec_byte_code+14614>, 0x6a5df6
<exec_byte_code+18192>, 0x6a504c <exec_byte_code+14694>, 0x6a5087
<exec_byte_code+14753>, 0x6a50c2 <exec_byte_code+14812>, 0x6a50fd
<exec_byte_code+14871>, 0x6a5138 <exec_byte_code+14930>, 0x6a5173
<exec_byte_code+14989>, 0x6a2a16 <exec_byte_code+4912>, 0x6a5df6
<exec_byte_code+18192>, 0x6a51b3 <exec_byte_code+15053>, 0x6a51fb
<exec_byte_code+15125>, 0x6a523b <exec_byte_code+15189>, 0x6a527b
<exec_byte_code+15253>, 0x6a52db <exec_byte_code+15349>, 0x6a533b
<exec_byte_code+15445>, 0x6a537b <exec_byte_code+15509>, 0x6a53bb
<exec_byte_code+15573>, 0x6a541b <exec_byte_code+15669>, 0x6a547b
<exec_byte_code+15765>, 0x6a54db <exec_byte_code+15861>, 0x6a5516
<exec_byte_code+15920>, 0x6a5df6 <exec_byte_code+18192>, 0x6a2976
<exec_byte_code+4752>, 0x6a25c2 <exec_byte_code+3804>, 0x6a1cb9
<exec_byte_code+1491>, 0x6a2659 <exec_byte_code+3955>, 0x6a26d2
<exec_byte_code+4076>, 0x6a2748 <exec_byte_code+4194>, 0x6a27be
<exec_byte_code+4312>, 0x6a294a <exec_byte_code+4708>, 0x6a20c3
<exec_byte_code+2525>, 0x6a29ea <exec_byte_code+4868>, 0x6a2a42
<exec_byte_code+4956>, 0x6a2ac6 <exec_byte_code+5088>, 0x6a2aff
<exec_byte_code+5145>, 0x6a2d98 <exec_byte_code+5810>, 0x6a2e06
<exec_byte_code+5920>, 0x6a2e83 <exec_byte_code+6045>, 0x6a2ede
<exec_byte_code+6136>, 0x6a5df6 <exec_byte_code+18192>, 0x6a5556
<exec_byte_code+15984>, 0x6a55d3 <exec_byte_code+16109>, 0x6a5613
<exec_byte_code+16173>, 0x6a5653 <exec_byte_code+16237>, 0x6a5693
<exec_byte_code+16301>, 0x6a56d3 <exec_byte_code+16365>, 0x6a5733
<exec_byte_code+16461>, 0x6a5793 <exec_byte_code+16557>, 0x6a57f3
<exec_byte_code+16653>, 0x6a5853 <exec_byte_code+16749>, 0x6a59e1
<exec_byte_code+17147>, 0x6a5a41 <exec_byte_code+17243>, 0x6a5aa1
<exec_byte_code+17339>, 0x6a5ae1 <exec_byte_code+17403>, 0x6a5ba4
<exec_byte_code+17598>, 0x6a5c67 <exec_byte_code+17793>, 0x6a5ca7
<exec_byte_code+17857>, 0x6a5ce7 <exec_byte_code+17921>, 0x6a4a32
<exec_byte_code+13132>, 0x6a4bc8 <exec_byte_code+13538>, 0x6a5d2e
<exec_byte_code+17992>, 0x6a5d92 <exec_byte_code+18092>, 0x6a5df6
<exec_byte_code+18192>, 0x6a5df6 <exec_byte_code+18192>, 0x6a5df6
<exec_byte_code+18192>, 0x6a5df6 <exec_byte_code+18192>, 0x6a5df6
<exec_byte_code+18192>, 0x6a5df6 <exec_byte_code+18192>, 0x6a34b0
<exec_byte_code+7626>, 0x6a3bb8 <exec_byte_code+9426>, 0x6a4dea
<exec_byte_code+14084>, 0x6a5f66 <exec_byte_code+18560>, 0x6a5fd0
<exec_byte_code+18666>, 0x6a5df6 <exec_byte_code+18192>, 0x6a5df6
<exec_byte_code+18192>, 0x6a6057 <exec_byte_code+18801>, 0x6a60d3
<exec_byte_code+18925>, 0x6a5df6 <exec_byte_code+18192>, 0x6a5df6
<exec_byte_code+18192>, 0x6a5df6 <exec_byte_code+18192>, 0x6a5df6
<exec_byte_code+18192>, 0x6a5df6 <exec_byte_code+18192>, 0x6a5df6
<exec_byte_code+18192>, 0x6a5df6 <exec_byte_code+18192>, 0x6a5df6
<exec_byte_code+18192>, 0x6a6277 <exec_byte_code+19345> <repeats 64
times>}
        quitcounter = 1 '\001'
        bc = 0x863170 <main_thread+496>
        top = 0x7fffe2bff040
        pc = 0x7ffff23d3989 "\207"
        bytestr = {i = 0x7ffff1a957bc}
        vector = {i = 0x7ffff1aa388d}
        maxdepth = {i = 0x3a}
        const_length = 15
        bytestr_length = 42
        vectorp = 0x7ffff1aa3890
        max_stack = 14
        frame_base = 0x7fffe2bff030
        fp = 0x7fffe2bff0a0
        bytestr_data = 0x7ffff23d3960 "\f\306\307\002\r\"\307\001\300\"\206%"
        rest = true
        mandatory = 0
        nonrest = 0
        pushedargs = 0
        saved_quitcounter = 0 '\000'
        saved_vectorp = 0x7fffffffce00
        saved_bytestr_data = 0x7ffff1c02a5c ""
        result = {i = 0x7ffff197f583}
#15 0x0000000000646a3f in funcall_lambda (fun=..., nargs=0,
arg_vector=0x7fffffffd108) at eval.c:3229
        syms_left = {i = 0x202}
        lexenv = {i = 0xea60}
        count = {bytes = 0}
        i = 140737488343088
        optional = false
        rest = false
        previous_rest = 127
        val = {i = 0x1f19f5ef0}
#16 0x0000000000645e3b in funcall_general (fun=..., numargs=0,
args=0x7fffffffd108) at eval.c:3021
        original_fun = {i = 0x7ffff11a4c98}
#17 0x00000000006460ee in Ffuncall (nargs=1, args=0x7fffffffd100) at eval.c:3070
        count = {bytes = 256}
        val = {i = 0x7ffff10f7500}
#18 0x00007ffff1159d4d in F636f6d6d616e642d6c696e65_command_line_0 ()
    at /home/ss141309/code/emacs/src/../native-lisp/31.0.50-f92e8814/preloaded/startup-bbc6ea72-51eb976c.eln
#19 0x00000000006463d5 in funcall_subr (subr=0x7ffff1c30890,
numargs=0, args=0x7fffffffd2f0) at eval.c:3136
        argbuf = {{i = 0x7ffff1c30895}, {i = 0x7fffffffd1d0}, {i =
0x8fe9c0 <lispsym>}, {i = 0x0}, {i = 0x0}, {i = 0x12ffffd1f0}, {i =
0x7ffff1c30895}, {i = 0x7fffffffd200}}
        a = 0x7fffffffd2f0
        maxargs = 0
        fun = {i = 0x63dd6a <SUBRP+29>}
#20 0x0000000000645def in funcall_general (fun=..., numargs=0,
args=0x7fffffffd2f0) at eval.c:3017
        original_fun = {i = 0x7ffff1331ea0
<F746f7563682d73637265656e2d68616e646c652d706f696e742d7570_touch_screen_handle_point_up_0+2080>}
#21 0x00000000006460ee in Ffuncall (nargs=1, args=0x7fffffffd2e8) at eval.c:3070
        count = {bytes = 192}
        val = {i = 0x6a7808 <bcall0>}
#22 0x00007ffff1156396 in
F6e6f726d616c2d746f702d6c6576656c_normal_top_level_0 ()
    at /home/ss141309/code/emacs/src/../native-lisp/31.0.50-f92e8814/preloaded/startup-bbc6ea72-51eb976c.eln
#23 0x0000000000644b86 in eval_sub (form=...) at eval.c:2572
        i = 0
        maxargs = 0
        args_left = {i = 0x0}
        numargs = 0
        original_fun = {i = 0x7ffff132a0a8
<F746f7563682d73637265656e2d686f6c64_touch_screen_hold_0+1816>}
        original_args = {i = 0x0}
        count = {bytes = 128}
        fun = {i = 0x7ffff1c28a9d}
        val = {i = 0x6476fb <do_specbind+288>}
        funcar = {i = 0x7fffffffd440}
        argvals = {{i = 0x7fffffffd3e0}, {i = 0x61d2d8 <XOBJFWD+35>},
{i = 0x8fe9c0 <lispsym>}, {i = 0x7ffff1f516c0}, {i = 0x0}, {i =
0x909a60 <lispsym+45216>}, {i = 0x63d7a6 <builtin_lisp_symbol+44>}, {i
= 0x0}}
#24 0x000000000064432e in Feval (form=..., lexical=...) at eval.c:2439
        count = {bytes = 96}
#25 0x0000000000569dbc in top_level_2 () at keyboard.c:1179
        setup_handler = false
        res = {i = 0x1008fe9c0}
#26 0x000000000064236f in internal_condition_case (bfun=0x569d55
<top_level_2>, handlers=..., hfun=0x569627 <cmd_error>) at eval.c:1602
        val = {i = 0x7fffffffd540}
        c = 0xa9e670
#27 0x0000000000569e17 in top_level_1 (ignore=...) at keyboard.c:1191
#28 0x0000000000641821 in internal_catch (tag=..., func=0x569dd5
<top_level_1>, arg=...) at eval.c:1282
        val = {i = 0x56651e <builtin_lisp_symbol+44>}
        c = 0xaf0fd0
#29 0x0000000000569c9d in command_loop () at keyboard.c:1140
#30 0x0000000000569100 in recursive_edit_1 () at keyboard.c:749
        count = {bytes = 32}
        val = {i = 0x7fffffffd620}
#31 0x0000000000569313 in Frecursive_edit () at keyboard.c:832
        count = {bytes = 0}
        buffer = {i = 0x0}
#32 0x0000000000564e52 in main (argc=2, argv=0x7fffffffd8e8) at emacs.c:2558
        stack_bottom_variable = 0x0
        old_argc = 2
        dump_file = 0x0
        no_loadup = false
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0
        original_pwd = 0x0
        dump_mode = 0x0
        skip_args = 0
        temacs = 0x0
        attempt_load_pdump = true
        only_version = false
        rlim = {rlim_cur = 16777216, rlim_max = 18446744073709551615}
        lc_all = 0x0
        sockfd = -1
        module_assertions = false
---------------------------------------------------------------------------------------------------------------

the output of xbacktrace is
---------------------------------------------------------------------------------------------------------------
(gdb) xbacktrace
"x-open-connection" (0xe2bff0d0)
0xf1aa4a88 PVEC_CLOSURE
"apply" (0xe2bff048)
"window-system-initialization" (0xffffd108)
"command-line" (0xffffd2f0)
"normal-top-level" (0xffffd3c0)
---------------------------------------------------------------------------------------------------------------

adding this line to pgtkterm.c enables emacs to launch normally once
again, but this seems only like a temporary solution
---------------------------------------------------------------------------------------------------------------
diff --git a/src/pgtkterm.c b/src/pgtkterm.c
index d47b1da7262..b3d267284ca 100644
--- a/src/pgtkterm.c
+++ b/src/pgtkterm.c
@@ -182,6 +182,9 @@ pgtk_enumerate_devices (struct pgtk_display_info *dpyinfo,

       for (t1 = devices_on_seat; t1; t1 = t1->next)
        {
+         if (t1->data == 0)
+            continue;
+
          rec = xmalloc (sizeof *rec);
          rec->seat = g_object_ref (seat);
          rec->device = GDK_DEVICE (t1->data);
---------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------
In GNU Emacs 31.0.50 (build 4, x86_64-pc-linux-gnu, GTK+ Version
 3.24.43, cairo version 1.18.2) of 2025-02-13 built on fedora
Repository revision: 44c11cd4241ffc8636135bc41ac718101666d34d
Repository branch: master
System Description: Fedora Linux 41 (KDE Plasma)

Configured using:
 'configure --enable-checking=yes,glyphs --enable-check-lisp-object-type
 --with-pgtk 'CFLAGS=-O0 -g3''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG
LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER
PGTK PNG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP
XIM GTK3 ZLIB

Important settings:
  value of $LANG: en_IN.UTF-8
  value of $XMODIFIERS: @im=none
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  minibuffer-regexp-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr compile comint ansi-osc ansi-color ring comp-run
bytecomp byte-compile comp-common rx emacsbug message mailcap yank-media
puny dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived
epg rfc6068 epg-config gnus-util text-property-search time-date subr-x
mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils
mailheader cl-loaddefs cl-lib sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils rmc iso-transl tooltip cconv eldoc paren
electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
term/pgtk-win pgtk-win term/common-win touch-screen pgtk-dnd tool-bar
dnd fontset image regexp-opt fringe tabulated-list replace newcomment
text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow
isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax
font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads dbusbind inotify
dynamic-setting system-font-setting font-render-setting cairo gtk pgtk
multi-tty move-toolbar make-network-process tty-child-frames
native-compile emacs)

Memory information:
((conses 16 58604 9958) (symbols 48 6729 0) (strings 32 16718 3556)
 (string-bytes 1 477747) (vectors 16 11454)
 (vector-slots 8 143352 9543) (floats 8 21 3) (intervals 56 239 0)
 (buffers 992 11))
---------------------------------------------------------------------------------------------------------------