From: "João Távora" <joaotavora@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 34394@debbugs.gnu.org, schwab@linux-m68k.org
Subject: bug#34394: 27.0.50; Emacs segfaults with SLY, company and C-g
Date: Sat, 09 Feb 2019 14:13:52 +0000 [thread overview]
Message-ID: <87r2chvylb.fsf@gmail.com> (raw)
In-Reply-To: <87va1tvz54.fsf@gmail.com> ("João Távora"'s message of "Sat, 09 Feb 2019 14:01:59 +0000")
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)
next prev parent reply other threads:[~2019-02-09 14:13 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-09 0:55 bug#34394: 27.0.50; Emacs segfaults with SLY, company and C-g João Távora
2019-02-09 7:59 ` Eli Zaretskii
2019-02-09 9:45 ` João Távora
2019-02-09 10:10 ` Eli Zaretskii
2019-02-09 11:31 ` João Távora
2019-02-09 12:11 ` Eli Zaretskii
2019-02-09 12:33 ` Eli Zaretskii
2019-02-09 12:56 ` João Távora
2019-02-09 13:11 ` Eli Zaretskii
2019-02-09 13:23 ` João Távora
2019-02-09 13:46 ` Eli Zaretskii
2019-02-09 14:00 ` João Távora
2019-02-09 14:01 ` João Távora
2019-02-09 14:13 ` João Távora [this message]
2019-02-09 14:36 ` Eli Zaretskii
2019-02-09 15:21 ` Eli Zaretskii
2019-02-09 15:37 ` João Távora
2019-02-09 15:51 ` Eli Zaretskii
2019-02-09 16:04 ` João Távora
2019-02-09 16:14 ` João Távora
2019-02-09 16:20 ` Eli Zaretskii
2019-02-09 16:26 ` João Távora
2019-02-09 20:08 ` João Távora
2019-02-10 16:42 ` Eli Zaretskii
2019-02-12 17:25 ` Eli Zaretskii
2019-02-12 18:10 ` João Távora
2019-02-12 18:29 ` Eli Zaretskii
2019-02-12 19:15 ` Eli Zaretskii
2019-02-12 20:42 ` João Távora
2019-02-13 16:26 ` Eli Zaretskii
2019-02-18 20:42 ` João Távora
2019-02-19 3:28 ` Eli Zaretskii
2019-02-09 16:21 ` Eli Zaretskii
2019-02-09 14:48 ` Eli Zaretskii
2019-02-09 11:38 ` João Távora
2019-02-09 8:08 ` Andreas Schwab
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=87r2chvylb.fsf@gmail.com \
--to=joaotavora@gmail.com \
--cc=34394@debbugs.gnu.org \
--cc=eliz@gnu.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 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).