Subject: 31.0.50; igc: nested signal, SIGSEGV

From: Óscar Fuentes <[email-masked]>
Date: Wed, 30 Jul 2025 22:18:44 +0200

This is a build of merging master's 6982dc460aa with current feature/igc
HEAD (382123e69e2). I had to resolve some conflicts, so there is a
possibility of the crash being caused by my mistake.

Backtrace from the coredump:

(gdb) bt full
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0)
    at ./nptl/pthread_kill.c:44
        tid = <optimized out>
        ret = 0
        pd = <optimized out>
        old_mask = {__val = {94452575465120}}
        ret = <optimized out>
#1  0x00007f506ce9e9ff in __pthread_kill_internal (threadid=<optimized out>, signo=11)
    at ./nptl/pthread_kill.c:89
#2  0x00007f506ce49cc2 in __GI_raise (sig=sig@entry=11) at ../sysdeps/posix/raise.c:26
        ret = <optimized out>
#3  0x000055e773f12db8 in terminate_due_to_signal
    (sig=sig@entry=11, backtrace_limit=backtrace_limit@entry=40) at ../../emacs/src/emacs.c:481
#4  0x000055e773f132de in handle_fatal_signal (sig=sig@entry=11) at ../../emacs/src/sysdep.c:1793
#5  0x000055e773f132e5 in deliver_thread_signal
    (sig=sig@entry=11, handler=0x55e773f132d0 <handle_fatal_signal>) at ../../emacs/src/sysdep.c:1785
        old_errno = <optimized out>
#6  0x000055e774058dec in deliver_fatal_thread_signal (sig=11) at ../../emacs/src/sysdep.c:1805
#7  handle_sigsegv (sig=11, siginfo=<optimized out>, arg=<optimized out>) at ../../emacs/src/sysdep.c:1943
        fatal = <optimized out>
#8  0x00007f506ce49df0 in <signal handler called> () at /lib/x86_64-linux-gnu/libc.so.6
#9  0x00007f506ce4a007 in __GI_kill () at ../sysdeps/unix/syscall-template.S:120
#10 0x000055e774215e44 in sigHandle ()
#11 0x00007f506ce49df0 in <signal handler called> () at /lib/x86_64-linux-gnu/libc.so.6
#12 add_text_properties_1 (start=<optimized out>, start@entry=0x1f06a, end=<optimized out>, 
    end@entry=0x1f07a, properties=0x7f4fe3c2acc3, object=0x7f4fe645cfbd, 
    object@entry=0x0, set_type=set_type@entry=TEXT_PROPERTY_REPLACE, destructive=destructive@entry=true)
--Type <RET> for more, q to quit, c to continue without paging--c
    at ../../emacs/src/textprop.c:1252
        i = 0x0
        unchanged = <optimized out>
        s = 31770
        len = 3
        modified = <optimized out>
        first_time = <optimized out>
#13 0x000055e77414774b in Fadd_text_properties
    (start=0x1f06a, end=0x1f07a, properties=<optimized out>, object=0x0) at ../../emacs/src/textprop.c:1308
#14 Fput_text_property
    (start=0x1f06a, end=0x1f07a, property=<optimized out>, value=<optimized out>, object=0x0)
    at ../../emacs/src/textprop.c:1326
        properties = <optimized out>
#15 0x00007f505801aec2 in F747265657369742d2d666f6e742d6c6f636b2d6d61726b2d72616e6765732d746f2d666f6e74696679_treesit__font_lock_mark_ranges_to_fontify_0 ()
    at /home/oscar/.emacs.d/eln-cache/31.0.50-3eae311e/treesit-37439c61-2c208e3a.eln
#16 0x000055e7740c8e8c in Ffuncall (nargs=2, args=0x7ffd6a2b0e70) at ../../emacs/src/eval.c:3201
        count = {bytes = <optimized out>}
        val = <optimized out>
#17 0x00007f505801b396 in F747265657369742d2d7072652d7265646973706c6179_treesit__pre_redisplay_0 ()
    at /home/oscar/.emacs.d/eln-cache/31.0.50-3eae311e/treesit-37439c61-2c208e3a.eln
#18 0x000055e7740c8e8c in Ffuncall (nargs=2, args=0x7ffd6a2b0f80) at ../../emacs/src/eval.c:3201
        count = {bytes = <optimized out>}
        val = <optimized out>
#19 0x000055e7740c90e9 in funcall_nil (nargs=<optimized out>, args=<optimized out>)
    at ../../emacs/src/eval.c:2884
#20 0x000055e7740c643d in run_hook_with_args
    (nargs=2, args=0x7ffd6a2b0f80, funcall=0x55e7740c90e0 <funcall_nil>) at ../../emacs/src/eval.c:3061
        global_vals = <optimized out>
        sym = 0x2968c2d2eba0
        val = 0x7f4fe52f5c83
        ret = 0x0
#21 0x000055e7740c8e8c in Ffuncall (nargs=3, args=0x7ffd6a2b0f78) at ../../emacs/src/eval.c:3201
        count = {bytes = <optimized out>}
        val = <optimized out>
