From: Michael Welsh Duggan <mwd@cert.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Michael Welsh Duggan <mwd@md5i.com>,
"schwab@linux-m68k.org" <schwab@linux-m68k.org>,
"47244@debbugs.gnu.org" <47244@debbugs.gnu.org>
Subject: bug#47244: 28.0.50; SIGSEGV in long-runnning Emacs
Date: Thu, 08 Apr 2021 13:11:34 -0400 [thread overview]
Message-ID: <y2tdef1rbkk8ft.fsf@lx-birch.ad.sei.cmu.edu> (raw)
In-Reply-To: <83pmz493ag.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 8 Apr 2021 11:58:15 -0400")
Eli Zaretskii <eliz@gnu.org> writes:
>> Lisp Backtrace:
>> "window-list-1" (0xffffbfa0)
>> "replace-buffer-in-windows" (0xffffc4a8)
>> "kill-buffer" (0xffffc710)
>> 0x571d80f8 PVEC_COMPILED
>> "substitute-command-keys" (0xffffd3d8)
>> "command-error-default-function" (0xffffd628)
>> "apply" (0xffffd7e8)
>> 0xf2c1d0e8 PVEC_COMPILED
>
> This seems to indicate that kill-buffer is called by
> substitute-command-keys, in which case the buffer in question is a
> temporary buffer. Can you verify that by looking at the buffer's name
> in frame #13:
>
>> #13 0x0000555555758e6d in Fkill_buffer
>> (buffer_or_name=XIL(0x5555571d7ced)) at
>> ../../master/src/buffer.c:1830
>> buffer = XIL(0x5555571d7ced)
>> b = 0x5555571d7ce8
>> tem = XIL(0x555555753673)
>> m = 0x7fffffffc5f0
As expected, it is " *temp*". This time I've kept the session around.
>> Once again, the state triggered when, due to the VPN state changing, a
>> background gnus demon hung trying to fetch mail. The trigger was me
>> hitting C-g twice rapidly in succession to regain interactivity.
>>
>> Can anyone recommend a means to check if this my theory is true? Does
>> list_windows() need to be protected against quit?
>
> Set a breakpoint in 'quit' and disable it. Set another breakpoint at
> entry to 'window_list' that enables the breakpoint in 'quit', then
> another breakpoint at exit which disables the breakpoint in 'quit'.
> Then wait for the breakpoint in 'quit' to break during your recipe.
>
> Perhaps also do the same with a breakpoint in Fthrow.
I hit the breakpoint in quit. It looks like Fnconc uses FOR_EACH_TAIL,
which uses FOR_EACH_TAIL_INTENAL, which calls maybe_quit. The question
in my mind now is whether block/unblock_input belongs in window_list or
in Fnconc.
Thread 4.1 "emacs" hit Breakpoint 8, quit () at ../../master/src/eval.c:1660
1660 return signal_or_quit (Qquit, Qnil, true);
(gdb) bt
#0 quit () at ../../master/src/eval.c:1660
#1 0x00005555557f9a27 in process_quit_flag () at ../../master/src/eval.c:1607
#2 0x00005555557f9a6a in maybe_quit () at ../../master/src/eval.c:1627
#3 0x000055555580eb65 in Fnconc (nargs=2, args=0x7fffffffb910)
at ../../master/src/fns.c:2783
#4 0x000055555580ea3b in nconc2
(s1=XIL(0x5555573e73a3), s2=XIL(0x5555573e73c3))
at ../../master/src/fns.c:2759
#5 0x000055555564b2db in window_list () at ../../master/src/window.c:2578
#6 0x00005555555eb138 in prepare_menu_bars ()
at ../../master/src/xdisp.c:12717
#7 0x00005555555f2a3c in redisplay_internal ()
at ../../master/src/xdisp.c:15668
#8 0x00005555555f48f2 in redisplay_preserve_echo_area (from_where=8)
at ../../master/src/xdisp.c:16385
#9 0x00005555557393fa in detect_input_pending_run_timers (do_display=true)
at ../../master/src/keyboard.c:10308
#10 0x0000555555869789 in wait_reading_process_output
(time_limit=0, nsecs=0, read_kbd=-1, do_display=true, wait_for_cell=XIL(0), wait_proc=0x0, just_wait_proc=0) at ../../master/src/process.c:5657
#11 0x0000555555728ed2 in kbd_buffer_get_event
(kbp=0x7fffffffd428, used_mouse_menu=0x7fffffffda6f, end_time=0x0)
at ../../master/src/keyboard.c:3869
#12 0x0000555555723ba7 in read_event_from_main_queue
(end_time=0x0, local_getcjmp=0x7fffffffd800, used_mouse_menu=0x7fffffffda6f) at ../../master/src/keyboard.c:2159
#13 0x0000555555723f25 in read_decoded_event_from_main_queue
(end_time=0x0, local_getcjmp=0x7fffffffd800, prev_event=XIL(0), used_mouse_menu=0x7fffffffda6f) at ../../master/src/keyboard.c:2223
#14 0x0000555555725ee8 in read_char
(commandflag=1, map=XIL(0x55555730fcb3), prev_event=XIL(0), used_mouse_menu=0x7fffffffda6f, end_time=0x0) at ../../master/src/keyboard.c:2833
#15 0x00005555557375dc in read_key_sequence
(keybuf=0x7fffffffdc70, prompt=XIL(0), dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false)
at ../../master/src/keyboard.c:9491
#16 0x0000555555721412 in command_loop_1 () at ../../master/src/keyboard.c:1353
#17 0x00005555557f9424 in internal_condition_case
(bfun=0x555555720f96 <command_loop_1>, handlers=XIL(0x90), hfun=0x5555557205b9 <cmd_error>) at ../../master/src/eval.c:1439
#18 0x0000555555720b86 in command_loop_2 (ignore=XIL(0))
at ../../master/src/keyboard.c:1094
#19 0x00005555557f8834 in internal_catch
(tag=XIL(0xd9e0), func=0x555555720b59 <command_loop_2>, arg=XIL(0))
at ../../master/src/eval.c:1189
#20 0x0000555555720b25 in command_loop () at ../../master/src/keyboard.c:1073
#21 0x00005555557200a2 in recursive_edit_1 ()
at ../../master/src/keyboard.c:720
#22 0x0000555555720299 in Frecursive_edit () at ../../master/src/keyboard.c:789
#23 0x000055555571c17e in main (argc=2, argv=0x7fffffffe168)
at ../../master/src/emacs.c:2050
Lisp Backtrace:
"redisplay_internal (C function)" (0x0)
--
Michael Welsh Duggan
(mwd@cert.org)
next prev parent reply other threads:[~2021-04-08 17:11 UTC|newest]
Thread overview: 160+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-18 15:39 bug#47244: 28.0.50; SIGSEGV in long-runnning Emacs Michael Welsh Duggan
2021-03-18 15:42 ` Michael Welsh Duggan
2021-03-18 15:49 ` Michael Welsh Duggan
2021-03-18 16:02 ` Andreas Schwab
2021-03-18 16:02 ` Eli Zaretskii
2021-03-18 16:27 ` Michael Welsh Duggan
2021-03-18 16:45 ` Eli Zaretskii
2021-03-18 16:54 ` Michael Welsh Duggan
2021-03-18 18:41 ` Eli Zaretskii
2021-03-18 18:54 ` Michael Welsh Duggan
2021-03-18 19:16 ` Eli Zaretskii
2021-03-18 19:24 ` Michael Welsh Duggan
2021-03-18 19:51 ` Eli Zaretskii
2021-03-18 20:13 ` Andreas Schwab
2021-03-18 20:27 ` Eli Zaretskii
2021-03-19 1:50 ` Michael Welsh Duggan
2021-03-19 6:47 ` Eli Zaretskii
2021-03-19 13:37 ` Michael Welsh Duggan
2021-03-19 13:41 ` Michael Welsh Duggan
2021-03-19 13:51 ` Eli Zaretskii
2021-03-19 13:49 ` Eli Zaretskii
2021-03-19 14:18 ` Michael Welsh Duggan
2021-03-19 14:21 ` Michael Welsh Duggan
2021-03-19 15:00 ` Eli Zaretskii
2021-03-19 15:14 ` Michael Welsh Duggan
2021-03-23 14:18 ` Michael Welsh Duggan
2021-03-23 15:02 ` Eli Zaretskii
2021-03-23 15:08 ` Michael Welsh Duggan
2021-03-23 16:42 ` Eli Zaretskii
2021-03-23 15:23 ` martin rudalics
2021-03-23 15:53 ` Michael Welsh Duggan
2021-03-23 16:45 ` Eli Zaretskii
2021-03-24 6:53 ` martin rudalics
2021-03-24 14:14 ` Michael Welsh Duggan
2021-03-24 16:09 ` martin rudalics
2021-03-25 2:19 ` Michael Welsh Duggan
2021-03-25 6:25 ` Eli Zaretskii
2021-03-29 14:06 ` Michael Welsh Duggan
2021-03-29 14:28 ` Eli Zaretskii
2021-03-29 14:39 ` Michael Welsh Duggan
2021-03-29 15:02 ` Eli Zaretskii
2021-03-29 15:07 ` Eli Zaretskii
2021-03-29 15:21 ` Michael Welsh Duggan
2021-03-29 15:26 ` Michael Welsh Duggan
2021-03-29 15:27 ` Eli Zaretskii
2021-03-29 15:33 ` Michael Welsh Duggan
2021-03-29 15:34 ` Michael Welsh Duggan
2021-03-29 15:41 ` Eli Zaretskii
2021-03-29 16:23 ` Michael Welsh Duggan
2021-03-29 15:21 ` Eli Zaretskii
2021-03-29 16:05 ` martin rudalics
2021-03-29 16:26 ` Michael Welsh Duggan
2021-03-29 17:33 ` martin rudalics
2021-03-29 19:12 ` Michael Welsh Duggan
2021-03-30 7:30 ` martin rudalics
2021-03-30 13:39 ` Michael Welsh Duggan
2021-03-30 14:36 ` martin rudalics
2021-03-30 14:51 ` Michael Welsh Duggan
2021-03-30 15:05 ` martin rudalics
2021-03-30 14:13 ` Michael Welsh Duggan
2021-03-30 14:36 ` martin rudalics
2021-03-30 14:48 ` Eli Zaretskii
2021-03-30 15:05 ` martin rudalics
2021-03-30 15:13 ` Eli Zaretskii
2021-03-30 16:52 ` martin rudalics
2021-03-30 17:05 ` Eli Zaretskii
2021-03-31 6:41 ` martin rudalics
2021-03-31 7:09 ` Eli Zaretskii
2021-03-30 15:03 ` Michael Welsh Duggan
2021-03-30 16:52 ` martin rudalics
2021-03-31 13:23 ` Michael Welsh Duggan
2021-03-31 13:53 ` Michael Welsh Duggan
2021-03-31 14:01 ` Eli Zaretskii
2021-03-31 14:32 ` martin rudalics
2021-03-31 14:48 ` Michael Welsh Duggan
2021-03-31 15:49 ` martin rudalics
2021-03-31 17:01 ` Michael Welsh Duggan
2021-03-31 18:41 ` martin rudalics
2021-03-31 19:14 ` Michael Welsh Duggan
2021-03-31 19:18 ` Michael Welsh Duggan
2021-04-01 7:14 ` martin rudalics
2021-04-01 7:45 ` Eli Zaretskii
2021-04-01 13:20 ` Michael Welsh Duggan
2021-04-01 13:22 ` Eli Zaretskii
2021-04-01 13:54 ` Michael Welsh Duggan
2021-04-01 14:56 ` martin rudalics
2021-04-01 18:30 ` Michael Welsh Duggan
2021-04-01 19:31 ` Michael Welsh Duggan
2021-04-02 6:48 ` martin rudalics
2021-04-05 18:15 ` Michael Welsh Duggan
2021-04-05 18:45 ` martin rudalics
2021-04-05 19:57 ` Michael Welsh Duggan
2021-04-05 20:39 ` martin rudalics
2021-04-05 20:56 ` Michael Welsh Duggan
2021-04-06 8:10 ` martin rudalics
2021-04-06 14:40 ` Michael Welsh Duggan
2021-04-06 16:12 ` martin rudalics
2021-04-06 16:48 ` Michael Welsh Duggan
2021-04-06 17:00 ` martin rudalics
2021-04-06 17:24 ` Michael Welsh Duggan
2021-04-07 2:22 ` Michael Welsh Duggan
2021-04-07 7:52 ` Andreas Schwab
2021-04-07 9:00 ` martin rudalics
2021-04-07 12:42 ` Michael Welsh Duggan
2021-04-07 13:35 ` martin rudalics
2021-04-07 15:29 ` Michael Welsh Duggan
2021-04-07 16:16 ` martin rudalics
2021-04-07 17:37 ` Michael Welsh Duggan
2021-04-07 17:55 ` Michael Welsh Duggan
2021-04-07 18:31 ` Michael Welsh Duggan
2021-04-07 19:25 ` Michael Welsh Duggan
2021-04-07 20:25 ` martin rudalics
2021-04-07 20:32 ` Michael Welsh Duggan
2021-04-08 6:59 ` martin rudalics
2021-04-08 10:47 ` Gregory Heytings
2021-04-08 11:39 ` Eli Zaretskii
2021-04-08 12:06 ` Andreas Schwab
2021-04-08 12:29 ` Eli Zaretskii
2021-04-08 12:43 ` Gregory Heytings
2021-04-08 12:59 ` Eli Zaretskii
2021-04-08 16:20 ` Gregory Heytings
2021-04-08 12:03 ` martin rudalics
2021-04-08 12:24 ` Gregory Heytings
2021-04-08 13:39 ` Michael Welsh Duggan
2021-04-08 14:35 ` Michael Welsh Duggan
2021-04-08 15:08 ` Eli Zaretskii
2021-04-08 15:24 ` Andreas Schwab
2021-04-08 15:21 ` Michael Welsh Duggan
2021-04-08 15:33 ` Michael Welsh Duggan
2021-04-08 15:48 ` martin rudalics
2021-04-08 16:01 ` Michael Welsh Duggan
2021-04-08 16:14 ` martin rudalics
2021-04-08 16:35 ` Eli Zaretskii
2021-04-08 16:42 ` Michael Welsh Duggan
2021-04-08 15:58 ` Eli Zaretskii
2021-04-08 16:05 ` Michael Welsh Duggan
2021-04-08 16:28 ` Eli Zaretskii
2021-04-08 16:37 ` Michael Welsh Duggan
2021-04-08 16:49 ` Eli Zaretskii
2021-04-08 17:15 ` Michael Welsh Duggan
2021-04-08 17:11 ` Michael Welsh Duggan [this message]
2021-04-08 17:46 ` Eli Zaretskii
2021-04-08 17:51 ` Michael Welsh Duggan
2021-04-08 18:52 ` martin rudalics
2021-04-09 20:59 ` Michael Welsh Duggan
2021-04-10 7:15 ` martin rudalics
2021-04-10 14:53 ` Michael Welsh Duggan
2021-04-10 18:57 ` martin rudalics
2021-04-17 8:01 ` martin rudalics
2021-04-20 14:03 ` Michael Welsh Duggan
2021-04-07 19:40 ` Eli Zaretskii
2021-04-07 18:48 ` martin rudalics
2021-04-07 18:53 ` Michael Welsh Duggan
2021-04-07 20:25 ` martin rudalics
2021-04-07 9:00 ` martin rudalics
2021-03-19 8:15 ` martin rudalics
2021-03-19 8:19 ` Eli Zaretskii
2021-03-19 9:18 ` martin rudalics
2021-03-19 9:37 ` martin rudalics
2021-03-19 11:55 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=y2tdef1rbkk8ft.fsf@lx-birch.ad.sei.cmu.edu \
--to=mwd@cert.org \
--cc=47244@debbugs.gnu.org \
--cc=eliz@gnu.org \
--cc=mwd@md5i.com \
--cc=schwab@linux-m68k.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).