[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#47207: 28.0.50; decode_next_window_args crash
From: |
martin rudalics |
Subject: |
bug#47207: 28.0.50; decode_next_window_args crash |
Date: |
Tue, 13 Apr 2021 17:54:55 +0200 |
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
- bug#47207: 28.0.50; decode_next_window_args crash,
martin rudalics <=
- bug#47207: 28.0.50; decode_next_window_args crash, Alan Mackenzie, 2021/04/13
- bug#47207: 28.0.50; decode_next_window_args crash, martin rudalics, 2021/04/13
- bug#47207: 28.0.50; decode_next_window_args crash, Alan Mackenzie, 2021/04/15
- bug#47207: 28.0.50; decode_next_window_args crash, martin rudalics, 2021/04/15
- bug#47207: 28.0.50; decode_next_window_args crash, Gregory Heytings, 2021/04/15
- bug#47207: 28.0.50; decode_next_window_args crash, Alan Mackenzie, 2021/04/16
- bug#47207: 28.0.50; decode_next_window_args crash, martin rudalics, 2021/04/16
- bug#47207: 28.0.50; decode_next_window_args crash, martin rudalics, 2021/04/18
bug#47207: 28.0.50; decode_next_window_args crash, Gregory Heytings, 2021/04/13