#22 0x00007f505b7c1d34 in F7265646973706c61792d2d7072652d7265646973706c61792d66756e6374696f6e73_redisplay__pre_redisplay_functions_0 ()
    at /home/oscar/dev/emacs/igc/build/src/../native-lisp/31.0.50-3eae311e/preloaded/simple-fab5b0cf-fea6411a.eln
#23 0x000055e7740c8e8c in Ffuncall (nargs=nargs@entry=2, args=args@entry=0x7f505ad28040)
    at ../../emacs/src/eval.c:3201
        count = {bytes = <optimized out>}
        val = <optimized out>
#24 0x000055e7740c7742 in Fapply (nargs=2, args=0x7f505ad28040) at ../../emacs/src/eval.c:2830
        i = <optimized out>
        funcall_nargs = <optimized out>
        funcall_args = 0x0
        spread_arg = <optimized out>
        fun = 0x2968f6dc91d8
        sa_avail = 16384
        sa_count = {bytes = <optimized out>}
        numargs = <optimized out>
        retval = <optimized out>
#25 0x000055e77411753a in exec_byte_code
    (fun=<optimized out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized out>)
    at ../../emacs/src/lisp.h:2306
        call_nargs = 2
        call_fun = <optimized out>
        count1 = {bytes = <optimized out>}
        val = <optimized out>
        call_args = 0x7f505ad28040
        original_fun = 0x43d0
        op = 2
        type = <optimized out>
        targets = {0x55e773f17ee1 <exec_byte_code-2093663>, 0x55e77411793f <exec_byte_code+2047>, 0x55e77411793a <exec_byte_code+2042>, 0x55e774117935 <exec_byte_code+2037>, 0x55e77411731d <exec_byte_code+477>, 0x55e77411731d <exec_byte_code+477>, 0x55e7741178f7 <exec_byte_code+1975>, 0x55e7741178b9 <exec_byte_code+1913>, 0x55e7741198e2 <exec_byte_code+10146>, 0x55e7741198dd <exec_byte_code+10141>, 0x55e7741198d8 <exec_byte_code+10136>, 0x55e7741198d3 <exec_byte_code+10131>, 0x55e774117357 <exec_byte_code+535>, 0x55e774117360 <exec_byte_code+544>, 0x55e7741198c6 <exec_byte_code+10118>, 0x55e7741198e7 <exec_byte_code+10151>, 0x55e77411976e <exec_byte_code+9774>, 0x55e774119769 <exec_byte_code+9769>, 0x55e774119764 <exec_byte_code+9764>, 0x55e77411975f <exec_byte_code+9759>, 0x55e7741172b9 <exec_byte_code+377>, 0x55e7741172c0 <exec_byte_code+384>, 0x55e774119745 <exec_byte_code+9733>, 0x55e774119752 <exec_byte_code+9746>, 0x55e7741196f3 <exec_byte_code+9651>, 0x55e7741196ee <exec_byte_code+9646>, 0x55e7741196e9 <exec_byte_code+9641>, 0x55e7741196e4 <exec_byte_code+9636>, 0x55e7741175ef <exec_byte_code+1199>, 0x55e7741175f0 <exec_byte_code+1200>, 0x55e774119705 <exec_byte_code+9669>, 0x55e7741196f8 <exec_byte_code+9656>, 0x55e7741196c5 <exec_byte_code+9605>, 0x55e7741196c0 <exec_byte_code+9600>, 0x55e7741196bb <exec_byte_code+9595>, 0x55e7741196b6 <exec_byte_code+9590>, 0x55e7741173bd <exec_byte_code+637>, 0x55e7741173c0 <exec_byte_code+640>, 0x55e7741196d7 <exec_byte_code+9623>, 0x55e7741196ca <exec_byte_code+9610>, 0x55e774119697 <exec_byte_code+9559>, 0x55e774119692 <exec_byte_code+9554>, 0x55e77411968d <exec_byte_code+9549>, 0x55e774119688 <exec_byte_code+9544>, 0x55e774117639 <exec_byte_code+1273>, 0x55e774117640 <exec_byte_code+1280>, 0x55e7741196a9 <exec_byte_code+9577>, 0x55e77411969c <exec_byte_code+9564>, 0x55e774119273 <exec_byte_code+8499>, 0x55e7741192a7 <exec_byte_code+8551>, 0x55e774119330 <exec_byte_code+8688>, 0x55e773f17ee1 <exec_byte_code-2093663>, 0x55e773f17ee1 <exec_byte_code-2093663>, 0x55e773f17ee1 <exec_byte_code-2093663>, 0x55e773f17ee1 <exec_byte_code-2093663>, 0x55e773f17ee1 <exec_byte_code-2093663>, 0x55e7741190c7 <exec_byte_code+8071>, 0x55e774119054 <exec_byte_code+7956>, 0x55e77411900d <exec_byte_code+7885>, 0x55e774118fc6 <exec_byte_code+7814>, 0x55e774118f81 <exec_byte_code+7745>, 0x55e7741197ef <exec_byte_code+9903>, 0x55e7741197af <exec_byte_code+9839>, 0x55e774118f4f <exec_byte_code+7695>, 0x55e77411984b <exec_byte_code+9995>, 0x55e774119773 <exec_byte_code+9779>, 0x55e774118f0f <exec_byte_code+7631>, 0x55e774118edf <exec_byte_code+7583>, 0x55e774118e9f <exec_byte_code+7519>, 0x55e774118e62 <exec_byte_code+7458>, 0x55e774118e21 <exec_byte_code+7393>, 0x55e774118dab <exec_byte_code+7275>, 0x55e774118d20 <exec_byte_code+7136>, 0x55e774118c8b <exec_byte_code+6987>, 0x55e774118c5b <exec_byte_code+6939>, 0x55e774118c2b <exec_byte_code+6891>, 0x55e774118beb <exec_byte_code+6827>, 0x55e774118bab <exec_byte_code+6763>, 0x55e774118b6b <exec_byte_code+6699>, 0x55e774118b27 <exec_byte_code+6631>, 0x55e774118aed <exec_byte_code+6573>, 0x55e774118ab3 <exec_byte_code+6515>, 0x55e774118a79 <exec_byte_code+6457>, 0x55e7741189d7 <exec_byte_code+6295>, 0x55e77411897b <exec_byte_code+6203>, 0x55e774118921 <exec_byte_code+6113>, 0x55e7741188c7 <exec_byte_code+6023>, 0x55e77411886d <exec_byte_code+5933>, 0x55e774118813 <exec_byte_code+5843>, 0x55e7741187b9 <exec_byte_code+5753>, 0x55e774118761 <exec_byte_code+5665>, 0x55e774118704 <exec_byte_code+5572>, 0x55e7741186ac <exec_byte_code+5484>, 0x55e774118654 <exec_byte_code+5396>, 0x55e7741185fc <exec_byte_code+5308>, 0x55e7741185a3 <exec_byte_code+5219>, 0x55e7741184b2 <exec_byte_code+4978>, 0x55e774117689 <exec_byte_code+1353>, 0x55e774118482 <exec_byte_code+4930>, 0x55e77411844d <exec_byte_code+4877>, 0x55e7741183bd <exec_byte_code+4733>, 0x55e774118373 <exec_byte_code+4659>, 0x55e774118343 <exec_byte_code+4611>, 0x55e774118311 <exec_byte_code+4561>, 0x55e7741182df <exec_byte_code+4511>, 0x55e7741182a5 <exec_byte_code+4453>, 0x55e774118273 <exec_byte_code+4403>, 0x55e773f17ee1 <exec_byte_code-2093663>, 0x55e774118241 <exec_byte_code+4353>, 0x55e77411820f <exec_byte_code+4303>, 0x55e7741181dd <exec_byte_code+4253>, 0x55e7741181ab <exec_byte_code+4203>, 0x55e774118179 <exec_byte_code+4153>, 0x55e774118149 <exec_byte_code+4105>, 0x55e774117689 <exec_byte_code+1353>, 0x55e773f17ee1 <exec_byte_code-2093663>, 0x55e774118105 <exec_byte_code+4037>, 0x55e7741180d4 <exec_byte_code+3988>, 0x55e7741180a3 <exec_byte_code+3939>, 0x55e774118062 <exec_byte_code+3874>, 0x55e774118021 <exec_byte_code+3809>, 0x55e774117ff0 <exec_byte_code+3760>, 0x55e774117fbf <exec_byte_code+3711>, 0x55e774117f7e <exec_byte_code+3646>, 0x55e774117f3d <exec_byte_code+3581>, 0x55e774117efc <exec_byte_code+3516>, 0x55e774117ec9 <exec_byte_code+3465>, 0x55e774117e98 <exec_byte_code+3416>, 0x55e773f17ee1 <exec_byte_code-2093663>, 0x55e77411943f <exec_byte_code+8959>, 0x55e774119615 <exec_byte_code+9429>, 0x55e774119887 <exec_byte_code+10055>, 0x55e7741195d6 <exec_byte_code+9366>, 0x55e77411959a <exec_byte_code+9306>, 0x55e77411955e <exec_byte_code+9246>, 0x55e77411949d <exec_byte_code+9053>, 0x55e774119478 <exec_byte_code+9016>, 0x55e774119712 <exec_byte_code+9682>, 0x55e77411941a <exec_byte_code+8922>, 0x55e7741193b7 <exec_byte_code+8823>, 0x55e774119382 <exec_byte_code+8770>, 0x55e77411933b <exec_byte_code+8699>, 0x55e77411921e <exec_byte_code+8414>, 0x55e7741191da <exec_byte_code+8346>, 0x55e774119190 <exec_byte_code+8272>, 0x55e774119125 <exec_byte_code+8165>, 0x55e773f17ee1 <exec_byte_code-2093663>, 0x55e774117e53 <exec_byte_code+3347>, 0x55e774117e22 <exec_byte_code+3298>, 0x55e774117df1 <exec_byte_code+3249>, 0x55e774117dc0 <exec_byte_code+3200>, 0x55e774117d8f <exec_byte_code+3151>, 0x55e774117d4e <exec_byte_code+3086>, 0x55e774117d0d <exec_byte_code+3021>, 0x55e774117ccc <exec_byte_code+2956>, 0x55e774117c8b <exec_byte_code+2891>, 0x55e774117c24 <exec_byte_code+2788>, 0x55e774117be3 <exec_byte_code+2723>, 0x55e774117ba2 <exec_byte_code+2658>, 0x55e774117b71 <exec_byte_code+2609>, 0x55e774117b25 <exec_byte_code+2533>, 0x55e774117ad9 <exec_byte_code+2457>, 0x55e774117a9b <exec_byte_code+2395>, 0x55e774117a5d <exec_byte_code+2333>, 0x55e774117a22 <exec_byte_code+2274>, 0x55e77411854b <exec_byte_code+5131>, 0x55e7741184fc <exec_byte_code+5052>, 0x55e7741179b2 <exec_byte_code+2162>, 0x55e774117944 <exec_byte_code+2052>, 0x55e773f17ee1 <exec_byte_code-2093663>, 0x55e773f17ee1 <exec_byte_code-2093663>, 0x55e773f17ee1 <exec_byte_code-2093663>, 0x55e773f17ee1 <exec_byte_code-2093663>, 0x55e773f17ee1 <exec_byte_code-2093663>, 0x55e773f17ee1 <exec_byte_code-2093663>, 0x55e774118ddb <exec_byte_code+7323>, 0x55e774118a33 <exec_byte_code+6387>, 0x55e774118407 <exec_byte_code+4807>, 0x55e774117873 <exec_byte_code+1843>, 0x55e77411782d <exec_byte_code+1773>, 0x55e773f17ee1 <exec_byte_code-2093663>, 0x55e773f17ee1 <exec_byte_code-2093663>, 0x55e7741177f4 <exec_byte_code+1716>, 0x55e774117790 <exec_byte_code+1616>, 0x55e773f17ee1 <exec_byte_code-2093663>, 0x55e773f17ee1 <exec_byte_code-2093663>, 0x55e773f17ee1 <exec_byte_code-2093663>, 0x55e773f17ee1 <exec_byte_code-2093663>, 0x55e773f17ee1 <exec_byte_code-2093663>, 0x55e773f17ee1 <exec_byte_code-2093663>, 0x55e773f17ee1 <exec_byte_code-2093663>, 0x55e773f17ee1 <exec_byte_code-2093663>, 0x55e774117756 <exec_byte_code+1558> <repeats 64 times>}
        quitcounter = <optimized out>
        bc = 0x55e7742cb858 <main_thread+312>
        top = 0x7f505ad28038
        pc = <optimized out>
        bytestr = <optimized out>
        vector = <optimized out>
        maxdepth = <optimized out>
        const_length = <optimized out>
        bytestr_length = <optimized out>
        vectorp = 0x7f506b0a53f0
        max_stack = <optimized out>
        frame_base = <optimized out>
        fp = <optimized out>
        bytestr_data = <optimized out>
        rest = <optimized out>
        mandatory = <optimized out>
        nonrest = <optimized out>
        pushedargs = <optimized out>
        saved_quitcounter = 0 '\000'
        saved_vectorp = 0xdd98
        saved_bytestr_data = 0x7ffd00000002 <error: Cannot access memory at address 0x7ffd00000002>
        result = <optimized out>
