Subject: 28.0.50; SIGSEGV in long-runnning Emacs

From: Michael Welsh Duggan <[email-masked]>
Date: Thu, 18 Mar 2021 11:42:19 -0400

Re-sent with actual attachment.

I have managed to catch a SEGFAULT in a long-running Emacs in the
debugger.  I've been unable to recreate this SEGFAULT on demand, but it
seems to be happening when I am attempting to "reset" gnus after
switching my work VPN on/off.  I will keep the gdb session up an running
in case there is some more that can be done with this.

In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0)
 of 2021-03-07 built on miko
Repository revision: c63d2ef59c511c1c48c69a202907b7edfcbb19b3
Repository branch: md5i
Windowing system distributor 'The X.Org Foundation', version 11.0.12010000
System Description: Debian GNU/Linux bullseye/sid

Configured using:
 'configure --without-toolkit-scroll-bars --with-x-toolkit=lucid
 'CFLAGS=-O0 -ggdb3''

Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON
LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY
INOTIFY PDUMPER PNG RSVG SOUND THREADS TIFF X11 XAW3D XDBE XIM XPM LUCID
ZLIB

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

#0  0x00005555555e1a61 in redisplay_internal ()
    at ../../master/src/xdisp.c:15789
        w = 0x555556b96340
        sw = 0x555556b96340
        fr = 0x555556b8ca50
        pending = false
        must_finish = true
        match_p = true
        tlbufpos = {
          charpos = 127,
          bytepos = 127
        }
        tlendpos = {
          charpos = 0,
          bytepos = 0
        }
        number_of_visible_frames = 4
        count = 3
        sf = 0x555556b8ca50
        polling_stopped_here = false
        tail = XIL(0)
        frame = XIL(0x555555d52afd)
        hscroll_retries = 0
        garbaged_frame_retries = 0
        consider_all_windows_p = false
        update_miniwindow_p = true
#1  0x00005555555e061e in redisplay () at ../../master/src/xdisp.c:15245
#2  0x00005555556e9991 in read_char
    (commandflag=1, map=XIL(0x555558a3e483), prev_event=XIL(0), used_mouse_menu=0x7fffffffdabf, end_time=0x0) at ../../master/src/keyboard.c:2496
        echo_current = false
        c = XIL(0)
        jmpcount = 93824999976800
        local_getcjmp = {{
            __jmpbuf = {93825000009536, 0, 93824999976800, 0, 0, 140737488345232, 93824994486337, 93825051609157},
            __mask_was_saved = -10032,
            __saved_mask = {
              __val = {93824994503322, 140737259960288, 140737259960240, 0, 46912259983440, 0, 140737259960288, 93824999976800, 0, 0, 140737488345344, 93824993977890, 4066572208, 93824999976800, 0, 0}
            }
          }}
        save_jump = {{
            __jmpbuf = {0, 32736, 0, 140737266320856, 0, 0, 93825051609152, 0},
            __mask_was_saved = 0,
            __saved_mask = {
              __val = {93825000009536, 93824994486337, 0, 140737488345184, 93824994507922, 140737266320856, 12884891664, 0, 32736, 93825051609152, 140737266320856, 93824995128912, 51539607552, 93825051609157, 93825051609152, 93824995129355}
            }
          }}
        tem = XIL(0)
        save = make_fixnum(23456248494472)
        previous_echo_area_message = XIL(0)
        also_record = XIL(0)
        reread = false
        recorded = false
        polling_stopped_here = false
        orig_kboard = 0x555555dea0a0
