GNU bug report logs -
#45117
28.0.50; process-send-string mysteriously exiting non-locally when called from timer
Previous Next
Reported by: João Távora <joaotavora <at> gmail.com>
Date: Tue, 8 Dec 2020 11:45:02 UTC
Severity: normal
Found in version 28.0.50
Done: João Távora <joaotavora <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> From: João Távora <joaotavora <at> gmail.com>
> Cc: 45117 <at> debbugs.gnu.org
> Date: Thu, 10 Dec 2020 15:00:58 +0000
>
> 6 breakpoint keep y 0x0000555555966de5 in unwind_to_catch at eval.c:1178
> stop only if bidi_inhibit_bpa != 0
You have put the breakpoint at the point where sys_longjmp is about to
be called, right? But all the unwind forms are already done at that
point, so I guess bidi_inhibit_bpa is again zero, and the breakpoint
doesn't break. So I suggest to move the breakpoint before the
do-while loop in unwind_to_catch:
do
{
/* Unwind the specpdl stack, and then restore the proper set of
handlers. */
unbind_to (handlerlist->pdlcount, Qnil);
last_time = handlerlist == catch;
if (! last_time)
handlerlist = handlerlist->next;
}
while (! last_time);
> 1. Shouldn't all of these have triggered the breakpoint?? I'm setting
> the Elisp/C variable in the macro. I tested the technique
> separately.
>
> 2. Are we sure that no other mechanisms other than throw/catch/signal
> can trigger a non-local exit (that unwind-protect can still somehow
> catch?).
Let's see if it works to move the breakpoint location, and take it
from there.
This bug report was last modified 4 years and 162 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.