#26 0x000055e7740c8e8c in Ffuncall (nargs=nargs@entry=2, args=args@entry=0x7ffd6a2b1290)
    at ../../emacs/src/eval.c:3201
        count = {bytes = <optimized out>}
        val = <optimized out>
#27 0x000055e7740c5dbe in internal_condition_case_n
    (bfun=bfun@entry=0x55e7740c8d90 <Ffuncall>, nargs=nargs@entry=2, args=args@entry=0x7ffd6a2b1290, handlers=handlers@entry=0x38, hfun=hfun@entry=0x55e773f4e550 <dsafe_eval_handler>) at ../../emacs/src/eval.c:1793
        val = <optimized out>
        c = 0x55e77bd0b710
#28 0x000055e773f3bc04 in dsafe__call
    (inhibit_quit=inhibit_quit@entry=true, f=0x55e7740c8d90 <Ffuncall>, nargs=nargs@entry=2, args=args@entry=0x7ffd6a2b1290) at ../../emacs/src/xdisp.c:3106
        count = {bytes = <optimized out>}
        redisplay_counter_before = 939536
        val = <optimized out>
#29 0x000055e773f6efbe in dsafe__call (inhibit_quit=true, nargs=2, f=<optimized out>, args=0x7ffd6a2b1290)
    at ../../emacs/src/xdisp.c:3094
        val = <optimized out>
        count = {bytes = <optimized out>}
        redisplay_counter_before = <optimized out>
