From: Michael Welsh Duggan <mwd@md5i.com>
To: Michael Welsh Duggan <mwd@md5i.com>
Cc: "schwab@linux-m68k.org" <schwab@linux-m68k.org>,
"47244@debbugs.gnu.org" <47244@debbugs.gnu.org>,
Michael Welsh Duggan <mwd@cert.org>
Subject: bug#47244: 28.0.50; SIGSEGV in long-runnning Emacs
Date: Thu, 08 Apr 2021 11:33:27 -0400 [thread overview]
Message-ID: <87pmz4rdtk.fsf@md5i.com> (raw)
In-Reply-To: <871rbkn6op.fsf@md5i.com> (Michael Welsh Duggan's message of "Thu, 08 Apr 2021 11:21:10 -0400")
Michael Welsh Duggan <mwd@md5i.com> writes:
> Michael Welsh Duggan <mwd@cert.org> writes:
>
>> martin rudalics <rudalics@gmx.at> writes:
>>
>>> > FWIW, I've been trying to do the same and have been similarly
>>> > unsuccessful.
>>>
>>> I attach a version where I make a shadow copy of Vwindow_list called
>>> Vwindow_list_2. The two should behave the same just that Vwindow_list_2
>>> is never accessed by other code. So we can put an assertion like
>>>
>>> eassert (!NILP (Fequal (Vwindow_list, Vwindow_list_2)));
>>>
>>> anywhere in the code. I put one in window_list and it should trigger
>>> the same way as the length check before.
>>>
>>> Now if anyone can suggest some strategic positions where to put these
>>> assertions, I'll be all ears.
>>
>> I've yet to run this code yet (will do so shortly), but I'd like to
>> mention that some other debugging I've been doing involving tricky
>> breakpoint commands is implying that, somehow, list_windows() is getting
>> called while list_windows() is still running. I've got a breakpoint
>> at the beginning of the if clause in window_list() and one at the end,
>> and it looks like I'm seeing the first one get called twice without the
>> second getting called inbetween.
>
> Okay, close, but not quite. What seems to be happening is this:
> list_windows() is called while Vwindow_list is nil, and the if branch is
> taken. Something causes list_windows() to exit without reaching the end
> of the if block. This leaves Vwindow_list partially created. The next
> time list_windows() is called it returns the partially created list.
>
> To determine this I put a breakpoint at the beginning of the if block
> that sets a gdb convenience variable called $in_list_windows to one and
> continues. I put a breakpoint at the end of that block that sets it to
> zero and continues. I put a third condition breakpoint at the entrance
> to list_windows() that only triggers if $in_list_windows is one. This
> triggered with the included backtrace.
>
> 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?
For the backtrace of that run, please note that I was using my own
modified version of list_windows(), not Martin's latest one. I'm now
running with Martin's version for the next trigger.
--
Michael Welsh Duggan
(md5i@md5i.com)
next prev parent reply other threads:[~2021-04-08 15:33 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 [this message]
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
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87pmz4rdtk.fsf@md5i.com \
--to=mwd@md5i.com \
--cc=47244@debbugs.gnu.org \
--cc=mwd@cert.org \
--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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.