#3  0x00005555556f86dc in read_key_sequence
    (keybuf=0x7fffffffdcc0, prompt=XIL(0), dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false)
    at ../../master/src/keyboard.c:9484
        interrupted_kboard = 0x555555dea0a0
        interrupted_frame = 0x555556b8ca50
        key = make_fixnum(23456248516455)
        used_mouse_menu = false
        echo_local_start = 0
        last_real_key_start = 0
        keys_local_start = 0
        new_binding = XIL(0x555557286ce0)
        count = 3
        t = 0
        echo_start = 0
        keys_start = 0
        current_binding = XIL(0x555558a3e483)
        first_unbound = 31
        mock_input = 0
        used_mouse_menu_history = {false <repeats 30 times>}
        fkey = {
          parent = XIL(0x5555568a0323),
          map = XIL(0x5555568a0323),
          start = 0,
          end = 0
        }
        keytran = {
          parent = XIL(0x7ffff2c27c4b),
          map = XIL(0x7ffff2c27c4b),
          start = 0,
          end = 0
        }
        indec = {
          parent = XIL(0x5555568a0353),
          map = XIL(0x5555568a0353),
          start = 0,
          end = 0
        }
        shift_translated = false
        delayed_switch_frame = XIL(0)
        original_uppercase = XIL(0)
        original_uppercase_position = -1
        dummyflag = false
        starting_buffer = 0x555558df4840
        fake_prefixed_keys = XIL(0)
        first_event = XIL(0)
        second_event = XIL(0)
#4  0x00005555556e6c13 in command_loop_1 () at ../../master/src/keyboard.c:1353
        cmd = XIL(0x7fffffffde10)
        keybuf = {XIL(0), XIL(0x7ffff2c27bf5), XIL(0x555555765719), XIL(0x1655540), XIL(0x7fffffffdd70), XIL(0x55555579dc50), XIL(0x1655540), XIL(0x7ffff257b4c4), XIL(0x555558df8683), XIL(0x7ffff2c27bf5), XIL(0x7ffff2c27bf5), XIL(0x555558df8683), XIL(0x7ffff257b4c4), XIL(0x1655540), XIL(0), XIL(0), XIL(0x555555cb6f60), XIL(0), XIL(0), XIL(0x7fffffffdd70), XIL(0x5555556e3b34), XIL(0xffffddc0), XIL(0x555555cb6f60), XIL(0), XIL(0), XIL(0x7fffffffdda0), XIL(0x555555797748), make_fixnum(0), XIL(0x7fffffffdde0), XIL(0x55555579ae39)}
        i = 1
        prev_modiff = 0
        prev_buffer = 0x0
        already_adjusted = false
#5  0x000055555579aa34 in internal_condition_case (bfun=0x5555556e67cd <command_loop_1>, handlers=XIL(0x90), hfun=0x5555556e5f69 <cmd_error>) at ../../master/src/eval.c:1439
        val = XIL(0x5555556e3b34)
        c = 0x555555db1380
#6  0x00005555556e6495 in command_loop_2 (ignore=XIL(0)) at ../../master/src/keyboard.c:1094
        val = make_fixnum(0)
#7  0x000055555579a242 in internal_catch (tag=XIL(0xd950), func=0x5555556e6468 <command_loop_2>, arg=XIL(0)) at ../../master/src/eval.c:1189
        val = XIL(0xd950)
        c = 0x555555d9a6f0
#8  0x00005555556e6434 in command_loop () at ../../master/src/keyboard.c:1073
#9  0x00005555556e5b3a in recursive_edit_1 () at ../../master/src/keyboard.c:720
        count = 1
        val = XIL(0x7fffffffdf50)
#10 0x00005555556e5cbd in Frecursive_edit () at ../../master/src/keyboard.c:789
        count = 0
        buffer = XIL(0)
#11 0x00005555556e26ea in main (argc=2, argv=0x7fffffffe1b8) at ../../master/src/emacs.c:2050
        stack_bottom_variable = 0x7ffff617e053
        no_loadup = false
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0
        original_pwd = 0x0
        dump_mode = 0x0
        skip_args = 1
        temacs = 0x0
        attempt_load_pdump = true
        rlim = {
          rlim_cur = 10022912,
          rlim_max = 18446744073709551615
        }
        lc_all = 0x0
        sockfd = -1
        module_assertions = false

Lisp Backtrace:
"redisplay_internal (C function)" (0x0)

-- 
Michael Welsh Duggan
([email-masked])