#30 prepare_menu_bars () at ../../emacs/src/xdisp.c:14060
        windows = <optimized out>
        all_windows = <optimized out>
        some_windows = <optimized out>
        all_windows = <optimized out>
        some_windows = <optimized out>
        windows = <optimized out>
        ws = <optimized out>
        this = <optimized out>
        w = <optimized out>
        tail = <optimized out>
        frame = <optimized out>
        f = <optimized out>
        w = <optimized out>
        tail = <optimized out>
        frame = <optimized out>
        count = {bytes = <optimized out>}
        menu_bar_hooks_run = <optimized out>
        sw = <optimized out>
        sf = <optimized out>
        rf = <optimized out>
        f = <optimized out>
        w = <optimized out>
        sw = <optimized out>
        sf = <optimized out>
        rf = <optimized out>
#31 redisplay_internal () at ../../emacs/src/xdisp.c:17289
        w = 0x7f50663eea30
        sw = 0x7f50663eea30
        fr = <optimized out>
        must_finish = <optimized out>
        match_p = <optimized out>
        tlbufpos = {charpos = <optimized out>, bytepos = <optimized out>}
        tlendpos = {charpos = <optimized out>, bytepos = <optimized out>}
        number_of_visible_frames = <optimized out>
        sf = <optimized out>
        polling_stopped_here = <optimized out>
        tail = <optimized out>
        frame = <optimized out>
        hscroll_retries = <optimized out>
        garbaged_frame_retries = <optimized out>
        consider_all_windows_p = <optimized out>
        update_miniwindow_p = <optimized out>
        count = {bytes = <optimized out>}
        retry = <optimized out>
        previous_frame = <optimized out>
        current_matrices_cleared = <optimized out>
        new_count = <optimized out>
