[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#34394: 27.0.50; Emacs segfaults with SLY, company and C-g
From: |
João Távora |
Subject: |
bug#34394: 27.0.50; Emacs segfaults with SLY, company and C-g |
Date: |
Sat, 09 Feb 2019 14:13:52 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
João Távora <joaotavora@gmail.com> writes:
> João Távora <joaotavora@gmail.com> writes:
>
>> Eli Zaretskii <eliz@gnu.org> writes:
>>
>>>> From: João Távora <joaotavora@gmail.com>
>>>> Cc: 34394@debbugs.gnu.org, schwab@linux-m68k.org
>>>> Date: Sat, 09 Feb 2019 13:23:06 +0000
>>>>
>>>> (gdb) p globals.f_Vquit_flag
>>>> $3 = XIL(0xc750)
>>>> (gdb) xsymbol
>>>> $4 = (struct Lisp_Symbol *) 0x555555ce94d0 <lispsym+51024>
>>>> "t"
>>>
>>> Thanks. So my theory eats dust. Hmm... I wonder if you could come
>>> up with a simpler reproducer, perhaps in "emacs -nw" (which many times
>>> tends to make such problems more prominent and simpler to reproduce)?
>>
>> OK with emacs -nw, and attaching a gdb to the PID I got a new, slightly
>> different, backtrace, attached. It now breaks on a SIGINT.
>
> Never mind, when I do this I have an automatic breakpoint on C-g for
> some reason, and that's what you are seeing. Will try to disable it to
> reproduce the actual bug.
So I disabled SIGINT for gdb and let it go to Emacs for keyboard-quit.
I reproduced with -nw, here's the backtrace.
Is it my impression or do I finally see sit_for in the bt? (I don't
know, I've sent so many backtraces already)
João
69 ../sysdeps/unix/sysv/linux/pselect.c: No such file or directory.
(gdb) c
Continuing.
Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt full
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
set = {__val = {0, 0, 0, 7234246878190108672, 3486406460340450103,
8159871459836720384, 140723461185312, 612, 140723461185312, 94478308327698,
140723461185632, 1, 94478312982560, 140322191709231, 4222451713,
94478312982560}}
pid = <optimized out>
tid = <optimized out>
ret = <optimized out>
#1 0x00007f9f4e55b535 in __GI_abort () at abort.c:79
save_stage = 1
act = {__sigaction_handler = {sa_handler = 0x55ed738344b0, sa_sigaction
= 0x55ed738344b0}, sa_mask = {__val = {140322191709018, 206158430256,
140723461185864, 140723461185664, 8159871459836720384, 3432, 140322192429728,
94478313311616, 140322191129007, 1974, 94478333592752, 0, 94478338512400, 1,
140723461185792, 140723461186192}}, sa_flags = -1142267648, sa_restorer =
0x1000}
sigs = {__val = {32, 0 <repeats 15 times>}}
#2 0x00007f9f4e5b2718 in __libc_message (action=<optimized out>,
fmt=fmt@entry=0x7f9f4e6bd088 "*** %s ***: %s terminated\n") at
../sysdeps/posix/libc_fatal.c:181
ap = {{gp_offset = 32, fp_offset = 32764, overflow_arg_area =
0x7ffcbbea62a0, reg_save_area = 0x7ffcbbea6230}}
fd = 10
list = <optimized out>
nlist = <optimized out>
cp = <optimized out>
written = <optimized out>
#3 0x00007f9f4e643bbd in __GI___fortify_fail_abort
(need_backtrace=need_backtrace@entry=true, msg=0x7f9f4e6bd03d <longjmp_msg>
"longjmp causes uninitialized stack frame") at fortify_fail.c:28
No locals.
#4 0x00007f9f4e643bf1 in __GI___fortify_fail (msg=<optimized out>) at
fortify_fail.c:44
No locals.
#5 0x00007f9f4e643aad in ____longjmp_chk () at
../sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S:105
No locals.
#6 0x00007f9f4e643a0b in __longjmp_chk (env=0x55ed72523238 <main_thread+216>,
val=val@entry=1) at ../setjmp/longjmp.c:39
No locals.
#7 0x000055ed71ed42d4 in quit_throw_to_read_char
(from_signal=from_signal@entry=true) at keyboard.c:10486
No locals.
#8 0x000055ed71ed4950 in handle_interrupt
(in_signal_handler=in_signal_handler@entry=true) at keyboard.c:10461
c = <optimized out>
#9 0x000055ed71ed6445 in handle_interrupt_signal (sig=sig@entry=2) at
keyboard.c:10293
terminal = <optimized out>
#10 0x000055ed71ee889b in deliver_process_signal (sig=2,
handler=handler@entry=0x55ed71ed6417 <handle_interrupt_signal>) at sysdep.c:1733
old_errno = 22
on_main_thread = true
#11 0x000055ed71ec7f3a in deliver_interrupt_signal (sig=<optimized out>) at
keyboard.c:10300
No locals.
#12 <signal handler called>
No locals.
#13 0x00007f9f4e62a4a9 in __pselect (nfds=10, readfds=0x7ffcbbea6e10,
writefds=0x7ffcbbea6d90, exceptfds=0x0, timeout=<optimized out>, sigmask=0x0)
at ../sysdeps/unix/sysv/linux/pselect.c:69
resultvar = 18446744073709551612
sc_ret = <optimized out>
tval = {tv_sec = 0, tv_nsec = 330889851}
data = {ss = 0, ss_len = 8}
result = <optimized out>
#14 0x000055ed71fdbc44 in really_call_select (arg=arg@entry=0x7ffcbbea6b80) at
thread.c:580
sa = 0x7ffcbbea6b80
self = 0x55ed72523160 <main_thread>
oldset = {__val = {0, 0, 140723461188464, 94478341426928,
94478346665443, 94478307959952, 2000000000002, 4000000000002, 140723461188464,
94478306951740, 1549721455, 94478346665475, 94478341426933, 94478306952458,
140720308486147, 0}}
#15 0x000055ed71f378b7 in flush_stack_call_func (func=func@entry=0x55ed71fdbbf5
<really_call_select>, arg=arg@entry=0x7ffcbbea6b80) at alloc.c:5229
end = 0x7ffcbbea6b70
self = 0x55ed72523160 <main_thread>
sentry = <optimized out>
#16 0x000055ed71fdcfc8 in thread_select (func=<optimized out>,
max_fds=<optimized out>, rfds=rfds@entry=0x7ffcbbea6e10, wfds=<optimized out>,
efds=efds@entry=0x0, timeout=timeout@entry=0x7ffcbbea6d70, sigmask=0x0) at
thread.c:610
sa = {func = 0x7f9f4e62a450 <__pselect>, max_fds = 10, rfds =
0x7ffcbbea6e10, wfds = 0x7ffcbbea6d90, efds = 0x0, timeout = 0x7ffcbbea6d70,
sigmask = 0x0, result = 0}
#17 0x000055ed71fb2392 in wait_reading_process_output
(time_limit=time_limit@entry=30, nsecs=nsecs@entry=0, read_kbd=-1,
do_display=do_display@entry=true, wait_for_cell=...,
wait_proc=wait_proc@entry=0x0, just_wait_proc=0) at process.c:5420
process_skipped = false
channel = <optimized out>
nfds = <optimized out>
Available = {fds_bits = {952, 0 <repeats 15 times>}}
Writeok = {fds_bits = {0 <repeats 16 times>}}
check_write = true
check_delay = 1
no_avail = false
xerrno = 22
proc = {i = 0x55ed73cce1b5}
timeout = {tv_sec = 0, tv_nsec = 377014395}
end_time = <optimized out>
timer_delay = <optimized out>
got_output_end_time = <optimized out>
wait = TIMEOUT
got_some_output = -1
prev_wait_proc_nbytes_read = 0
retry_for_async = false
count = 3
now = <optimized out>
#18 0x000055ed71dba3ac in sit_for (timeout=..., timeout@entry=...,
reading=reading@entry=true, display_option=display_option@entry=1) at
lisp.h:1056
sec = 30
nsec = 0
do_display = true
#19 0x000055ed71ed8209 in read_char (commandflag=1, map=..., map@entry=...,
prev_event=..., used_mouse_menu=used_mouse_menu@entry=0x7ffcbbea720b,
end_time=end_time@entry=0x0) at lisp.h:751
tem0 = <optimized out>
timeout = 30
delay_level = <optimized out>
buffer_size = <optimized out>
c = {i = 0x0}
jmpcount = 3
local_getcjmp = {{__jmpbuf = {0, -8545801708543905756, 94478340994080,
94478333592752, 140723461190352, 0, -2502692692833570780,
-8545806451447926748}, __mask_was_saved = 0, __saved_mask = {__val = {0,
94478346649555, 94478306900597, 3, 0, 4294967295, 3, 94478334248240,
94478307045825, 0, 0, 0, 25365120, 0, 94478306900597, 8194}}}}
save_jump = {{__jmpbuf = {54144, 94478338512400, 1, 31056,
94478313481936, 0, 2, 1}, __mask_was_saved = 1, __saved_mask = {__val =
{94478306900597, 140723461186576, 94478340994085, 94478340994085,
94478306902260, 140322119159976, 94478307488136, 15, 140322119159928,
140322119159976, 94478306900597, 0, 0, 140322124526683, 94478306902260,
140322124526667}}}}
tem = <optimized out>
save = <optimized out>
previous_echo_area_message = {i = 0x0}
also_record = {i = 0x0}
reread = false
recorded = false
polling_stopped_here = false
orig_kboard = 0x55ed73850160
#20 0x000055ed71ed94f5 in read_key_sequence
(keybuf=keybuf@entry=0x7ffcbbea72d0, prompt=...,
dont_downcase_last=dont_downcase_last@entry=false,
can_return_switch_frame=can_return_switch_frame@entry=true,
fix_current_buffer=fix_current_buffer@entry=true,
prevent_redisplay=prevent_redisplay@entry=false) at keyboard.c:9082
interrupted_kboard = 0x55ed73850160
interrupted_frame = 0x55ed738344b0
key = {i = 0x55ed73f43420}
used_mouse_menu = false
echo_local_start = 0
last_real_key_start = 0
keys_local_start = <optimized out>
new_binding = <optimized out>
count = 3
t = 0
echo_start = 0
keys_start = 0
current_binding = <optimized out>
first_unbound = 31
mock_input = 0
used_mouse_menu_history = {false <repeats 30 times>}
fkey = {parent = {i = 0x55ed73830553}, map = {i = 0x55ed73830553},
start = 0, end = 0}
keytran = {parent = {i = 0x7f9f4a62b5cb}, map = {i = 0x7f9f4a62b5cb},
start = 0, end = 0}
indec = {parent = {i = 0x55ed73830543}, map = {i = 0x55ed73830543},
start = 0, end = 0}
shift_translated = false
delayed_switch_frame = <optimized out>
original_uppercase = <optimized out>
original_uppercase_position = -1
dummyflag = false
starting_buffer = 0x55ed73f43420
fake_prefixed_keys = <optimized out>
first_event = <optimized out>
second_event = <optimized out>
#21 0x000055ed71edabc1 in command_loop_1 () at lisp.h:1056
cmd = <optimized out>
keybuf = {{i = 0x50a0}, {i = 0x13e}, {i = 0x10a}, {i = 0x3}, {i = 0x3},
{i = 0x55ed71f64c17 <Ffuncall+684>}, {i = 0x0}, {i = 0x55ed743321d3}, {i =
0x7ffcbbea7390}, {i = 0x29b1d8063918}, {i = 0x1}, {i = 0x0}, {i = 0x0}, {i =
0x55ed71f68fae <call3+36>}, {i = 0x29b1d8063918}, {i = 0x55ed743321d3}, {i =
0x7f9f4a0c3f74}, {i = 0x0}, {i = 0x7ffcbbea7390}, {i = 0x55ed71ecef45
<cmd_error_internal+495>}, {i = 0x0}, {i = 0x55ed743321d3}, {i = 0x0}, {i =
0x55ed71ecf2bb <cmd_error+846>}, {i = 0x0}, {i = 0x1}, {i = 0x3}, {i =
0x55ed71f6382b <push_handler_nosignal+323>}, {i = 0x7f9f4a62e60b}, {i =
0x55ed7386ff30}}
i = <optimized out>
prev_modiff = 36
prev_buffer = 0x55ed73f43420
#22 0x000055ed71f63a96 in internal_condition_case
(bfun=bfun@entry=0x55ed71eda943 <command_loop_1>, handlers=...,
handlers@entry=..., hfun=hfun@entry=0x55ed71ecef6d <cmd_error>) at eval.c:1376
val = {i = 0xfffffffffffffffc}
c = 0x55ed7386ff30
#23 0x000055ed71ecb494 in command_loop_2 (ignore=..., ignore@entry=...) at
lisp.h:1056
val = <optimized out>
#24 0x000055ed71f639da in internal_catch (tag=...,
func=func@entry=0x55ed71ecb478 <command_loop_2>, arg=..., arg@entry=...) at
eval.c:1139
val = {i = 0xfffffffffffffffc}
c = 0x55ed73850230
#25 0x000055ed71ec8786 in command_loop () at lisp.h:1056
No locals.
#26 0x000055ed71ece728 in recursive_edit_1 () at keyboard.c:714
count = 1
val = <optimized out>
#27 0x000055ed71ececf0 in Frecursive_edit () at keyboard.c:785
count = 0
buffer = <optimized out>
#28 0x000055ed71ec7154 in main (argc=15, argv=<optimized out>) at emacs.c:1949
stack_bottom_variable = 0x55ed7201b155 <__libc_csu_init+69>
do_initial_setlocale = <optimized out>
no_loadup = false
junk = 0x0
dname_arg = 0x0
ch_to_dir = 0x0
original_pwd = 0x0
dump_mode = <optimized out>
skip_args = 1
temacs = 0x0
rlim = {rlim_cur = 10022912, rlim_max = 18446744073709551615}
(gdb)
- bug#34394: 27.0.50; Emacs segfaults with SLY, company and C-g, (continued)
- bug#34394: 27.0.50; Emacs segfaults with SLY, company and C-g, Eli Zaretskii, 2019/02/09
- bug#34394: 27.0.50; Emacs segfaults with SLY, company and C-g, João Távora, 2019/02/09
- bug#34394: 27.0.50; Emacs segfaults with SLY, company and C-g, Eli Zaretskii, 2019/02/09
- bug#34394: 27.0.50; Emacs segfaults with SLY, company and C-g, Eli Zaretskii, 2019/02/09
- bug#34394: 27.0.50; Emacs segfaults with SLY, company and C-g, João Távora, 2019/02/09
- bug#34394: 27.0.50; Emacs segfaults with SLY, company and C-g, Eli Zaretskii, 2019/02/09
- bug#34394: 27.0.50; Emacs segfaults with SLY, company and C-g, João Távora, 2019/02/09
- bug#34394: 27.0.50; Emacs segfaults with SLY, company and C-g, Eli Zaretskii, 2019/02/09
- bug#34394: 27.0.50; Emacs segfaults with SLY, company and C-g, João Távora, 2019/02/09
- bug#34394: 27.0.50; Emacs segfaults with SLY, company and C-g, João Távora, 2019/02/09
- bug#34394: 27.0.50; Emacs segfaults with SLY, company and C-g,
João Távora <=
- bug#34394: 27.0.50; Emacs segfaults with SLY, company and C-g, Eli Zaretskii, 2019/02/09
- bug#34394: 27.0.50; Emacs segfaults with SLY, company and C-g, Eli Zaretskii, 2019/02/09
- bug#34394: 27.0.50; Emacs segfaults with SLY, company and C-g, João Távora, 2019/02/09
- bug#34394: 27.0.50; Emacs segfaults with SLY, company and C-g, Eli Zaretskii, 2019/02/09
- bug#34394: 27.0.50; Emacs segfaults with SLY, company and C-g, João Távora, 2019/02/09
- bug#34394: 27.0.50; Emacs segfaults with SLY, company and C-g, João Távora, 2019/02/09
- bug#34394: 27.0.50; Emacs segfaults with SLY, company and C-g, Eli Zaretskii, 2019/02/09
- bug#34394: 27.0.50; Emacs segfaults with SLY, company and C-g, João Távora, 2019/02/09
- bug#34394: 27.0.50; Emacs segfaults with SLY, company and C-g, João Távora, 2019/02/09
- bug#34394: 27.0.50; Emacs segfaults with SLY, company and C-g, Eli Zaretskii, 2019/02/10