From: martin rudalics <rudalics@gmx.at>
To: Eli Zaretskii <eliz@gnu.org>
Cc: acm@muc.de, 47207@debbugs.gnu.org
Subject: bug#47207: 28.0.50; decode_next_window_args crash
Date: Tue, 13 Apr 2021 17:54:55 +0200 [thread overview]
Message-ID: <b271888d-6273-d052-c788-505733bc1b72@gmx.at> (raw)
In-Reply-To: <83r1kcflv6.fsf@gnu.org>
and developers don't care.>> Because in my crash scenario (other-window 1 t) selects the tooltip
>> window.
>
> OK, then solving this issue will solve that as well, I guess.
Having just managed to "solve this issue" here in a more or less elegant
way, Alan beat me to it with a new twist. To reproduce with emacs -Q do
(custom-set-variables
'(tooltip-reuse-hidden-frame t)
'(x-gtk-use-system-tooltips nil))
show a tooltip (by moving the mouse over the mode line for example) and
then type C-h f followed by C-g. Here this gets me
Thread 1 "emacs" hit Breakpoint 1, terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at ../../src/emacs.c:399
399 signal (sig, SIG_DFL);
(gdb) bt
#0 0x00000000005a6c28 in terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at ../../src/emacs.c:399
#1 0x0000000000653420 in die (msg=0x7d01d6 "WINDOWP (a)", file=0x7d01c3 "../../src/window.h", line=543) at ../../src/alloc.c:7420
#2 0x00000000006006d2 in XWINDOW (a=XIL(0)) at ../../src/window.h:543
#3 0x00000000006039ae in read_minibuf_unwind () at ../../src/minibuf.c:1060
#4 0x000000000068e80e in do_one_unbind (this_binding=0x7fffffffc880, unwinding=true, bindflag=SET_INTERNAL_UNBIND) at ../../src/eval.c:3594
#5 0x000000000068ebc9 in unbind_to (count=3, value=XIL(0)) at ../../src/eval.c:3717
#6 0x00000000006877a5 in unwind_to_catch (catch=0xd99a40, type=NONLOCAL_EXIT_SIGNAL, value=XIL(0x2eb09c3)) at ../../src/eval.c:1254
#7 0x0000000000688dda in signal_or_quit (error_symbol=XIL(0xb5e0), data=XIL(0), keyboard_quit=true) at ../../src/eval.c:1784
#8 0x00000000006888df in quit () at ../../src/eval.c:1664
#9 0x00000000005ad8c5 in recursive_edit_1 () at ../../src/keyboard.c:722
#10 0x0000000000602e27 in read_minibuf (map=XIL(0x7ffff409d9f3), initial=XIL(0), prompt=XIL(0x10b6304), expflag=false, histvar=XIL(0x9ae0), histpos=make_fixnum(0), defalt=XIL(0x7ffff437cb7c), allow_props=false, inherit_input_method=false) at ../../src/minibuf.c:871
#11 0x00000000006044a0 in Fread_from_minibuffer (prompt=XIL(0x10b6304), initial_contents=XIL(0), keymap=XIL(0x7ffff409d9f3), read=XIL(0), hist=XIL(0), default_value=XIL(0x7ffff437cb7c), inherit_input_method=XIL(0)) at ../../src/minibuf.c:1312
#12 0x000000000068ca11 in funcall_subr (subr=0xc54d00 <Sread_from_minibuffer>, numargs=7, args=0x7fffffffcd70) at ../../src/eval.c:3011
#13 0x000000000068c36c in Ffuncall (nargs=8, args=0x7fffffffcd68) at ../../src/eval.c:2918
#14 0x00000000006e6056 in exec_byte_code (bytestr=XIL(0x7ffff409e1d4), vector=XIL(0x7ffff3cc1d4d), maxdepth=make_fixnum(18), args_template=make_fixnum(2050), nargs=8, args=0x7fffffffd308) at ../../src/bytecode.c:632
#15 0x000000000068cb24 in fetch_and_exec_byte_code (fun=XIL(0x7ffff3cc1d1d), syms_left=make_fixnum(2050), nargs=8, args=0x7fffffffd2c8) at ../../src/eval.c:3040
#16 0x000000000068cfaa in funcall_lambda (fun=XIL(0x7ffff3cc1d1d), nargs=8, arg_vector=0x7fffffffd2c8) at ../../src/eval.c:3121
#17 0x000000000068c3b0 in Ffuncall (nargs=9, args=0x7fffffffd2c0) at ../../src/eval.c:2920
#18 0x000000000060630a in Fcompleting_read (prompt=XIL(0x10b6304), collection=XIL(0x39a2e0), predicate=XIL(0x10bc4ed), require_match=XIL(0x30), initial_input=XIL(0), hist=XIL(0), def=XIL(0x7ffff437cb7c), inherit_input_method=XIL(0)) at ../../src/minibuf.c:2030
#19 0x000000000068ca75 in funcall_subr (subr=0xc54f00 <Scompleting_read>, numargs=7, args=0x7fffffffd448) at ../../src/eval.c:3016
#20 0x000000000068c36c in Ffuncall (nargs=8, args=0x7fffffffd440) at ../../src/eval.c:2918
#21 0x00000000006e6056 in exec_byte_code (bytestr=XIL(0x2ea3994), vector=XIL(0x10bc51d), maxdepth=make_fixnum(10), args_template=XIL(0), nargs=0, args=0x0) at ../../src/bytecode.c:632
#22 0x00000000006e5336 in Fbyte_code (bytestr=XIL(0x2ea3994), vector=XIL(0x10bc51d), maxdepth=make_fixnum(10)) at ../../src/bytecode.c:334
#23 0x000000000068ac71 in eval_sub (form=XIL(0x2ea7223)) at ../../src/eval.c:2401
#24 0x000000000068a1a8 in Feval (form=XIL(0x2ea7223), lexical=XIL(0)) at ../../src/eval.c:2224
#25 0x000000000068089d in Fcall_interactively (function=XIL(0x7ffff3057730), record_flag=XIL(0), keys=XIL(0x7ffff4373cbd)) at ../../src/callint.c:334
#26 0x000000000068c8ef in funcall_subr (subr=0xc5a140 <Scall_interactively>, numargs=3, args=0x7fffffffdd40) at ../../src/eval.c:2996
#27 0x000000000068c36c in Ffuncall (nargs=4, args=0x7fffffffdd38) at ../../src/eval.c:2918
#28 0x00000000006e6056 in exec_byte_code (bytestr=XIL(0x7ffff3d6b42c), vector=XIL(0x7ffff3d6ad45), maxdepth=make_fixnum(13), args_template=make_fixnum(1025), nargs=1, args=0x7fffffffe2b0) at ../../src/bytecode.c:632
#29 0x000000000068cb24 in fetch_and_exec_byte_code (fun=XIL(0x7ffff3d6ad15), syms_left=make_fixnum(1025), nargs=1, args=0x7fffffffe2a8) at ../../src/eval.c:3040
#30 0x000000000068cfaa in funcall_lambda (fun=XIL(0x7ffff3d6ad15), nargs=1, arg_vector=0x7fffffffe2a8) at ../../src/eval.c:3121
#31 0x000000000068c3b0 in Ffuncall (nargs=2, args=0x7fffffffe2a0) at ../../src/eval.c:2920
#32 0x000000000068bc9c in call1 (fn=XIL(0x4260), arg1=XIL(0x7ffff3057730)) at ../../src/eval.c:2778
#33 0x00000000005af009 in command_loop_1 () at ../../src/keyboard.c:1466
#34 0x00000000006881c8 in internal_condition_case (bfun=0x5ae7b0 <command_loop_1>, handlers=XIL(0x90), hfun=0x5addbf <cmd_error>) at ../../src/eval.c:1443
#35 0x00000000005ae395 in command_loop_2 (ignore=XIL(0)) at ../../src/keyboard.c:1094
#36 0x00000000006875d4 in internal_catch (tag=XIL(0xd7d0), func=0x5ae368 <command_loop_2>, arg=XIL(0)) at ../../src/eval.c:1193
#37 0x00000000005ae333 in command_loop () at ../../src/keyboard.c:1073
#38 0x00000000005ad8a6 in recursive_edit_1 () at ../../src/keyboard.c:720
#39 0x00000000005ada9e in Frecursive_edit () at ../../src/keyboard.c:789
#40 0x00000000005a9975 in main (argc=1, argv=0x7fffffffe7c8) at ../../src/emacs.c:2252
Lisp Backtrace:
"read-from-minibuffer" (0xffffcd70)
"completing-read-default" (0xffffd2c8)
"completing-read" (0xffffd448)
"byte-code" (0xffffd8a0)
"call-interactively" (0xffffdd40)
"command-execute" (0xffffe2a8)
(gdb)
I can easily sidestep this in read_minibuf_unwind via
FOR_EACH_FRAME (frames, exp_MB_frame)
{
f = XFRAME (exp_MB_frame);
if (!FRAME_TOOLTIP_P (f))
{
window = f->minibuffer_window;
w = XWINDOW (window);
if (EQ (w->frame, exp_MB_frame)
&& EQ (w->contents, nth_minibuffer (minibuf_level)))
goto found;
}
}
but the underlying issue remains: Not every frame has a minibuffer
window.
martin
next prev parent reply other threads:[~2021-04-13 15:54 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-17 8:45 bug#47207: 28.0.50; decode_next_window_args crash martin rudalics
2021-03-17 13:29 ` Eli Zaretskii
2021-03-17 15:36 ` martin rudalics
2021-03-17 15:48 ` Eli Zaretskii
2021-03-17 17:06 ` martin rudalics
2021-03-17 17:47 ` Eli Zaretskii
2021-03-17 18:01 ` martin rudalics
2021-03-17 18:15 ` Eli Zaretskii
2021-03-18 8:43 ` martin rudalics
2021-03-18 9:38 ` Eli Zaretskii
2021-03-18 15:51 ` martin rudalics
2021-03-18 16:49 ` Eli Zaretskii
2021-04-13 15:54 ` martin rudalics [this message]
2021-04-13 17:06 ` Alan Mackenzie
2021-04-13 17:12 ` martin rudalics
2021-04-15 13:07 ` Alan Mackenzie
2021-04-15 14:45 ` martin rudalics
2021-04-16 0:15 ` Gregory Heytings
2021-04-16 11:28 ` Alan Mackenzie
2021-04-16 14:42 ` martin rudalics
2021-04-18 8:01 ` martin rudalics
2021-04-13 17:37 ` Gregory Heytings
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=b271888d-6273-d052-c788-505733bc1b72@gmx.at \
--to=rudalics@gmx.at \
--cc=47207@debbugs.gnu.org \
--cc=acm@muc.de \
--cc=eliz@gnu.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).