#32 0x000055e773f70ee5 in redisplay_preserve_echo_area (from_where=from_where@entry=8)
    at ../../emacs/src/xdisp.c:18050
        count = {bytes = <optimized out>}
#33 0x000055e77404e811 in detect_input_pending_run_timers (do_display=do_display@entry=true)
    at ../../emacs/src/keyboard.c:11765
        old_timers_run = <optimized out>
#34 0x000055e77412e143 in wait_reading_process_output
    (time_limit=time_limit@entry=30, nsecs=nsecs@entry=0, read_kbd=read_kbd@entry=-1, do_display=do_display@entry=true, wait_for_cell=wait_for_cell@entry=0x0, wait_proc=wait_proc@entry=0x0, just_wait_proc=0)
    at ../../emacs/src/process.c:5863
        leave = false
        process_skipped = <optimized out>
        wrapped = <optimized out>
        channel_start = <optimized out>
        child_fd = <optimized out>
        last_read_channel = 18
        channel = <optimized out>
        nfds = <optimized out>
        Available = {fds_bits = {103483688, 0 <repeats 15 times>}}
        Writeok = {fds_bits = {0 <repeats 16 times>}}
        check_write = <optimized out>
        check_delay = <optimized out>
        no_avail = false
        xerrno = 11
        proc = <optimized out>
        timeout = {tv_sec = 0, tv_nsec = 39276532}
        end_time = {tv_sec = <optimized out>, tv_nsec = <optimized out>}
        timer_delay = {tv_sec = <optimized out>, tv_nsec = <optimized out>}
        got_output_end_time = {tv_sec = <optimized out>, tv_nsec = <optimized out>}
        wait = <optimized out>
        got_some_output = -1
        prev_wait_proc_nbytes_read = 0
        retry_for_async = <optimized out>
        count = {bytes = <optimized out>}
        now = {tv_sec = <optimized out>, tv_nsec = <optimized out>}
#35 0x000055e773f28d48 in sit_for
    (timeout=timeout@entry=0x7a, reading=reading@entry=true, display_option=display_option@entry=1)
    at ../../emacs/src/dispnew.c:7007
        sec = 30
        nsec = 0
        do_display = true
        curbuf_eq_winbuf = true
        nbytes = <optimized out>
#36 0x000055e774049751 in read_char
    (commandflag=1, map=map@entry=0x7f4fe3bb2743, prev_event=0x0, used_mouse_menu=used_mouse_menu@entry=0x7ffd6a2b2f8b, end_time=end_time@entry=0x0) at ../../emacs/src/keyboard.c:2942
        tem0 = <optimized out>
        timeout = 30
        count1 = {bytes = <optimized out>}
        delay_level = <optimized out>
        buffer_size = <optimized out>
        c = <optimized out>
        local_getcjmp = {{__jmpbuf = {139983216267777, -7185469048144634495, 94452706735984, 0, 5961, 139981099837251, -7185469048002028159, -4000276575438611071}, __mask_was_saved = 0, __saved_mask = {__val = {128, 0, 0, 139981142478776, 94452574418320, 140726384668096, 94452572778276, 139982496915949, 139981099825088, 139983273579872, 139983297782696, 140726384668064, 94452572696013, 140726384668096, 45530698062208, 140726384668208}}}}
        save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94452572778135, 0, 0, 3, 94452572190992, 140726384659360}}}}
        tem = <optimized out>
        save = <optimized out>
        previous_echo_area_message = 0x0
        also_record = 0x0
        reread = false
        recorded = false
        polling_stopped_here = false
        orig_kboard = 0x55e77c087770
        retry = <optimized out>
        jmpcount = {bytes = <optimized out>}
        c_volatile = 0x0
#37 0x000055e77404ab21 in read_key_sequence
    (keybuf=keybuf@entry=0x7ffd6a2b30c0, prompt=prompt@entry=0x0, dont_downcase_last=dont_downcase_last@entry=false, can_return_switch_frame=can_return_switch_frame@entry=true, fix_current_buffer=fix_current_buffer@entry=true, prevent_redisplay=prevent_redisplay@entry=false, disable_text_conversion_p=false)
    at ../../emacs/src/keyboard.c:10932
        interrupted_kboard = 0x55e77c087770
        interrupted_frame = <optimized out>
        key = <optimized out>
        used_mouse_menu = false
        echo_local_start = 0
        last_real_key_start = <optimized out>
        keys_local_start = 0
        new_binding = <optimized out>
        count = {bytes = <optimized out>}
        t = <optimized out>
        echo_start = 0
        keys_start = 0
        current_binding = 0x7f4fe3bb2743
        first_unbound = 31
        mock_input = <optimized out>
        used_mouse_menu_history = {false <repeats 30 times>}
        fkey = {parent = 0x7f506743f903, map = 0x7f506743f903, start = 0, end = 0}
        keytran = {parent = 0x7f5064402d0b, map = 0x7f5064402d0b, start = 0, end = 0}
        indec = {parent = 0x7f506743f8eb, map = 0x7f506743f8eb, start = 0, end = 0}
        shift_translated = <optimized out>
        delayed_switch_frame = <optimized out>
        original_uppercase = <optimized out>
        original_uppercase_position = <optimized out>
        disabled_conversion = <optimized out>
        starting_buffer = <optimized out>
        fake_prefixed_keys = 0x0
        first_event = 0x0
        second_event = <optimized out>
#38 0x000055e77404c8a8 in command_loop_1 () at ../../emacs/src/keyboard.c:1441
        cmd = <optimized out>
        keybuf = {0x1e2, 0x18a, 0x1de, 0x0, 0xffffffffffffffff, 0x55e774257590, 0x7ffd6a2b3160, 0x55e7740c6f24 <unbind_to+308>, 0x7f4fe2d1ca2b, 0x7ffd6a2b3180, 0xc, 0x13cf8, 0x38, 0x7f4fe15cf0b5, 0x2968f69e5cc8, 0x7f4fe2d1ca2b, 0x60, 0x7ffd6a2b3180, 0xffffffffffffffff, 0x7ffd6a2b3338, 0x7ffd6a2b31e0, 0x55e77403facd <cmd_error+349>, 0x0, 0x0, 0xffffffffffffff00, 0x55e774257590, 0x7ffd6a2b3200, 0x55e7740c6f24 <unbind_to+308>, 0x0, 0xcd68}
        i = <optimized out>
        last_pt = <optimized out>
        prev_modiff = 52791
        prev_buffer = 0x7f4fe645cfb8
#39 0x000055e7740c5c36 in internal_condition_case
    (bfun=bfun@entry=0x55e77404c6f0 <command_loop_1>, handlers=handlers@entry=0xa8, hfun=hfun@entry=0x55e77403f970 <cmd_error>) at ../../emacs/src/eval.c:1713
        val = <optimized out>
        c = 0x55e77bd0b580
#40 0x000055e77403758e in command_loop_2 (handlers=handlers@entry=0xa8) at ../../emacs/src/keyboard.c:1180
        val = <optimized out>
#41 0x000055e7740c5b62 in internal_catch
    (tag=tag@entry=0x15118, func=func@entry=0x55e774037560 <command_loop_2>, arg=arg@entry=0xa8)
    at ../../emacs/src/eval.c:1393
        val = <optimized out>
        c = <optimized out>
#42 0x000055e774037523 in command_loop () at ../../emacs/src/keyboard.c:1158
#43 0x000055e77403f4e6 in recursive_edit_1 () at ../../emacs/src/keyboard.c:766
        count = {bytes = <optimized out>}
        val = <optimized out>
#44 0x000055e77403f898 in Frecursive_edit () at ../../emacs/src/keyboard.c:849
        count = {bytes = <optimized out>}
        buffer = <optimized out>
#45 0x000055e773f1c415 in main (argc=<optimized out>, argv=0x7ffd6a2b3558) at ../../emacs/src/emacs.c:2651
        stack_bottom_variable = 0x55e77bbd1b60
        old_argc = <optimized out>
        no_loadup = false
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0
        original_pwd = <optimized out>
        dump_mode = <optimized out>
        skip_args = 1
        temacs = 0x0
        attempt_load_pdump = <optimized out>
        only_version = false
        rlim = {rlim_cur = 10022912, rlim_max = 18446744073709551615}
        lc_all = <optimized out>
        sockfd = -1
        module_assertions = <optimized out>
(gdb) 

In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo
 version 1.18.4) of 2025-07-27 built on zen
Repository revision: 3ea927a0ff6d3050c7df6858e386ef7da3d7e690
Repository branch: feature/igc
Windowing system distributor 'The X.Org Foundation', version 11.0.12101016
System Description: Debian GNU/Linux 13 (trixie)

Configured using:
 'configure 'CPPFLAGS=-O2 -fno-omit-frame-pointer -g3'
 CPPFLAGS=-I/home/oscar/dev/include/mps
 LDFLAGS=-L/home/oscar/dev/other/mps/code --with-native-compilation
 --with-tree-sitter --without-toolkit-scroll-bars --with-x-toolkit=lucid
 --with-modules --without-imagemagick --with-mps=yes'

Configured features:
CAIRO FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG LIBOTF
LIBSELINUX LIBXML2 MODULES MPS NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG
RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TREE_SITTER WEBP X11 XAW3D XDBE
XIM XPM LUCID ZLIB

Important settings:
  value of $LANG: C
  locale-coding-system: nil

Major mode: lp0[ts]

Minor modes in effect:
  ofv-time-tracker-mode: t
  window-highlight-mode: t
  treemacs-filewatch-mode: t
  treemacs-follow-mode: t
  treemacs-git-mode: t
  treemacs-fringe-indicator-mode: t
  flycheck-mode: t
  symbol-overlay-mode: t
  company-fuzzy-mode: t
  company-mode: t
  aggressive-indent-mode: t
  org-roam-db-autosync-mode: t
  fancy-compilation-mode: t
  diff-hl-flydiff-mode: t
  diff-hl-mode: t
  difftastic-bindings-mode: t
  global-git-commit-mode: t
  pulsar-global-mode: t
  pulsar-mode: t
  evil-owl-mode: t
  enhanced-evil-paredit-mode: t
  evil-local-mode: t
  mini-echo-mode: t
  global-hide-mode-line-mode: t
  hide-mode-line-mode: t
  key-chord-mode: t
  paredit-mode: t
  server-mode: t
  yas-minor-mode: t
  display-fill-column-indicator-mode: t
  vertico-multiform-mode: t
  marginalia-mode: t
  vertico-mode: t
  ws-butler-mode: t
  which-key-mode: t
  global-anzu-mode: t
  anzu-mode: t
  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
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  window-divider-mode: t
  minibuffer-regexp-mode: t
  column-number-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/home/oscar/elisp/singles/flx hides /home/oscar/.emacs.d/elpa/flx-20240205.356/flx
/home/oscar/elisp/magit/lisp/magit-section hides /home/oscar/.emacs.d/elpa/magit-section-20250725.1036/magit-section
/home/oscar/elisp/singles/which-key hides /home/oscar/dev/emacs/igc/emacs/lisp/which-key

Features:
(shadow sort mail-extr emacsbug vc-hg vc-bzr vc-src vc-sccs vc-cvs
vc-rcs bug-reference consult dabbrev misearch multi-isearch whitespace
company-dabbrev-code company-dabbrev ofv-time-tracker cus-start cus-load
help-fns radix-tree vertico-grid mm-archive gnutls url-cache url-http
url-auth url-gw display-line-numbers vertico-directory mule-util
vertico-sort fussy window-highlight solarized-selenized-dark-theme
solarized-selenized-light-theme solarized-palettes solarized
solarized-faces meteo-radar lsp-dart lsp-dart-commands
lsp-dart-flutter-widget-guide lsp-dart-flutter-fringe-colors
lsp-dart-flutter-colors lsp-dart-outline lsp-dart-code-lens lsp-lens
lsp-dart-test-tree lsp-treemacs lsp-treemacs-generic lsp-treemacs-themes
treemacs-treelib treemacs treemacs-header-line treemacs-compatibility
treemacs-mode treemacs-bookmarks treemacs-tags treemacs-interface
treemacs-persistence treemacs-filewatch-mode treemacs-follow-mode
treemacs-rendering treemacs-annotations treemacs-async
treemacs-workspaces treemacs-dom treemacs-visuals
treemacs-fringe-indicator treemacs-faces treemacs-icons treemacs-scope
treemacs-themes treemacs-core-utils pfuture hl-line treemacs-logging
treemacs-customization treemacs-macros lsp-dart-test-output
lsp-dart-test-support lsp-dart-dap lsp-dart-devtools
lsp-dart-flutter-daemon jsonrpc dap-utils dom xml dap-mode dap-tasks
dap-launch lsp-docker yaml posframe dap-overlays lsp-dart-closing-labels
lsp-dart-utils lsp-dart-protocol lsp-mode lsp-protocol tree-widget
spinner network-stream nsm markdown-mode lv f flymake flycheck
lp0-ts-mode lp0-mode symbol-overlay company-ctags find-file
company-fuzzy ht company aggressive-indent deft orgit
emacsql-sqlite-builtin org-roam-migrate org-roam-log org-roam-mode
org-roam-capture org-roam-id org-roam-node org-roam-db org-roam-utils
org-roam-compat org-roam org-attach emacsql-sqlite emacsql
emacsql-compiler org-noter org-element org-persist org-id
org-element-ast inline avl-tree org-protocol org-capture org-refile
org-crypt org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro
org-src sh-script smie treesit executable ob-comint org-pcomplete
org-list org-footnote org-faces org-entities noutline outline
ob-emacs-lisp ob-core ob-eval org-cycle org-table org-keys oc
org-loaddefs find-func etags-select etags fileloop generator xref
project ol org-fold org-fold-core org-compat org-version org-macs
cond-star fancy-compilation ffap diff-hl-flydiff diff-hl log-view vc-dir
ewoc vc difftastic-bindings difftastic view magit-bookmark bookmark
git-rebase magit-dired magit-extras magit-sparse-checkout
magit-gitignore magit-ediff ediff magit-subtree magit-patch
magit-submodule magit-blame magit-stash magit-reflog magit-bisect
magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit
magit-sequence magit-notes magit-worktree magit-tag magit-merge
magit-branch magit-reset magit-files magit-refs magit-status magit
magit-repos magit-apply magit-wip magit-log magit-diff smerge-mode diff
git-commit magit-core magit-autorevert autorevert filenotify
magit-margin magit-transient magit-process with-editor shell pcomplete
magit-mode transient magit-git magit-base which-func imenu vc-git
files-x vc-dispatcher magit-section benchmark cursor-sensor crm llama
pulsar pulse color evil-owl format-spec buffer-flip
enhanced-evil-paredit evil-anzu evil evil-keybindings evil-integration
evil-maps evil-commands evil-digraphs reveal evil-jumps
evil-command-window evil-types evil-search evil-ex evil-macros
evil-repeat evil-states evil-core evil-common rect evil-vars mini-echo
mini-echo-segments let-alist hide-mode-line face-remap wgrep grep ag
vc-svn find-dired s dash key-chord comp comp-cstr comp-run comp-common
cmake-mode rx rst compile comint ansi-osc ansi-color paredit-menu
paredit edmacro kmacro server yasnippet lisp-mnt psvn wid-edit log-edit
message sendmail yank-media puny rfc822 mml mml-sec epa derived epg
rfc6068 epg-config gnus-util text-property-search time-date mm-decode
mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util
ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader
pcvs-util add-log diff-mode track-changes pp elp ediff-merg ediff-mult
ediff-wind ediff-diff ediff-help ediff-init ediff-util dired
dired-loaddefs display-fill-column-indicator vertico-multiform
marginalia vertico flx-rs-core flx-rs flx goto-chg avy ring
highlight-parentheses ws-butler which-key diminish cl anzu easy-mmode
thingatpt tmr pcase compat solar cal-dst cal-menu calendar cal-loaddefs
finder-inf advice cl-extra help-mode warnings disp-table
apropospriate-theme-autoloads company-posframe-autoloads
company-autoloads consult-flycheck-autoloads consult-lsp-autoloads
consult-org-roam-autoloads corfu-autoloads deadgrep-autoloads
diff-hl-autoloads eat-autoloads ellama-autoloads
embark-consult-autoloads consult-autoloads embark-autoloads
flutter-autoloads flycheck-autoloads fussy-autoloads flx-autoloads
groovy-mode-autoloads llm-autoloads lsp-dart-autoloads
dart-mode-autoloads dap-mode-autoloads bui-autoloads
lsp-docker-autoloads lsp-treemacs-autoloads lsp-ui-autoloads
lsp-mode-autoloads f-autoloads marginalia-autoloads
markdown-mode-autoloads org-roam-autoloads magit-section-autoloads
llama-autoloads emacsql-autoloads plz-event-source-autoloads
plz-media-type-autoloads plz-autoloads pomm-autoloads alert-autoloads
log4e-autoloads gntp-autoloads spinner-autoloads swiper-autoloads
ivy-autoloads symbol-overlay-autoloads treemacs-autoloads cfrs-autoloads
posframe-autoloads ht-autoloads hydra-autoloads lv-autoloads
pfuture-autoloads ace-window-autoloads avy-autoloads s-autoloads info
dash-autoloads vertico-autoloads wgrep-ag-autoloads
wgrep-deadgrep-autoloads wgrep-autoloads yaml-autoloads package
browse-url xdg url url-proxy url-privacy url-expand url-methods
url-history url-cookie generate-lisp-file url-domsuf url-util mailcap
url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs icons
password-cache json subr-x map byte-opt gv bytecomp byte-compile
url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren
electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
term/x-win x-win term/common-win x-dnd touch-screen 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 inotify dynamic-setting
system-font-setting font-render-setting cairo x-toolkit x multi-tty
move-toolbar make-network-process tty-child-frames native-compile mps
emacs)

Memory information:
((conses 24 0 0) (symbols 56 0 0) (strings 40 0 0) (string-bytes 1 0)
 (vectors 24 0) (vector-slots 8 0 0) (floats 24 0 0)
 (intervals 64 0 0) (buffers 1072 0))