* bug#37671: 27.0.50; Segmentation fault with --fg-daemon on Linux
@ 2019-10-09 1:55 Frank Terbeck
2019-10-10 11:03 ` Eli Zaretskii
2019-10-10 20:56 ` Paul Eggert
0 siblings, 2 replies; 22+ messages in thread
From: Frank Terbeck @ 2019-10-09 1:55 UTC (permalink / raw)
To: 37671
I am running emacs in Linux. The base system is an up-to-date Debian
sid. Right now I am starting emacs via systemd and emacs' --fg-daemon
flag. I am mostly attaching GUI clients to this server instance. The
graphical user interface is a non-reparenting window manager (namely
xmonad). This build uses --with-x-toolkit=lucid --with-cairo as well as
--with-libsystemd.
The issue is emacs crashing, plainly. And I have not been able to iso-
late and specifics that are required for crashes to happen. I've seen
this sporadically with different builds of emacs from its master branch.
To look into it more closely, I rebuilt emacs with debugging symbols.
And luckily, I didn't have to wait very long. Emacs crashed within a
day.
I didn't so anything spectacular either. I think I was just switching
from a buffer to another. And emacs' uptime was pretty low too. Like an
hour or two, if I'd have to wager a guess.
Here is the stack-trace, as recorded by systemd's coredumpctl:
Stack trace of thread 1679:
#0 0x00007f34412112a7 __pthread_kill (libpthread.so.0)
#1 0x000055d90de0f632 deliver_process_signal (emacs-27.0.50)
#2 0x000055d90df7be10 deliver_child_signal (emacs-27.0.50)
#3 0x00007f3441214510 __restore_rt (libpthread.so.0)
#4 0x00007f3440f92d2f __GI___poll (libc.so.6)
#5 0x00007f3441e3809e n/a (libglib-2.0.so.0)
#6 0x00007f3441e38403 g_main_loop_run (libglib-2.0.so.0)
#7 0x00007f34420a3726 n/a (libgio-2.0.so.0)
#8 0x00007f3441e60d0d n/a (libglib-2.0.so.0)
#9 0x00007f3441209fb7 start_thread (libpthread.so.0)
#10 0x00007f3440f9d2ef __clone (libc.so.6)
Stack trace of thread 1058:
#0 0x00007f3440f946ed __GI___writev (libc.so.6)
#1 0x00007f3440fab64f __GI___backtrace_symbols_fd (libc.so.6)
#2 0x000055d90de0ff15 emacs_backtrace (emacs-27.0.50)
#3 0x000055d90ddd5e8e terminate_due_to_signal (emacs-27.0.50)
#4 0x000055d90de0f71d handle_fatal_signal (emacs-27.0.50)
#5 0x000055d90de0f6f1 deliver_thread_signal (emacs-27.0.50)
#6 0x000055d90de0f758 deliver_fatal_thread_signal (emacs-27.0.50)
#7 0x000055d90de0f8f6 handle_sigsegv (emacs-27.0.50)
#8 0x00007f3441214510 __restore_rt (libpthread.so.0)
#9 0x000055d90dcad822 show_mouse_face (emacs-27.0.50)
#10 0x000055d90dcad9a1 clear_mouse_face (emacs-27.0.50)
#11 0x000055d90dcb12b5 note_mouse_highlight (emacs-27.0.50)
#12 0x000055d90dd87cd1 x_note_mouse_movement (emacs-27.0.50)
#13 0x000055d90dd8e401 handle_one_xevent (emacs-27.0.50)
#14 0x000055d90dd8f655 XTread_socket (emacs-27.0.50)
#15 0x000055d90ddecd4b gobble_input (emacs-27.0.50)
#16 0x000055d90dded1e6 handle_async_input (emacs-27.0.50)
#17 0x000055d90dded205 process_pending_signals (emacs-27.0.50)
#18 0x000055d90dded245 unblock_input_to (emacs-27.0.50)
#19 0x000055d90dded269 unblock_input (emacs-27.0.50)
#20 0x000055d90e02da54 xg_select (emacs-27.0.50)
#21 0x000055d90df780d1 wait_reading_process_output (emacs-27.0.50)
#22 0x000055d90dc2f8f4 sit_for (emacs-27.0.50)
#23 0x000055d90dde4463 read_char (emacs-27.0.50)
#24 0x000055d90ddf27cd read_key_sequence (emacs-27.0.50)
#25 0x000055d90dde0e76 command_loop_1 (emacs-27.0.50)
#26 0x000055d90defd0b1 internal_condition_case (emacs-27.0.50)
#27 0x000055d90dde0711 command_loop_2 (emacs-27.0.50)
#28 0x000055d90defc966 internal_catch (emacs-27.0.50)
#29 0x000055d90dde06af command_loop (emacs-27.0.50)
#30 0x000055d90dddfdb1 recursive_edit_1 (emacs-27.0.50)
#31 0x000055d90dddff35 Frecursive_edit (emacs-27.0.50)
#32 0x000055d90ddd8520 main (emacs-27.0.50)
#33 0x00007f3440ec9bbb __libc_start_main (libc.so.6)
#34 0x000055d90dc1c84a _start (emacs-27.0.50)
Stack trace of thread 1088:
#0 0x00007f3440f92d2f __GI___poll (libc.so.6)
#1 0x00007f3441e3809e n/a (libglib-2.0.so.0)
#2 0x00007f3441e381bf g_main_context_iteration (libglib-2.0.so.0)
#3 0x00007f3441e38211 n/a (libglib-2.0.so.0)
#4 0x00007f3441e60d0d n/a (libglib-2.0.so.0)
#5 0x00007f3441209fb7 start_thread (libpthread.so.0)
#6 0x00007f3440f9d2ef __clone (libc.so.6)
Stack trace of thread 1678:
#0 0x00007f3440f92d2f __GI___poll (libc.so.6)
#1 0x00007f3441e3809e n/a (libglib-2.0.so.0)
#2 0x00007f3441e381bf g_main_context_iteration (libglib-2.0.so.0)
#3 0x00007f343c902c0d n/a (libdconfsettings.so)
#4 0x00007f3441e60d0d n/a (libglib-2.0.so.0)
#5 0x00007f3441209fb7 start_thread (libpthread.so.0)
#6 0x00007f3440f9d2ef __clone (libc.so.6)
I've then loaded the core-dump into gdb and dumped the backtraces of all
running threads; I edited the majorly overlong lines into something more
comprehensible. Here's the log:
GNU gdb (Debian 8.3-1) 8.3
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /opt/emacs/bin/emacs...
[New LWP 1679]
[New LWP 1058]
[New LWP 1088]
[New LWP 1678]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/opt/emacs/bin/emacs --no-site-file --fg-daemon'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007f34412112a7 in __pthread_kill (threadid=0, signo=17) at ../sysdeps/unix/sysv/linux/pthread_kill.c:40
[Current thread is 1 (Thread 0x7f3437fff700 (LWP 1679))]
(gdb) thread apply all bt full
/* ************************************************************************* */
Thread 4 (Thread 0x7f343c8ca700 (LWP 1678)):
/* ************************************************************************* */
#0 0x00007f3440f92d2f in __GI___poll (fds=0x55d90fbf29e0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
resultvar = 18446744073709551100
sc_cancel_oldtype = 0
#1 0x00007f3441e3809e in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007f3441e381bf in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007f343c902c0d in () at /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#4 0x00007f3441e60d0d in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007f3441209fb7 in start_thread (arg=<optimized out>) at pthread_create.c:486
ret = <optimized out>
pd = <optimized out>
now = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = { 139862330877696,
-7721577065380607867,
140726988436734,
140726988436735,
139862330877696,
139862330874112,
7691879371219372165,
7692131468584519813},
mask_was_saved = 0}},
priv = { pad = { 0x0, 0x0, 0x0, 0x0 },
data = { prev = 0x0, cleanup = 0x0, canceltype = 0 }}}
not_first_call = <optimized out>
#6 0x00007f3440f9d2ef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
/* ************************************************************************* */
Thread 3 (Thread 0x7f343d115700 (LWP 1088)):
/* ************************************************************************* */
#0 0x00007f3440f92d2f in __GI___poll (fds=0x55d90f7cf9b0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
resultvar = 18446744073709551100
sc_cancel_oldtype = 0
#1 0x00007f3441e3809e in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007f3441e381bf in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007f3441e38211 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007f3441e60d0d in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007f3441209fb7 in start_thread (arg=<optimized out>) at pthread_create.c:486
ret = <optimized out>
pd = <optimized out>
now = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = { 139862339573504,
-7721577065380607867,
140726988462542,
140726988462543,
139862339573504,
139862339569920,
7691876254683728005,
7692131468584519813},
mask_was_saved = 0}},
priv = { pad = { 0x0, 0x0, 0x0, 0x0 },
data = { prev = 0x0, cleanup = 0x0, canceltype = 0 }}}
not_first_call = <optimized out>
#6 0x00007f3440f9d2ef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
/* ************************************************************************* */
Thread 2 (Thread 0x7f343ddf4e00 (LWP 1058)):
/* ************************************************************************* */
#0 0x00007f3440f946ed in __GI___writev (iovcnt=3, iov=0x55d90e5aa720 <sigsegv_stack+1888>, fd=2) at ../sysdeps/unix/sysv/linux/writev.c:26
resultvar = 17
sc_cancel_oldtype = 0
#1 0x00007f3440f946ed in __GI___writev (fd=fd@entry=2, iov=iov@entry=0x55d90e5aa720 <sigsegv_stack+1888>, iovcnt=iovcnt@entry=3) at ../sysdeps/unix/sysv/linux/writev.c:24
#2 0x00007f3440fab64f in __GI___backtrace_symbols_fd (array=<optimized out>, size=<optimized out>, fd=2) at backtracesymsfd.c:118
buf = "ffff55d912045268"
info = {dli_fname = 0x7ffd8e287e21 "/opt/emacs/bin/emacs", dli_fbase = 0x55d90dbdd000, dli_sname = 0x0, dli_saddr = 0x55d90dbdd000}
last = <optimized out>
buf2 = "غ\a\016\331U\000\000\000\000\071d0ab0"
map = 0x7f3443b19190
iov = {{iov_base = 0x7f3441029827, iov_len = 3},
{iov_base = 0x55d90e5aa7b4 <sigsegv_stack+2036>, iov_len = 12},
{iov_base = 0x7f344102982b, iov_len = 2},
{iov_base = 0x55d90e5aa7ca <sigsegv_stack+2058>, iov_len = 6},
{iov_base = 0x7f3441028357, iov_len = 1},
{iov_base = 0x7f3441029827, iov_len = 3},
{iov_base = 0x55d90e5aa7b4 <sigsegv_stack+2036>, iov_len = 12},
{iov_base = 0x7f344102982b, iov_len = 2},
{iov_base = 0x7f344102982b, iov_len = 2}}
cnt = <optimized out>
#3 0x000055d90de0ff15 in emacs_backtrace (backtrace_limit=40) at sysdep.c:2440
main_backtrace_buffer = {0x0 <repeats 423 times>,
0x14000000,
0x7f3440edd100 <__restore_rt>,
0x400,
0x0 <repeats 16 times>,
0x55d90de0f878 <handle_sigsegv>,
0xc000004,
0x7f3441214510 <__restore_rt>,
0xfffffffe7ffbfeff,
0x0 <repeats 15 times>,
0xbf49f952c1510300,
0x0,
0x7f3440edcec4 <__bsd_signal+116>,
0x0,
0x400,
0x0 <repeats 15 times>,
0x10000000,
0x0,
0x0,
0x55d90de0f878 <handle_sigsegv>,
0xfffffffe7ffbfeff,
0x0 <repeats 12 times>,
0x55d90e5b6380 <lispsym>,
0x0,
0x0}
bounded_limit = 40
buffer = 0x55d90e5a9000 <thread_backtrace_buffer>
npointers = 233503841
#4 0x000055d90ddd5e8e in terminate_due_to_signal (sig=11, backtrace_limit=40) at emacs.c:385
#5 0x000055d90de0f71d in handle_fatal_signal (sig=11) at sysdep.c:1790
#6 0x000055d90de0f6f1 in deliver_thread_signal (sig=11, handler=0x55d90de0f703 <handle_fatal_signal>) at sysdep.c:1764
old_errno = 11
#7 0x000055d90de0f758 in deliver_fatal_thread_signal (sig=11) at sysdep.c:1802
#8 0x000055d90de0f8f6 in handle_sigsegv (sig=11, siginfo=0x55d90e5abab0 <sigsegv_stack+6896>, arg=0x55d90e5ab980 <sigsegv_stack+6592>) at sysdep.c:1887
fatal = false
#9 0x00007f3441214510 in <signal handler called> () at /lib/x86_64-linux-gnu/libpthread.so.0
#10 0x000055d90dcad822 in show_mouse_face (hlinfo=0x55d9104d2cc0, draw=DRAW_NORMAL_TEXT) at xdisp.c:31468
w = 0x55d90fa171a0
f = 0xfffffffffffffffb
#11 0x000055d90dcad9a1 in clear_mouse_face (hlinfo=0x55d9104d2cc0) at xdisp.c:31496
cleared = true
#12 0x000055d90dcb12b5 in note_mouse_highlight (f=0x55d90ffe6350, x=371, y=893) at xdisp.c:32816
hlinfo = 0x55d9104d2cc0
part = ON_TEXT
window = 0x55d912682405
w = 0x110002425
cursor = 0
pointer = 0x0
b = 0xa12682400
#13 0x000055d90dd87cd1 in x_note_mouse_movement (frame=0x55d90ffe6350, event=0x7ffd8e284960) at xterm.c:5144
r = 0x55d9104d2eb0
dpyinfo = 0x55d9104d2c10
#14 0x000055d90dd8e401 in handle_one_xevent (dpyinfo=0x55d9104d2c10, event=0x7ffd8e284960, finish=0x7ffd8e284a2c, hold_quit=0x7ffd8e284a50) at xterm.c:8866
inev = {kind = NO_EVENT,
ie = {kind = NO_EVENT,
part = scroll_bar_nowhere,
code = 0,
modifiers = 0,
x = 0x0,
y = 0x0,
timestamp = 0,
frame_or_window = 0x0,
arg = 0x0},
sie = {kind = NO_EVENT,
dpyinfo = 0x0,
requestor = 0,
selection = 0,
target = 0,
property = 0,
time = 0}}
count = 0
do_help = 0
nbytes = 0
any = 0x55d90ffe6350
f = 0x55d90ffe6350
coding = {id = 4607182418800017408,
common_flags = 0,
mode = 0,
src_multibyte = false,
dst_multibyte = false,
chars_at_source = false,
raw_destination = false,
annotated = false,
eol_seen = 0,
result = CODING_RESULT_SUCCESS,
max_charset_id = 0,
spec = { iso_2022 = { flags = 0,
current_invocation = { 1072693248, 0 },
current_designation = { 0, 0, 0, 0 },
ctext_extended_segment_len = 0,
single_shifting = false,
bol = false,
embedded_utf_8 = false,
cmp_status = { state = COMPOSING_NO,
method = COMPOSITION_RELATIVE,
old_form = false,
length = 0,
nchars = 0,
ncomps = 0,
carryover = { 0,
0,
0,
0,
0,
0,
1072693248,
0,
0,
0,
0,
0,
0,
274090208,
21977,
1118692418,
32564,
2,
0,
274094504,
21977,
1179670611,
1092,
31,
0,
1088,
0,
0,
0,
0,
0,
0,
0,
3,
0 <repeats 34 times> }}},
ccl = 0x3ff0000000000000,
utf_16 = { bom = utf_detect_bom,
endian = (unknown: 1072693248),
surrogate = 0 },
utf_8_bom = utf_detect_bom,
emacs_mule = { cmp_status = { state = COMPOSING_NO,
method = 1072693248,
old_form = false,
length = 0,
nchars = 0,
ncomps = 0,
carryover = { 0 <repeats 15 times>,
1072693248,
0,
0,
0,
0,
0,
0,
274090208,
21977,
1118692418,
32564,
2,
0,
274094504,
21977,
1179670611,
1092,
31,
0,
1088,
0,
0,
0,
0,
0,
0,
0,
3,
0 <repeats 25 times>}}},
undecided = { inhibit_nbd = 0,
inhibit_ied = 1072693248,
prefer_utf_8 = false}},
safe_charsets = 0x0,
head_ascii = 0,
detected_utf8_bytes = 0,
detected_utf8_chars = 0,
produced = 0,
produced_char = 139862433717353,
consumed = 0,
consumed_char = 0,
src_pos = 0,
src_pos_byte = 0,
src_chars = 0,
src_bytes = -4662921805339491584,
src_object = 0x0,
source = 0x7f3441214192 <__libc_recvmsg+98> "H\213D$\bH\203\304(\303\017\037@",
dst_pos = 32,
dst_pos_byte = -1,
dst_bytes = 140726988457904,
dst_object = 0x0,
destination = 0x55d9105648e0 "",
charbuf = 0x7f3442ade1b7,
charbuf_size = 0,
charbuf_used = 0,
carryover = "\250YV\020\331U\000\000\360\206\027\022\331U\000\000\360\206\027\022\331U\000\000\377\377\377\377\377\377\377\377\276p\366\r\001\000\000\000TIV\020\331U\000\000\000\020",
'\000' <repeats 13 times>,
carryover_bytes = 0,
default_char = 0,
detector = 0x7ffd8e2847a0,
decoder = 0x1,
encoder = 0x7ffd8e2847f0 }
hlinfo = 0x55d9104d2cc0
compose_status = { compose_ptr = 0x0,
chars_matched = 0 }
configureEvent = { type = 0,
xany = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
window = 13491152927956830637 },
xkey = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
window = 13491152927956830637,
root = 16413,
subwindow = 0,
time = 211903982,
x = 0,
y = 0,
x_root = 284545936,
y_root = 21977,
state = 4294967295,
keycode = 4294967295,
same_screen = 0 },
xbutton = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
window = 13491152927956830637,
root = 16413,
subwindow = 0,
time = 211903982,
x = 0,
y = 0,
x_root = 284545936,
y_root = 21977,
state = 4294967295,
button = 4294967295,
same_screen = 0 },
xmotion = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
window = 13491152927956830637,
root = 16413,
subwindow = 0,
time = 211903982,
x = 0,
y = 0,
x_root = 284545936,
y_root = 21977,
state = 4294967295,
is_hint = -1 '\377',
same_screen = 0 },
xcrossing = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
window = 13491152927956830637,
root = 16413,
subwindow = 0,
time = 211903982,
x = 0,
y = 0,
x_root = 284545936,
y_root = 21977,
mode = -1,
detail = -1,
same_screen = 0,
focus = 0,
state = 0 },
xfocus = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
window = 13491152927956830637,
mode = 16413,
detail = 0},
xexpose = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
window = 13491152927956830637,
x = 16413,
y = 0,
width = 0,
height = 0,
count = 211903982},
xgraphicsexpose = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
drawable = 13491152927956830637,
x = 16413,
y = 0,
width = 0,
height = 0,
count = 211903982,
major_code = 0,
minor_code = 0},
xnoexpose = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
drawable = 13491152927956830637,
major_code = 16413,
minor_code = 0},
xvisibility = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
window = 13491152927956830637,
state = 16413 },
xcreatewindow = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
parent = 13491152927956830637,
window = 16413,
x = 0,
y = 0,
width = 211903982,
height = 0,
border_width = 0,
override_redirect = 0 },
xdestroywindow = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
event = 13491152927956830637,
window = 16413 },
xunmap = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
event = 13491152927956830637,
window = 16413,
from_configure = 0},
xmap = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
event = 13491152927956830637,
window = 16413,
override_redirect = 0},
xmaprequest = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
parent = 13491152927956830637,
window = 16413},
xreparent = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
event = 13491152927956830637,
window = 16413,
parent = 0,
x = 211903982,
y = 0,
override_redirect = 0},
xconfigure = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
event = 13491152927956830637,
window = 16413,
x = 0,
y = 0,
width = 211903982,
height = 0,
border_width = 0,
above = 94390780810128,
override_redirect = -1 },
xgravity = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
event = 13491152927956830637,
window = 16413,
x = 0,
y = 0 },
xresizerequest = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
window = 13491152927956830637,
width = 16413,
height = 0 },
xconfigurerequest = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
parent = 13491152927956830637,
window = 16413,
x = 0,
y = 0,
width = 211903982,
height = 0,
border_width = 0,
above = 94390780810128,
detail = -1,
value_mask = 0 },
xcirculate = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
event = 13491152927956830637,
window = 16413,
place = 0 },
xcirculaterequest = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
parent = 13491152927956830637,
window = 16413,
place = 0 },
xproperty = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
window = 13491152927956830637,
atom = 16413,
time = 0,
state = 211903982 },
xselectionclear = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
window = 13491152927956830637,
selection = 16413,
time = 0 },
xselectionrequest = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
owner = 13491152927956830637,
requestor = 16413,
selection = 0,
target = 211903982,
property = 0,
time = 94390780810128 },
xselection = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
requestor = 13491152927956830637,
selection = 16413,
target = 0,
property = 211903982,
time = 0 },
xcolormap = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
window = 13491152927956830637,
colormap = 16413,
new = 0,
state = 0 },
xclient = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
window = 13491152927956830637,
message_type = 16413,
format = 0,
data = { b = "\356e\241\f",
'\000' <repeats 12 times>,
"\220\323\365\020",
s = {26094,
3233,
0,
0,
0,
0,
0,
0,
-11376,
4341},
l = {211903982,
0,
94390780810128,
-1,
0}}},
xmapping = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
window = 13491152927956830637,
request = 16413,
first_keycode = 0,
count = 0 },
xerror = { type = 0,
display = 0x4026,
resourceid = 17053800102256486195,
serial = 16382,
error_code = 173 '\255',
request_code = 137 '\211',
minor_code = 86 'V' },
xkeymap = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
window = 13491152927956830637,
key_vector = "\035@",
'\000' <repeats 14 times>,
"\356e\241\f",
'\000' <repeats 11 times> },
xgeneric = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
extension = -648640083,
evtype = -1153813477 },
xcookie = { type = 0,
serial = 16422,
send_event = -1920686285,
display = 0x3ffe,
extension = -648640083,
evtype = -1153813477,
cookie = 16413,
data = 0x0 },
pad = { -1669528073709551616,
16422,
-1392943971453065421,
16382,
-4955591145752720979,
16413,
0,
211903982,
0,
94390780810128,
-1,
0,
0,
94390780810160,
3783866188157,
3882650435965,
0,
4294967297,
-4294967288,
0,
0,
94390780810096,
4607182418800017408,
0}}
next_event = { type = 0,
xany = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
window = 45471607168672},
xkey = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
window = 45471607168672,
root = 14052075844346643650,
subwindow = 5243319166974535752,
time = 12126158613379515304,
x = 50366339,
y = -2086123322,
x_root = -1909964552,
y_root = 32765,
state = 2098047,
keycode = 0,
same_screen = 234481228},
xbutton = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
window = 45471607168672,
root = 14052075844346643650,
subwindow = 5243319166974535752,
time = 12126158613379515304,
x = 50366339,
y = -2086123322,
x_root = -1909964552,
y_root = 32765,
state = 2098047,
button = 0,
same_screen = 234481228 },
xmotion = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
window = 45471607168672,
root = 14052075844346643650,
subwindow = 5243319166974535752,
time = 12126158613379515304,
x = 50366339,
y = -2086123322,
x_root = -1909964552,
y_root = 32765,
state = 2098047,
is_hint = 0 '\000',
same_screen = 234481228},
xcrossing = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
window = 45471607168672,
root = 14052075844346643650,
subwindow = 5243319166974535752,
time = 12126158613379515304,
x = 50366339,
y = -2086123322,
x_root = -1909964552,
y_root = 32765,
mode = 2098047,
detail = 0,
same_screen = 234481228,
focus = 21977,
state = 0},
xfocus = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
window = 45471607168672,
mode = -2094988094,
detail = -1023213433},
xexpose = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
window = 45471607168672,
x = -2094988094,
y = -1023213433,
width = -2021414840,
height = 1220805376,
count = 8881064 },
xgraphicsexpose = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
drawable = 45471607168672,
x = -2094988094,
y = -1023213433,
width = -2021414840,
height = 1220805376,
count = 8881064,
major_code = -1471625981,
minor_code = 50366339 },
xnoexpose = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
drawable = 45471607168672,
major_code = -2094988094,
minor_code = -1023213433 },
xvisibility = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
window = 45471607168672,
state = -2094988094 },
xcreatewindow = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
parent = 45471607168672,
window = 14052075844346643650,
x = -2021414840,
y = 1220805376,
width = 8881064,
height = -1471625981,
border_width = 50366339,
override_redirect = -2086123322},
xdestroywindow = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
event = 45471607168672,
window = 14052075844346643650 },
xunmap = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
event = 45471607168672,
window = 14052075844346643650,
from_configure = -2021414840 },
xmap = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
event = 45471607168672,
window = 14052075844346643650,
override_redirect = -2021414840 },
xmaprequest = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
parent = 45471607168672,
window = 14052075844346643650 },
xreparent = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
event = 45471607168672,
window = 14052075844346643650,
parent = 5243319166974535752,
x = 8881064,
y = -1471625981,
override_redirect = 50366339 },
xconfigure = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
event = 45471607168672,
window = 14052075844346643650,
x = -2021414840,
y = 1220805376,
width = 8881064,
height = -1471625981,
border_width = 50366339,
above = 140726988456184,
override_redirect = 2098047 },
xgravity = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
event = 45471607168672,
window = 14052075844346643650,
x = -2021414840,
y = 1220805376 },
xresizerequest = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
window = 45471607168672,
width = -2094988094,
height = -1023213433 },
xconfigurerequest = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
parent = 45471607168672,
window = 14052075844346643650,
x = -2021414840,
y = 1220805376,
width = 8881064,
height = -1471625981,
border_width = 50366339,
above = 140726988456184,
detail = 2098047,
value_mask = 94390730745420 },
xcirculate = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
event = 45471607168672,
window = 14052075844346643650,
place = -2021414840 },
xcirculaterequest = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
parent = 45471607168672,
window = 14052075844346643650,
place = -2021414840 },
xproperty = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
window = 45471607168672,
atom = 14052075844346643650,
time = 5243319166974535752,
state = 8881064 },
xselectionclear = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
window = 45471607168672,
selection = 14052075844346643650,
time = 5243319166974535752 },
xselectionrequest = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
owner = 45471607168672,
requestor = 14052075844346643650,
selection = 5243319166974535752,
target = 12126158613379515304,
property = 9486912630347040643,
time = 140726988456184},
xselection = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
requestor = 45471607168672,
selection = 14052075844346643650,
target = 5243319166974535752,
property = 12126158613379515304,
time = 9486912630347040643 },
xcolormap = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
window = 45471607168672,
colormap = 14052075844346643650,
new = -2021414840,
state = 1220805376 },
xclient = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
window = 45471607168672,
message_type = 14052075844346643650,
format = -2021414840,
data = { b = "\250\203\207\000\003\305H\250\203\207\000\003\306H\250\203\370@(\216",
s = { -31832,
135,
-15101,
-22456,
-30845,
768,
18630,
-31832,
16632,
-29144},
l = { -6320585460330036312,
-8959831443362510973,
140726988456184,
2098047,
94390730745420}}},
xmapping = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
window = 45471607168672,
request = -2094988094,
first_keycode = -1023213433,
count = -2021414840 },
xerror = { type = 0,
display = 0x0,
resourceid = 45471607168672,
serial = 30,
error_code = 160 '\240',
request_code = 30 '\036',
minor_code = 254 '\376' },
xkeymap = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
window = 45471607168672,
key_vector = "\302\004!\203\207\000\003\303H\250\203\207\000\003\304H\250\203\207\000\003\305H\250\203\207\000\003\306H\250\203" },
xgeneric = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
extension = 788405920,
evtype = 10587 },
xcookie = { type = 0,
serial = 0,
send_event = 788405920,
display = 0x1e,
extension = 788405920,
evtype = 10587,
cookie = 2199979202,
data = 0x48c403008783a848 },
pad = { 0,
0,
45471607168672,
30,
45471607168672,
-4394668229362907966,
5243319166974535752,
-6320585460330036312,
-8959831443362510973,
140726988456184,
2098047,
94390730745420,
0,
281470681751456,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0}}
sa_avail = 16384
sa_count = 5
#15 0x000055d90dd8f655 in XTread_socket (terminal=0x55d910c50530, hold_quit=0x7ffd8e284a50) at xterm.c:9361
finish = 0
event = { type = 6,
xany = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
window = 20971862},
xkey = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
window = 20971862,
root = 361,
subwindow = 0,
time = 8172111,
x = 371,
y = 893,
x_root = 371,
y_root = 916,
state = 0,
keycode = 0,
same_screen = 1},
xbutton = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
window = 20971862,
root = 361,
subwindow = 0,
time = 8172111,
x = 371,
y = 893,
x_root = 371,
y_root = 916,
state = 0,
button = 0,
same_screen = 1},
xmotion = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
window = 20971862,
root = 361,
subwindow = 0,
time = 8172111,
x = 371,
y = 893,
x_root = 371,
y_root = 916,
state = 0,
is_hint = 0 '\000',
same_screen = 1},
xcrossing = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
window = 20971862,
root = 361,
subwindow = 0,
time = 8172111,
x = 371,
y = 893,
x_root = 371,
y_root = 916,
mode = 0,
detail = 0,
same_screen = 1,
focus = 1,
state = 8},
xfocus = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
window = 20971862,
mode = 361,
detail = 0},
xexpose = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
window = 20971862,
x = 361,
y = 0,
width = 0,
height = 0,
count = 8172111},
xgraphicsexpose = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
drawable = 20971862,
x = 361,
y = 0,
width = 0,
height = 0,
count = 8172111,
major_code = 0,
minor_code = 371},
xnoexpose = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
drawable = 20971862,
major_code = 361,
minor_code = 0},
xvisibility = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
window = 20971862,
state = 361},
xcreatewindow = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
parent = 20971862,
window = 361,
x = 0,
y = 0,
width = 8172111,
height = 0,
border_width = 371,
override_redirect = 893},
xdestroywindow = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
event = 20971862,
window = 361},
xunmap = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
event = 20971862,
window = 361,
from_configure = 0},
xmap = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
event = 20971862,
window = 361,
override_redirect = 0},
xmaprequest = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
parent = 20971862,
window = 361},
xreparent = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
event = 20971862,
window = 361,
parent = 0,
x = 8172111,
y = 0,
override_redirect = 371},
xconfigure = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
event = 20971862,
window = 361,
x = 0,
y = 0,
width = 8172111,
height = 0,
border_width = 371,
above = 3934190043507,
override_redirect = 0},
xgravity = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
event = 20971862,
window = 361,
x = 0,
y = 0},
xresizerequest = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
window = 20971862,
width = 361,
height = 0},
xconfigurerequest = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
parent = 20971862,
window = 361,
x = 0,
y = 0,
width = 8172111,
height = 0,
border_width = 371,
above = 3934190043507,
detail = 0,
value_mask = 4294967297},
xcirculate = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
event = 20971862,
window = 361,
place = 0},
xcirculaterequest = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
parent = 20971862,
window = 361,
place = 0},
xproperty = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
window = 20971862,
atom = 361,
time = 0,
state = 8172111},
xselectionclear = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
window = 20971862,
selection = 361,
time = 0},
xselectionrequest = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
owner = 20971862,
requestor = 361,
selection = 0,
target = 8172111,
property = 3835405795699,
time = 3934190043507},
xselection = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
requestor = 20971862,
selection = 361,
target = 0,
property = 8172111,
time = 3835405795699},
xcolormap = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
window = 20971862,
colormap = 361,
new = 0,
state = 0},
xclient = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
window = 20971862,
message_type = 361,
format = 0,
data = { b = "O\262|\000\000\000\000\000s\001\000\000}\003\000\000s\001\000",
s = { -19889,
124,
0,
0,
371,
0,
893,
0,
371,
0},
l = { 8172111,
3835405795699,
3934190043507,
0,
4294967297}}},
xmapping = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
window = 20971862,
request = 361,
first_keycode = 0,
count = 0},
xerror = { type = 6,
display = 0xa248e,
resourceid = 0,
serial = 94390761906784,
error_code = 86 'V',
request_code = 1 '\001',
minor_code = 64 '@'},
xkeymap = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
window = 20971862,
key_vector = "i\001",
'\000' <repeats 14 times>,
"O\262|\000\000\000\000\000s\001\000\000}\003\000"},
xgeneric = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
extension = 20971862,
evtype = 0},
xcookie = { type = 6,
serial = 664718,
send_event = 0,
display = 0x55d90fd56260,
extension = 20971862,
evtype = 0,
cookie = 361,
data = 0x0},
pad = { 139861315026950,
664718,
0,
94390761906784,
20971862,
361,
0,
8172111,
3835405795699,
3934190043507,
0,
4294967297,
-4294967288,
0,
0,
94390780810096,
-1,
0,
0,
94390780810128,
-1,
0,
0,
94390780810160}}
count = 0
event_found = true
dpyinfo = 0x55d9104d2c10
#16 0x000055d90ddecd4b in gobble_input () at keyboard.c:6868
nr = 21977
hold_quit = {kind = NO_EVENT, part = scroll_bar_nowhere, code = 0, modifiers = 0, x = 0x0, y = 0x0, timestamp = 0, frame_or_window = 0x0, arg = 0x0}
next = 0x55d90f811ec0
nread = 0
err = false
t = 0x55d910c50530
#17 0x000055d90dded1e6 in handle_async_input () at keyboard.c:7105
nread = 0
#18 0x000055d90dded205 in process_pending_signals () at keyboard.c:7119
#19 0x000055d90dded245 in unblock_input_to (level=0) at keyboard.c:7134
#20 0x000055d90dded269 in unblock_input () at keyboard.c:7153
#21 0x000055d90e02da54 in xg_select (fds_lim=20, rfds=0x7ffd8e285360, wfds=0x7ffd8e2852e0, efds=0x0, timeout=0x7ffd8e2852c0, sigmask=0x0) at xgselect.c:163
pselect_errno = 11
all_rfds = {fds_bits = {256, 0 <repeats 15 times>}}
all_wfds = {fds_bits = {0 <repeats 16 times>}}
tmo = {tv_sec = 0, tv_nsec = 288096018}
tmop = 0x7ffd8e2852c0
context = 0x55d90fde0ed0
have_wfds = true
gfds_buf = {{ fd = 6, events = 1, revents = 0 },
{ fd = -1909961816, events = 32765, revents = 0 },
{ fd = 514, events = 0, revents = 0 },
{ fd = 0, events = 24, revents = 0 },
{ fd = 268557605, events = 21977, revents = 0 },
{ fd = -1909961256, events = 32765, revents = 0 },
{ fd = 1034614517, events = 32564, revents = 0 },
{ fd = 300528704, events = 21977, revents = 0 },
{ fd = 1034701760, events = 32564, revents = 0 },
{ fd = 1091105406, events = 32564, revents = 0 },
{ fd = 1034701760, events = 32564, revents = 0 },
{ fd = 0, events = 42256, revents = 59604 },
{ fd = -1909961424, events = 32765, revents = 0 },
{ fd = 293120624, events = 21977, revents = 0 },
{ fd = -40, events = 0, revents = 0 },
{ fd = 1, events = 0, revents = 0 },
{ fd = -1909961456, events = 32765, revents = 0 },
{ fd = 2, events = 0, revents = 0 },
{ fd = -1909961264, events = 32765, revents = 0 },
{ fd = 1091180064, events = 32564, revents = 0 },
{ fd = -1909961568, events = 32765, revents = 0 },
{ fd = 1034701760, events = 32564, revents = 0 },
{ fd = -1909961256, events = 32765, revents = 0 },
{ fd = 2, events = 0, revents = 0 },
{ fd = 274646096, events = 21977, revents = 0 },
{ fd = 0, events = 0, revents = 0 },
{ fd = 0, events = 0, revents = 0 },
{ fd = 1091105406, events = 32564, revents = 0 },
{ fd = 233601876, events = 21977, revents = 0 },
{ fd = 0, events = 42256, revents = 59604 },
{ fd = -1909961280, events = 32765, revents = 0 },
{ fd = 305840608, events = 21977, revents = 0 },
{ fd = -40, events = 0, revents = 0 },
{ fd = 1, events = 0, revents = 0 },
{ fd = -1909961312, events = 32765, revents = 0 },
{ fd = 2, events = 0, revents = 0 },
{ fd = -1909961120, events = 32765, revents = 0 },
{ fd = 1091180064, events = 32564, revents = 0 },
{ fd = -1909961520, events = 32765, revents = 0 },
{ fd = 47, events = 0, revents = 0 },
{ fd = 48, events = 0, revents = 0 },
{ fd = 303240496, events = 21977, revents = 0 },
{ fd = -1909961440, events = 32765, revents = 0 },
{ fd = -1051655424, events = 63826, revents = 48969 },
{ fd = 293120624, events = 21977, revents = 0 },
{ fd = 1090078466, events = 32564, revents = 0 },
{ fd = 2, events = 0, revents = 0 },
{ fd = 16, events = 0, revents = 0 },
{ fd = -1909961056, events = 32765, revents = 0 },
{ fd = -1909961216, events = 3, revents = 0 },
{ fd = -1909961280, events = 32765, revents = 0 },
{ fd = 1118683101, events = 32564, revents = 0 },
{ fd = -1909961120, events = 32765, revents = 0 },
{ fd = -1909961280, events = 32765, revents = 0 },
{ fd = 305840608, events = 21977, revents = 0 },
{ fd = 1092698514, events = 32564, revents = 0 },
{ fd = 24, events = 0, revents = 0 },
{ fd = -1, events = 65535, revents = 65535 },
{ fd = -1909961296, events = 32765, revents = 0 },
{ fd = 294738672, events = 21977, revents = 0 },
{ fd = -1909961296, events = 32765, revents = 0 },
{ fd = -1051655424, events = 63826, revents = 48969 },
{ fd = 305840608, events = 21977, revents = 0 },
{ fd = 1, events = 0, revents = 0 },
{ fd = 2, events = 0, revents = 0 },
{ fd = -1909961120, events = 32765, revents = 0 },
{ fd = 240828352, events = 21977, revents = 0 },
{ fd = -1909961072, events = 32765, revents = 0 },
{ fd = -1909961136, events = 32765, revents = 0 },
{ fd = 1091078216, events = 32564, revents = 0 },
{ fd = 1, events = 0, revents = 0 },
{ fd = 1091078522, events = 32564, revents = 0 },
{ fd = -279969792, events = 55010, revents = 6884 },
{ fd = 27, events = 0, revents = 0 },
{ fd = 24, events = 0, revents = 0 },
{ fd = 305840608, events = 21977, revents = 0 },
{ fd = 2, events = 0, revents = 0 },
{ fd = 270214256, events = 21977, revents = 0 },
{ fd = 2, events = 0, revents = 0 },
{ fd = 2, events = 0, revents = 0 },
{ fd = 1, events = 2, revents = 0 },
{ fd = 305840608, events = 21977, revents = 0 },
{ fd = 0, events = 0, revents = 0 },
{ fd = -1051655424, events = 63826, revents = 48969 },
{ fd = 24, events = 0, revents = 0 },
{ fd = 240828352, events = 21977, revents = 0 },
{ fd = 2, events = 0, revents = 0 },
{ fd = 1, events = 0, revents = 0 },
{ fd = 240828352, events = 21977, revents = 0 },
{ fd = 1091105406, events = 32564, revents = 0 },
{ fd = -1909961008, events = 32765, revents = 0 },
{ fd = 232872931, events = 21977, revents = 0 },
{ fd = -1909961016, events = 32765, revents = 0 },
{ fd = 240828352, events = 21977, revents = 0 },
{ fd = -30, events = 0, revents = 0 },
{ fd = 0, events = 0, revents = 0 },
{ fd = 1, events = 0, revents = 0 },
{ fd = 1, events = 0, revents = 0 },
{ fd = 64, events = 1, revents = 0 },
{ fd = 0, events = 0, revents = 0 },
{ fd = -1909961008, events = 32765, revents = 0 },
{ fd = 234481884, events = 21977, revents = 0 },
{ fd = -1909960968, events = 32765, revents = 0 },
{ fd = 240828352, events = 21977, revents = 0 },
{ fd = -1909956640, events = 32765, revents = 0 },
{ fd = 0, events = 0, revents = 0 },
{ fd = -1909960896, events = 32765, revents = 0 },
{ fd = 234482480, events = 21977, revents = 0 },
{ fd = -1454759934, events = 465, revents = 0 },
{ fd = 1385447426, events = 931, revents = 0 },
{ fd = -727379968, events = 232, revents = 0 },
{ fd = 0, events = 0, revents = 0 },
{ fd = 0, events = 0, revents = 0 },
{ fd = 500000000, events = 0, revents = 0 },
{ fd = -1909960592, events = 32765, revents = 0 },
{ fd = 1, events = 51712, revents = 15258 },
{ fd = 240828352, events = 21977, revents = 0 },
{ fd = 230803488, events = 21977, revents = 0 },
{ fd = 0, events = 0, revents = 0 },
{ fd = 500000000, events = 0, revents = 0 },
{ fd = -1909960816, events = 32765, revents = 0 },
{ fd = 234482651, events = 21977, revents = 0 },
{ fd = 211903982, events = 0, revents = 0 },
{ fd = 0, events = 0, revents = 0 },
{ fd = 0, events = 0, revents = 0 },
{ fd = 211903982, events = 0, revents = 0 },
{ fd = -1909960752, events = 32765, revents = 0 },
{ fd = 235206644, events = 21977, revents = 0 } }
gfds = 0x7ffd8e284b80
gfds_size = 128
n_gfds = 1
retval = 1
our_fds = 0
max_fds = 19
context_acquired = true
i = 20
nfds = 1
tmo_in_millisec = -1
must_free = 0
need_to_dispatch = true
#22 0x000055d90df780d1 in wait_reading_process_output (time_limit=30, nsecs=0, read_kbd=-1, do_display=true, wait_for_cell=0x0, wait_proc=0x0, just_wait_proc=0) at process.c:5519
process_skipped = false
channel = 20
nfds = 1
Available = {fds_bits = {256, 0 <repeats 15 times>}}
Writeok = {fds_bits = {0 <repeats 16 times>}}
check_write = true
check_delay = 2
no_avail = false
xerrno = 11
proc = 0x55d9104d2c10
timeout = {tv_sec = 0, tv_nsec = 0}
end_time = {tv_sec = 1570576941, tv_nsec = 812966888}
timer_delay = {tv_sec = 0, tv_nsec = 211903982}
got_output_end_time = {tv_sec = 1570576941, tv_nsec = 812966888}
wait = TIMEOUT
got_some_output = -1
prev_wait_proc_nbytes_read = 0
retry_for_async = false
count = 4
now = {tv_sec = 0, tv_nsec = -1}
#23 0x000055d90dc2f8f4 in sit_for (timeout=0x7a, reading=true, display_option=1) at dispnew.c:6021
sec = 30
nsec = 0
do_display = true
#24 0x000055d90dde4463 in read_char (commandflag=1, map=0x55d9130b34d3, prev_event=0x0, used_mouse_menu=0x7ffd8e28590f, end_time=0x0) at keyboard.c:2718
tem0 = 0x30
timeout = 30
count1 = 3
delay_level = 4
buffer_size = 57
c = 0x0
jmpcount = 3
local_getcjmp = {{__jmpbuf = { 0,
7722669238012315781,
94390727067680,
140726988464096,
0,
0,
7722669238173796485,
4568173041733437573 },
__mask_was_saved = 0,
__saved_mask = { __val = { 94390729897072,
139862344185632,
139862344185584,
0,
45471607051120,
0,
139862344185632,
94390737134464,
0,
0,
140726988461904,
94390729030688,
1029158640,
94390737134464,
0,
0}}}}
save_jump = {{ __jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0},
__mask_was_saved = 0,
__saved_mask = {__val = {0 <repeats 16 times>}}}}
tem = 0x0
save = 0x55d90ddfbc20 <builtin_lisp_symbol+48>
previous_echo_area_message = 0x0
also_record = 0x0
reread = false
recorded = false
polling_stopped_here = false
orig_kboard = 0x55d90f88cb30
#25 0x000055d90ddf27cd in read_key_sequence (keybuf=0x7ffd8e285b10, prompt=0x0, dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9527
interrupted_kboard = 0x55d90f88cb30
interrupted_frame = 0x55d90ffe6350
key = 0x30
used_mouse_menu = false
echo_local_start = 0
last_real_key_start = 0
keys_local_start = 0
new_binding = 0x49f3
count = 3
t = 0
echo_start = 0
keys_start = 0
current_binding = 0x55d9130b34d3
first_unbound = 31
mock_input = 0
used_mouse_menu_history = {false <repeats 30 times>}
fkey = {parent = 0x55d90fdc8963, map = 0x55d90fdc8963, start = 0, end = 0}
keytran = {parent = 0x7f343daa443b, map = 0x7f343daa443b, start = 0, end = 0}
indec = {parent = 0x55d90fdc8a23, map = 0x55d90fdc8a23, start = 0, end = 0}
shift_translated = false
delayed_switch_frame = 0x0
original_uppercase = 0x0
original_uppercase_position = -1
dummyflag = false
starting_buffer = 0x55d9105ec450
fake_prefixed_keys = 0x0
first_event = 0x0
second_event = 0x0
#26 0x000055d90dde0e76 in command_loop_1 () at keyboard.c:1345
cmd = 0x2d73f20
keybuf = { 0x8e,
0x192,
0x55d90dea9f53 <SDATA+24>,
0x16ff880,
0x7ffd8e285bc0,
0x55d90df00157 <call3+73>,
0x16ff880,
0x7f343d521dc4,
0x55d911a3cd73,
0x295b2f423460,
0x295b2f423460,
0x55d911a3cd73,
0x7f343d521dc4,
0x16ff880,
0x0,
0x0,
0x55d90e5b6380 <lispsym>,
0x0,
0x0,
0x7ffd8e285bc0,
0x55d90ddd9a37 <builtin_lisp_symbol+48>,
0x8e285c10,
0x55d90e5b6380 <lispsym>,
0x0,
0x0,
0x7ffd8e285bf0,
0x55d90def5f58 <builtin_lisp_symbol+48>,
0x2,
0x7ffd8e285c30,
0x55d90defd4b6 <push_handler_nosignal+220>}
i = 1
prev_modiff = 2377
prev_buffer = 0x55d9105ec450
already_adjusted = false
#27 0x000055d90defd0b1 in internal_condition_case (bfun=0x55d90dde0a4c <command_loop_1>, handlers=0x90, hfun=0x55d90dde01e2 <cmd_error>) at eval.c:1355
val = 0x55d90ddd9a37 <builtin_lisp_symbol+48>
c = 0x55d90f837c10
#28 0x000055d90dde0711 in command_loop_2 (ignore=0x0) at keyboard.c:1091
val = 0x2
#29 0x000055d90defc966 in internal_catch (tag=0xd320, func=0x55d90dde06e4 <command_loop_2>, arg=0x0) at eval.c:1116
val = 0x7ffd8e285d30
c = 0x55d90f8222f0
#30 0x000055d90dde06af in command_loop () at keyboard.c:1070
#31 0x000055d90dddfdb1 in recursive_edit_1 () at keyboard.c:714
count = 1
val = 0x7ffd8e285d90
#32 0x000055d90dddff35 in Frecursive_edit () at keyboard.c:786
count = 0
buffer = 0x0
#33 0x000055d90ddd8520 in main (argc=3, argv=0x7ffd8e285fe8) at emacs.c:2055
stack_bottom_variable = 0x20
do_initial_setlocale = true
no_loadup = false
junk = 0x0
dname_arg = 0x0
ch_to_dir = 0x0
original_pwd = 0x0
dump_mode = 0x0
skip_args = 1
temacs = 0x0
attempt_load_pdump = true
rlim = {rlim_cur = 10022912, rlim_max = 18446744073709551615}
sockfd = -1
/* ************************************************************************* */
Thread 1 (Thread 0x7f3437fff700 (LWP 1679)):
/* ************************************************************************* */
#0 0x00007f34412112a7 in __pthread_kill (threadid=0, signo=17) at ../sysdeps/unix/sysv/linux/pthread_kill.c:40
pd = 0x0
tid = <optimized out>
pid = <optimized out>
val = <optimized out>
#1 0x000055d90de0f632 in deliver_process_signal (sig=17, handler=0x55d90df7bb95 <handle_child_signal>) at sysdep.c:1725
blocked = {__val = {65536, 0 <repeats 15 times>}}
old_errno = 4
on_main_thread = true
#2 0x000055d90df7be10 in deliver_child_signal (sig=17) at process.c:7264
#3 0x00007f3441214510 in <signal handler called> () at /lib/x86_64-linux-gnu/libpthread.so.0
#4 0x00007f3440f92d2f in __GI___poll (fds=0x7f3430016610, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
resultvar = 18446744073709551612
sc_cancel_oldtype = 0
#5 0x00007f3441e3809e in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6 0x00007f3441e38403 in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7 0x00007f34420a3726 in () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#8 0x00007f3441e60d0d in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#9 0x00007f3441209fb7 in start_thread (arg=<optimized out>) at pthread_create.c:486
ret = <optimized out>
pd = <optimized out>
now = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = { 139862254548736,
-7721577065380607867,
139862330872990,
139862330872991,
139862254548736,
139862254545152,
7691899047001426053,
7692131468584519813},
mask_was_saved = 0}},
priv = { pad = { 0x0, 0x0, 0x0, 0x0 },
data = { prev = 0x0, cleanup = 0x0, canceltype = 0 }}}
not_first_call = <optimized out>
#10 0x00007f3440f9d2ef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
That's pretty much it. Let me know if I can provide any additional in-
formation.
Regards Frank
In GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw3d scroll bars)
of 2019-10-08 built on scotty
Repository revision: 9839466b231b6384055b9b137405730876413cbe
Repository branch: master
System Description: Debian GNU/Linux bullseye/sid
Recent messages:
Loading package woman...done
[yas] Prepared just-in-time loading of snippets successfully.
Could not load ‘/home/ft/.emacs.d/init-post.el’: File does not exist.
Done loading emacs setup; have a nice day.
No desktop file.
Configuring package paren...done
Configuring package paredit...done
Configuring package highlight-parentheses...done
For information about GNU Emacs and the GNU system, type C-h C-a.
delete-backward-char: Text is read-only
Configured using:
'configure --prefix=/opt/emacs -with-x-toolkit=lucid --with-cairo
--with-libsystemd 'CFLAGS=-ggdb3 -O0' LDFLAGS=-ggdb3'
Configured features:
XAW3D XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND GPM DBUS GSETTINGS GLIB
NOTIFY INOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT
LIBOTF ZLIB TOOLKIT_SCROLL_BARS LUCID X11 XDBE XIM THREADS LIBSYSTEMD
JSON PDUMPER LCMS2 GMP
Important settings:
value of $LANG: en_GB.UTF-8
locale-coding-system: utf-8-unix
Major mode: Lisp-Int
Minor modes in effect:
highlight-parentheses-mode: t
paredit-mode: t
show-paren-mode: t
whitespace-mode: t
yas-global-mode: t
yas-minor-mode: t
savehist-mode: t
ido-ubiquitous-mode: t
ido-everywhere: t
desktop-save-mode: t
global-company-mode: t
company-mode: t
amx-mode: t
global-undo-tree-mode: t
undo-tree-mode: t
shell-dirtrack-mode: t
evil-mode: t
evil-local-mode: t
override-global-mode: t
tooltip-mode: t
global-eldoc-mode: t
eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: t
Load-path shadows:
/home/ft/.emacs.d/elpa-27/apt-utils-1.212/apt-utils hides /home/ft/.emacs.d/elpa-27/debian-el-20181020.1513/apt-utils
/home/ft/.emacs.d/elpa-27/dpkg-dev-el-20190824.2314/debian-autoloads hides /home/ft/.emacs.d/elpa-27/debian-el-20181020.1513/debian-autoloads
/home/ft/.emacs.d/vendor/markdown-mode/markdown-mode hides /home/ft/.emacs.d/elpa-27/markdown-mode-20190802.2215/markdown-mode
/home/ft/.emacs.d/vendor/htmlize/htmlize hides /home/ft/.emacs.d/elpa-27/htmlize-20180923.1829/htmlize
Features:
(shadow sort bbdb-message mail-extr emacsbug message format-spec rfc822
gmm-utils mailheader sendmail term/screen term/xterm xterm
highlight-parentheses paredit paren disp-table whitespace yasnippet
woman man transpose-frame select-window-hook timed-line-highlight shr
url-cookie url-domsuf svg dom savehist rainbow-mode lsp-ui lsp-ui-doc
goto-addr lsp-ui-imenu lsp-ui-peek lsp-ui-sideline lsp-mode ewoc
markdown-mode rx noutline outline tree-widget url-util spinner
network-stream puny nsm rmc inline imenu ht filenotify f em-glob
dash-functional dash bindat flymake-proc flymake warnings eudcb-bbdb
bbdb-com crm mailabbrev eudc eudc-options-file eudc-vars ldap
ido-completing-read+ memoize cus-edit cus-start cus-load minibuf-eldef
ido ibuf-ext ibuffer ibuffer-loaddefs counsel xdg dired dired-loaddefs
compile swiper cl-extra help-mode ivy delsel colir color ivy-overlay
ace-window avy ft-space-key ft-gui eshell esh-cmd esh-ext esh-opt
esh-proc esh-io esh-arg esh-module esh-groups esh-util mml1991 mml2015
mml mml-sec epa derived epg epg-config mm-decode mm-bodies mm-encode
mail-parse rfc2231 desktop frameset ft-dark-theme ft-colours
company-oddmuse company-keywords company-etags etags fileloop generator
xref project company-gtags company-dabbrev-code company-dabbrev
company-files company-capf company-cmake company-xcode company-clang
company-semantic company-eclim company-template company-bbdb company
pcase clang-format xml bbdb bbdb-site timezone amx s gnus nnheader
gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums
text-property-search time-date mail-utils mm-util mail-prsvr wid-edit
winring time ft-map-key evil evil-keybindings evil-integration undo-tree
diff evil-maps evil-commands reveal flyspell ispell evil-jumps
evil-command-window evil-types evil-search evil-ex shell pcomplete
comint ansi-color evil-macros evil-repeat evil-states evil-core advice
evil-common windmove thingatpt rect evil-digraphs evil-vars ring edmacro
kmacro use-package use-package-ensure use-package-delight
use-package-diminish use-package-bind-key bind-key easy-mmode
use-package-core diminish ft-utilities tex-site dpkg-dev-el debian-el
info package easymenu browse-url url-handlers url-parse auth-source
cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json
subr-x map url-vars seq byte-opt gv bytecomp byte-compile cconv
cl-loaddefs cl-lib tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar
dnd fontset image regexp-opt fringe tabulated-list replace newcomment
text-mode elisp-mode lisp-mode prog-mode register page tab-bar menu-bar
rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core term/tty-colors frame cl-generic cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese composite charscript charprop
case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote threads dbusbind
inotify lcms2 dynamic-setting system-font-setting font-render-setting
cairo x-toolkit x multi-tty make-network-process emacs)
Memory information:
((conses 16 326965 136717)
(symbols 48 28186 1)
(strings 32 89137 9815)
(string-bytes 1 2769116)
(vectors 16 40732)
(vector-slots 8 442536 424872)
(floats 8 383 1333)
(intervals 56 1186 0)
(buffers 1000 12))
^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#37671: 27.0.50; Segmentation fault with --fg-daemon on Linux
2019-10-09 1:55 bug#37671: 27.0.50; Segmentation fault with --fg-daemon on Linux Frank Terbeck
@ 2019-10-10 11:03 ` Eli Zaretskii
2019-10-10 18:27 ` Frank Terbeck
2019-10-10 20:56 ` Paul Eggert
1 sibling, 1 reply; 22+ messages in thread
From: Eli Zaretskii @ 2019-10-10 11:03 UTC (permalink / raw)
To: Frank Terbeck; +Cc: 37671
> From: Frank Terbeck <ft@bewatermyfriend.org>
> Date: Wed, 09 Oct 2019 03:55:23 +0200
>
>
> I am running emacs in Linux. The base system is an up-to-date Debian
> sid. Right now I am starting emacs via systemd and emacs' --fg-daemon
> flag. I am mostly attaching GUI clients to this server instance. The
> graphical user interface is a non-reparenting window manager (namely
> xmonad). This build uses --with-x-toolkit=lucid --with-cairo as well as
> --with-libsystemd.
>
> The issue is emacs crashing, plainly. And I have not been able to iso-
> late and specifics that are required for crashes to happen. I've seen
> this sporadically with different builds of emacs from its master branch.
> To look into it more closely, I rebuilt emacs with debugging symbols.
> And luckily, I didn't have to wait very long. Emacs crashed within a
> day.
>
> I didn't so anything spectacular either. I think I was just switching
> from a buffer to another. And emacs' uptime was pretty low too. Like an
> hour or two, if I'd have to wager a guess.
>
> Here is the stack-trace, as recorded by systemd's coredumpctl:
>
> Stack trace of thread 1679:
> #0 0x00007f34412112a7 __pthread_kill (libpthread.so.0)
> #1 0x000055d90de0f632 deliver_process_signal (emacs-27.0.50)
> #2 0x000055d90df7be10 deliver_child_signal (emacs-27.0.50)
> #3 0x00007f3441214510 __restore_rt (libpthread.so.0)
> #4 0x00007f3440f92d2f __GI___poll (libc.so.6)
> #5 0x00007f3441e3809e n/a (libglib-2.0.so.0)
> #6 0x00007f3441e38403 g_main_loop_run (libglib-2.0.so.0)
> #7 0x00007f34420a3726 n/a (libgio-2.0.so.0)
> #8 0x00007f3441e60d0d n/a (libglib-2.0.so.0)
> #9 0x00007f3441209fb7 start_thread (libpthread.so.0)
> #10 0x00007f3440f9d2ef __clone (libc.so.6)
Thanks.
Looks like the crash was in Glib?
It is strange that you see a problem that no one else sees, and you
say you have had it for quite some time.
Can you run Emacs under GDB? I hope it will show a better backtrace
if you do so.
^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#37671: 27.0.50; Segmentation fault with --fg-daemon on Linux
2019-10-10 11:03 ` Eli Zaretskii
@ 2019-10-10 18:27 ` Frank Terbeck
2020-01-08 3:23 ` Frank Terbeck
0 siblings, 1 reply; 22+ messages in thread
From: Frank Terbeck @ 2019-10-10 18:27 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 37671
Hey Eli,
Eli Zaretskii wrote:
>> From: Frank Terbeck <ft@bewatermyfriend.org>
[...]
>> #3 0x00007f3441214510 __restore_rt (libpthread.so.0)
>> #4 0x00007f3440f92d2f __GI___poll (libc.so.6)
>> #5 0x00007f3441e3809e n/a (libglib-2.0.so.0)
>> #6 0x00007f3441e38403 g_main_loop_run (libglib-2.0.so.0)
>> #7 0x00007f34420a3726 n/a (libgio-2.0.so.0)
>> #8 0x00007f3441e60d0d n/a (libglib-2.0.so.0)
>> #9 0x00007f3441209fb7 start_thread (libpthread.so.0)
>> #10 0x00007f3440f9d2ef __clone (libc.so.6)
[...]
> Looks like the crash was in Glib?
Looks that way.
> It is strange that you see a problem that no one else sees, and you
> say you have had it for quite some time.
Very infrequently, but yes.
> Can you run Emacs under GDB? I hope it will show a better backtrace
> if you do so.
I can do that. I'll report back when it happens next.
Regards, Frank
^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#37671: 27.0.50; Segmentation fault with --fg-daemon on Linux
2019-10-09 1:55 bug#37671: 27.0.50; Segmentation fault with --fg-daemon on Linux Frank Terbeck
2019-10-10 11:03 ` Eli Zaretskii
@ 2019-10-10 20:56 ` Paul Eggert
2019-10-11 7:02 ` Eli Zaretskii
1 sibling, 1 reply; 22+ messages in thread
From: Paul Eggert @ 2019-10-10 20:56 UTC (permalink / raw)
To: Frank Terbeck; +Cc: 37671
[-- Attachment #1: Type: text/plain, Size: 244 bytes --]
As a shot in the dark, does the attached patch fix things for you, or
affect the symptoms? The idea is to prevent a reset hlinfo from looking
like it's nonempty. (A fancier possibility would be to add one to
end_row and end_col everywhere.)
[-- Attachment #2: emacs.patch --]
[-- Type: text/x-patch, Size: 2148 bytes --]
diff --git a/src/dispextern.h b/src/dispextern.h
index 7a15e2745b..19f2d3ba6c 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -2840,7 +2840,7 @@ #define PRODUCE_GLYPHS(IT) \
reset_mouse_highlight (Mouse_HLInfo *hlinfo)
{
- hlinfo->mouse_face_beg_row = hlinfo->mouse_face_beg_col = -1;
+ hlinfo->mouse_face_beg_row = hlinfo->mouse_face_beg_col = 0;
hlinfo->mouse_face_end_row = hlinfo->mouse_face_end_col = -1;
hlinfo->mouse_face_mouse_x = hlinfo->mouse_face_mouse_y = 0;
hlinfo->mouse_face_beg_x = hlinfo->mouse_face_end_x = 0;
diff --git a/src/dispnew.c b/src/dispnew.c
index 4dd5ee2a1e..53906d86f6 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -3757,7 +3757,7 @@ gui_update_window_end (struct window *w, bool cursor_on_p,
{
Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (f);
- hlinfo->mouse_face_beg_row = hlinfo->mouse_face_beg_col = -1;
+ hlinfo->mouse_face_beg_row = hlinfo->mouse_face_beg_col = 0;
hlinfo->mouse_face_end_row = hlinfo->mouse_face_end_col = -1;
hlinfo->mouse_face_window = Qnil;
}
diff --git a/src/xdisp.c b/src/xdisp.c
index 893ce9269c..92f35a8333 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -28304,8 +28304,7 @@ draw_glyphs (struct window *w, int x, struct glyph_row *row,
/* If mouse highlighting is on, we may need to draw adjacent
glyphs using mouse-face highlighting. */
if (area == TEXT_AREA && row->mouse_face_p
- && hlinfo->mouse_face_beg_row >= 0
- && hlinfo->mouse_face_end_row >= 0)
+ && hlinfo->mouse_face_beg_row <= hlinfo->mouse_face_end_row)
{
ptrdiff_t row_vpos = MATRIX_ROW_VPOS (row, w->current_matrix);
@@ -31512,7 +31511,7 @@ clear_mouse_face (Mouse_HLInfo *hlinfo)
= !hlinfo->mouse_face_hidden && !NILP (hlinfo->mouse_face_window);
if (cleared)
show_mouse_face (hlinfo, DRAW_NORMAL_TEXT);
- hlinfo->mouse_face_beg_row = hlinfo->mouse_face_beg_col = -1;
+ hlinfo->mouse_face_beg_row = hlinfo->mouse_face_beg_col = 0;
hlinfo->mouse_face_end_row = hlinfo->mouse_face_end_col = -1;
hlinfo->mouse_face_window = Qnil;
hlinfo->mouse_face_overlay = Qnil;
^ permalink raw reply related [flat|nested] 22+ messages in thread
* bug#37671: 27.0.50; Segmentation fault with --fg-daemon on Linux
2019-10-10 20:56 ` Paul Eggert
@ 2019-10-11 7:02 ` Eli Zaretskii
0 siblings, 0 replies; 22+ messages in thread
From: Eli Zaretskii @ 2019-10-11 7:02 UTC (permalink / raw)
To: Paul Eggert; +Cc: ft, 37671
> From: Paul Eggert <eggert@cs.ucla.edu>
> Date: Thu, 10 Oct 2019 13:56:46 -0700
> Cc: 37671@debbugs.gnu.org
>
> As a shot in the dark, does the attached patch fix things for you, or
> affect the symptoms? The idea is to prevent a reset hlinfo from looking
> like it's nonempty. (A fancier possibility would be to add one to
> end_row and end_col everywhere.)
>
> diff --git a/src/dispextern.h b/src/dispextern.h
> index 7a15e2745b..19f2d3ba6c 100644
> --- a/src/dispextern.h
> +++ b/src/dispextern.h
> @@ -2840,7 +2840,7 @@ #define PRODUCE_GLYPHS(IT) \
> reset_mouse_highlight (Mouse_HLInfo *hlinfo)
> {
>
> - hlinfo->mouse_face_beg_row = hlinfo->mouse_face_beg_col = -1;
> + hlinfo->mouse_face_beg_row = hlinfo->mouse_face_beg_col = 0;
This cannot be right, since zero is a valid column number.
> /* If mouse highlighting is on, we may need to draw adjacent
> glyphs using mouse-face highlighting. */
> if (area == TEXT_AREA && row->mouse_face_p
> - && hlinfo->mouse_face_beg_row >= 0
> - && hlinfo->mouse_face_end_row >= 0)
> + && hlinfo->mouse_face_beg_row <= hlinfo->mouse_face_end_row)
And this cannot be right because of bidirectional editing support,
whereby beg_row CAN be greater than end_row.
The test whether mouse highlight info is valid should involve the
mouse_face_window and mouse_face_mouse_frame members., and if these
are valid, then the row and column numbers should be valid as well.
If the row or the column are invalid, e somehow failed to update them
when we computed the info and set the frame and the window members.
^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#37671: 27.0.50; Segmentation fault with --fg-daemon on Linux
2019-10-10 18:27 ` Frank Terbeck
@ 2020-01-08 3:23 ` Frank Terbeck
2020-01-08 16:28 ` Eli Zaretskii
0 siblings, 1 reply; 22+ messages in thread
From: Frank Terbeck @ 2020-01-08 3:23 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 37671
Hi again,
Frank Terbeck wrote:
> Eli Zaretskii wrote:
[...]
>> Can you run Emacs under GDB? I hope it will show a better backtrace
>> if you do so.
>
> I can do that. I'll report back when it happens next.
Took a while to trigger. Here is the backtrace. Unfortunately, it seems
I built emacs anew (which I do every now and then; this build is based
on 9a911b4af50) without passing --with-x-toolkit=lucid — meh. I'll add
that parameter again and rebuild and keep running from within gdb. Maybe
this will still be of use:
Thread 1 "emacs-27.0.50" received signal SIGSEGV, Segmentation fault.
0x0000555555624d2d in show_mouse_face (hlinfo=0x5555568e7698, draw=DRAW_NORMAL_TEXT) at xdisp.c:31489
31489 if (FRAME_WINDOW_P (f) && NILP (track_mouse))
(gdb) bt full
#0 0x0000555555624d2d in show_mouse_face (hlinfo=0x5555568e7698, draw=DRAW_NORMAL_TEXT) at xdisp.c:31489
w = 0x5555591c23e0
f = 0xfffffffffffffffb
#1 0x0000555555624e91 in clear_mouse_face (hlinfo=0x5555568e7698) at xdisp.c:31517
cleared = true
#2 0x00005555556287a9 in note_mouse_highlight (f=0x5555589ecd50, x=445, y=560) at xdisp.c:32836
hlinfo = 0x5555568e7698
part = ON_TEXT
window = 0x555557dfe4f5
w = 0x55555ad5fb50
cursor = 0
pointer = 0x0
b = 0x7fffffffce60
#3 0x00005555556fe127 in x_note_mouse_movement (frame=0x5555589ecd50, event=0x7fffffffce60) at xterm.c:5144
r = 0x5555568e7888
dpyinfo = 0x5555568e75e0
#4 0x00005555557032b8 in handle_one_xevent (dpyinfo=0x5555568e75e0, event=0x7fffffffce60, finish=0x555555ed7cf4 <current_finish>, hold_quit=0x7fffffffd0e0) at xterm.c:8798
inev =
{kind = NO_EVENT, ie = {kind = NO_EVENT, part = scroll_bar_nowhere, code = 0, modifiers = 0, x = 0x0, y = 0x0, timestamp = 0, frame_or_window = 0x0, arg = 0x0}, sie = {kind = NO_EVENT, dpyinfo = 0x0, requestor = 0, selection = 0, target = 0, property = 0, time = 0}}
count = 0
do_help = 0
nbytes = 0
any = 0x5555589ecd50
f = 0x0
coding =
{id = 7, common_flags = 0, mode = 0, src_multibyte = false, dst_multibyte = false, chars_at_source = false, raw_destination = false, annotated = false, eol_seen = 0, result = CODING_RESULT_SUCCESS, max_charset_id = 0, spec = {iso_2022 = {flags = 1463597296, current_invocation = {21845, -13288}, current_designation = {32767, 72, 0, -150077969}, ctext_extended_segment_len = 32767, single_shifting = false, bol = false, embedded_utf_8 = false, cmp_status = {state = 32767, method = 4294954008, old_form = 255, length = 1452688912, nchars = 21845, ncomps = -150237187, carryover = {32767, -144745312, 32767, -13312, 32767, 1462215696, 21845, -144745221, 32767, -12064, 32767, -151257818, 32767, -12864, 32767, 1461955424, 21845, 1452835056, 21845, 1452835056, 21845, 1, 0, -150150829, 32767, 514, 0, 0, 0, 0, 0, -13488, 32767, 0, 0, 1462215696, 21845, 10056, 0, 0, 0, -13312, 32767, -13440, 32767, 9, 0, 1461955424, 21845, 0, 0, 59, 3399992, 0, 0, -13456, 32767, 0, 0, -141577648, 32767, 0, 0, -141331243, 32767, 59, 48, -12624}}}, ccl = 0x5555573cb8f0, utf_16 = {bom = (unknown: 1463597296), endian = (utf_16_little_endian | unknown: 21844), surrogate = -13288}, utf_8_bom = (unknown: 1463597296), emacs_mule = {cmp_status = {state = 1463597296, method = 21845, old_form = 24, length = 32767, nchars = 72, ncomps = 0, carryover = {-150077969, 32767, -13288, 32767, -13288, 32767, 1452688912, 21845, -150237187, 32767, -144745312, 32767, -13312, 32767, 1462215696, 21845, -144745221, 32767, -12064, 32767, -151257818, 32767, -12864, 32767, 1461955424, 21845, 1452835056, 21845, 1452835056, 21845, 1, 0, -150150829, 32767, 514, 0, 0, 0, 0, 0, -13488, 32767, 0, 0, 1462215696, 21845, 10056, 0, 0, 0, -13312, 32767, -13440, 32767, 9, 0, 1461955424, 21845, 0, 0, 59, 3399992, 0, 0, -13456, 32767, 0, 0}}}, undecided = {inhibit_nbd = 1463597296, inhibit_ied = 21845, prefer_utf_8 = 24}}, safe_charsets = 0x7fff00000001 <error: Cannot access memory at address 0x7fff00000001>, head_ascii = 6283613536428612096, detected_utf8_bytes = 0, detected_utf8_chars = 93825022796816, produced = 59, produced_char = 8589934596, consumed = 4, consumed_char = 93825024178672, src_pos = 0, src_pos_byte = 0, src_chars = 0, src_bytes = 140737338146393, src_object = 0x7fffffffcc00, source = 0x7fffffffcdc0 "", dst_pos = 140737488342064, dst_pos_byte = 1, dst_bytes = 140737488342336, dst_object = 0x7ffff70e1f64 <g_value_unset+36>, destination = 0x7fffffffcc30 "`\253#WUU", charbuf = 0x7ffff70d698d <g_signal_emit_valist+1693>, charbuf_size = 0, charbuf_used = 0, carryover = '\000' <repeats 40 times>, "`\253#WUU\000\000\001f\r\367\377\177\000\000\200\065\272VUU\000", carryover_bytes = 1452578336, default_char = 21845, detector = 0x7fffe400a5b0, decoder = 0x7ffff6feda3d <g_slice_alloc+29>, encoder = 0x7fffffffcc18}
hlinfo = 0x5555568e7698
compose_status = {compose_ptr = 0x0, chars_matched = 0}
configureEvent =
{type = 0, xany = {type = 0, serial = 0, send_event = 0, display = 0x0, window = 72096635335910853}, xkey = {type = 0, serial = 0, send_event = 0, display = 0x0, window = 72096635335910853, root = 5585177122219185605, subwindow = 12826729072974022912, time = 2452432961746272769, x = 1635910066, y = 147507456, x_root = -2113818078, y_root = -892796822, state = 1179670611, keycode = 1092, same_screen = 31}, xbutton = {type = 0, serial = 0, send_event = 0, display = 0x0, window = 72096635335910853, root = 5585177122219185605, subwindow = 12826729072974022912, time = 2452432961746272769, x = 1635910066, y = 147507456, x_root = -2113818078, y_root = -892796822, state = 1179670611, button = 1092, same_screen = 31}, xmotion = {type = 0, serial = 0, send_event = 0, display = 0x0, window = 72096635335910853, root = 5585177122219185605, subwindow = 12826729072974022912, time = 2452432961746272769, x = 1635910066, y = 147507456, x_root = -2113818078, y_root = -892796822, state = 1179670611, is_hint = 68 'D', same_screen = 31}, xcrossing = {type = 0, serial = 0, send_event = 0, display = 0x0, window = 72096635335910853, root = 5585177122219185605, subwindow = 12826729072974022912, time = 2452432961746272769, x = 1635910066, y = 147507456, x_root = -2113818078, y_root = -892796822, mode = 1179670611, detail = 1092, same_screen = 31, focus = 0, state = 1088}, xfocus = {type = 0, serial = 0, send_event = 0, display = 0x0, window = 72096635335910853, mode = 1233343941, detail = 1300400384}, xexpose = {type = 0, serial = 0, send_event = 0, display = 0x0, window = 72096635335910853, x = 1233343941, y = 1300400384, width = 147507456, height = -1308511710, count = 5800449}, xgraphicsexpose = {type = 0, serial = 0, send_event = 0, display = 0x0, drawable = 72096635335910853, x = 1233343941, y = 1300400384, width = 147507456, height = -1308511710, count = 5800449, major_code = 571001545, minor_code = 1635910066}, xnoexpose = {type = 0, serial = 0, send_event = 0, display = 0x0, drawable = 72096635335910853, major_code = 1233343941, minor_code = 1300400384}, xvisibility = {type = 0, serial = 0, send_event = 0, display = 0x0, window = 72096635335910853, state = 1233343941}, xcreatewindow = {type = 0, serial = 0, send_event = 0, display = 0x0, parent = 72096635335910853, window = 5585177122219185605, x = 147507456, y = -1308511710, width = 5800449, height = 571001545, border_width = 1635910066, override_redirect = 147507456}, xdestroywindow = {type = 0, serial = 0, send_event = 0, display = 0x0, event = 72096635335910853, window = 5585177122219185605}, xunmap = {type = 0, serial = 0, send_event = 0, display = 0x0, event = 72096635335910853, window = 5585177122219185605, from_configure = 147507456}, xmap = {type = 0, serial = 0, send_event = 0, display = 0x0, event = 72096635335910853, window = 5585177122219185605, override_redirect = 147507456}, xmaprequest = {type = 0, serial = 0, send_event = 0, display = 0x0, parent = 72096635335910853, window = 5585177122219185605}, xreparent = {type = 0, serial = 0, send_event = 0, display = 0x0, event = 72096635335910853, window = 5585177122219185605, parent = 12826729072974022912, x = 5800449, y = 571001545, override_redirect = 1635910066}, xconfigure = {type = 0, serial = 0, send_event = 0, display = 0x0, event = 72096635335910853, window = 5585177122219185605, x = 147507456, y = -1308511710, width = 5800449, height = 571001545, border_width = 1635910066, above = 14612210923427967522, override_redirect = 1179670611}, xgravity = {type = 0, serial = 0, send_event = 0, display = 0x0, event = 72096635335910853, window = 5585177122219185605, x = 147507456, y = -1308511710}, xresizerequest = {type = 0, serial = 0, send_event = 0, display = 0x0, window = 72096635335910853, width = 1233343941, height = 1300400384}, xconfigurerequest = {type = 0, serial = 0, send_event = 0, display = 0x0, parent = 72096635335910853, window = 5585177122219185605, x = 147507456, y = -1308511710, width = 5800449, height = 571001545, border_width = 1635910066, above = 14612210923427967522, detail = 1179670611, value_mask = 31}, xcirculate = {type = 0, serial = 0, send_event = 0, display = 0x0, event = 72096635335910853, window = 5585177122219185605, place = 147507456}, xcirculaterequest = {type = 0, serial = 0, send_event = 0, display = 0x0, parent = 72096635335910853, window = 5585177122219185605, place = 147507456}, xproperty = {type = 0, serial = 0, send_event = 0, display = 0x0, window = 72096635335910853, atom = 5585177122219185605, time = 12826729072974022912, state = 5800449}, xselectionclear = {type = 0, serial = 0, send_event = 0, display = 0x0, window = 72096635335910853, selection = 5585177122219185605, time = 12826729072974022912}, xselectionrequest = {type = 0, serial = 0, send_event = 0, display = 0x0, owner = 72096635335910853, requestor = 5585177122219185605, selection = 12826729072974022912, target = 2452432961746272769, property = 633539701072069042, time = 14612210923427967522}, xselection = {type = 0, serial = 0, send_event = 0, display = 0x0, requestor = 72096635335910853, selection = 5585177122219185605, target = 12826729072974022912, property = 2452432961746272769, time = 633539701072069042}, xcolormap = {type = 0, serial = 0, send_event = 0, display = 0x0, window = 72096635335910853, colormap = 5585177122219185605, new = 147507456, state = -1308511710}, xclient = {type = 0, serial = 0, send_event = 0, display = 0x0, window = 72096635335910853, message_type = 5585177122219185605, format = 147507456, data = {b = "\001\202X\000\311\312\b\"\262\001\202a\000\311\312\b\"\262\001\202", s = {-32255, 88, -13623, 8712, 434, 24962, -14080, 2250, -19934, -32255}, l = {2452432961746272769, 633539701072069042, -3834533150281584094, 4691283957843, 31}}}, xmapping = {type = 0, serial = 0, send_event = 0, display = 0x0, window = 72096635335910853, request = 1233343941, first_keycode = 1300400384, count = 147507456}, xerror = {type = 0, display = 0x0, resourceid = 4607182418800017408, serial = 0, error_code = 197 '\305', request_code = 165 '\245', minor_code = 178 '\262'}, xkeymap = {type = 0, serial = 0, send_event = 0, display = 0x0, window = 72096635335910853, key_vector = "\305U\203I\000\211\202M\000\311\312\b\"\262\001\262\001\202X\000\311\312\b\"\262\001\202a\000\311\312\b"}, xgeneric = {type = 0, serial = 0, send_event = 0, display = 0x0, extension = 45262277, evtype = 16786306}, xcookie = {type = 0, serial = 0, send_event = 0, display = 0x0, extension = 45262277, evtype = 16786306, cookie = 1233343941, data = 0xb201b22208cac900}, pad = {0, 0, 4607182418800017408, 0, 72096635335910853, 5585177122219185605, -5620015000735528704, 2452432961746272769, 633539701072069042, -3834533150281584094, 4691283957843, 31, 1088, 0, 0, 72057594037927947, 3, 0, 140737488341488, 93824994458329, 0, 124554051584, 140737488343248, 140737312748816}}
next_event =
{type = 0, xany = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, window = 4050091544}, xkey = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, window = 4050091544, root = 93825002502208, subwindow = 0, time = 0, x = -1686796840, y = 10922, x_root = 0, y_root = 0, state = 1434805284, keycode = 21845, same_screen = -244875704}, xbutton = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, window = 4050091544, root = 93825002502208, subwindow = 0, time = 0, x = -1686796840, y = 10922, x_root = 0, y_root = 0, state = 1434805284, button = 21845, same_screen = -244875704}, xmotion = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, window = 4050091544, root = 93825002502208, subwindow = 0, time = 0, x = -1686796840, y = 10922, x_root = 0, y_root = 0, state = 1434805284, is_hint = 85 'U', same_screen = -244875704}, xcrossing = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, window = 4050091544, root = 93825002502208, subwindow = 0, time = 0, x = -1686796840, y = 10922, x_root = 0, y_root = 0, mode = 1434805284, detail = 21845, same_screen = -244875704, focus = 32767, state = 0}, xfocus = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, window = 4050091544, mode = 1441921088, detail = 21845}, xexpose = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, window = 4050091544, x = 1441921088, y = 21845, width = 0, height = 0, count = 0}, xgraphicsexpose = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, drawable = 4050091544, x = 1441921088, y = 21845, width = 0, height = 0, count = 0, major_code = 0, minor_code = -1686796840}, xnoexpose = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, drawable = 4050091544, major_code = 1441921088, minor_code = 21845}, xvisibility = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, window = 4050091544, state = 1441921088}, xcreatewindow = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, parent = 4050091544, window = 93825002502208, x = 0, y = 0, width = 0, height = 0, border_width = -1686796840, override_redirect = 10922}, xdestroywindow = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, event = 4050091544, window = 93825002502208}, xunmap = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, event = 4050091544, window = 93825002502208, from_configure = 0}, xmap = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, event = 4050091544, window = 93825002502208, override_redirect = 0}, xmaprequest = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, parent = 4050091544, window = 93825002502208}, xreparent = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, event = 4050091544, window = 93825002502208, parent = 0, x = 0, y = 0, override_redirect = -1686796840}, xconfigure = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, event = 4050091544, window = 93825002502208, x = 0, y = 0, width = 0, height = 0, border_width = -1686796840, above = 0, override_redirect = 1434805284}, xgravity = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, event = 4050091544, window = 93825002502208, x = 0, y = 0}, xresizerequest = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, window = 4050091544, width = 1441921088, height = 21845}, xconfigurerequest = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, parent = 4050091544, window = 93825002502208, x = 0, y = 0, width = 0, height = 0, border_width = -1686796840, above = 0, detail = 1434805284, value_mask = 140737243479624}, xcirculate = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, event = 4050091544, window = 93825002502208, place = 0}, xcirculaterequest = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, parent = 4050091544, window = 93825002502208, place = 0}, xproperty = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, window = 4050091544, atom = 93825002502208, time = 0, state = 0}, xselectionclear = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, window = 4050091544, selection = 93825002502208, time = 0}, xselectionrequest = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, owner = 4050091544, requestor = 93825002502208, selection = 0, target = 0, property = 46912240977368, time = 0}, xselection = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, requestor = 4050091544, selection = 93825002502208, target = 0, property = 0, time = 46912240977368}, xcolormap = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, window = 4050091544, colormap = 93825002502208, new = 0, state = 0}, xclient = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, window = 4050091544, message_type = 93825002502208, format = 0, data = {b = "\000\000\000\000\000\000\000\000u\233\252*\000\000\000\000\000", s = {0, 0, 0, 0, -31272, -25739, 10922, 0, 0, 0}, l = {0, 46912240977368, 0, 93824995386404, 140737243479624}}}, xmapping = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, window = 4050091544, request = 1441921088, first_keycode = 21845, count = 0}, xerror = {type = 0, display = 0x555555856424 <swap_in_symval_forwarding+293>, resourceid = 0, serial = 46912240977368, error_code = 24 '\030', request_code = 126 '~', minor_code = 103 'g'}, xkeymap = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, window = 4050091544, key_vector = "@\370\361UUU", '\000' <repeats 18 times>, "u\233\252*\000"}, xgeneric = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, extension = -244875752, evtype = 0}, xcookie = {type = 0, serial = 93824995386404, send_event = 0, display = 0x2aaa9b7585d8, extension = -244875752, evtype = 0, cookie = 1441921088, data = 0x0}, pad = {140733193388032, 93824995386404, 0, 46912240977368, 4050091544, 93825002502208, 0, 0, 46912240977368, 0, 93824995386404, 140737243479624, 0, 0, 0, 124554051584, 4607182418800017408, 140737252503104, 140737488341456, 93824994599162, 93824994458233, 124554051584, 0, 0}}
sa_avail = 16384
sa_count = 5
#5 0x0000555555701110 in event_handler_gdk (gxev=0x7fffffffce60, ev=0x55555ad5fb50, data=0x0) at xterm.c:7775
dpyinfo = 0x5555568e75e0
xev = 0x7fffffffce60
#6 0x00007ffff74d18cf in () at /lib/x86_64-linux-gnu/libgdk-3.so.0
#7 0x00007ffff74d1bfb in () at /lib/x86_64-linux-gnu/libgdk-3.so.0
#8 0x00007ffff749ac10 in gdk_display_get_event () at /lib/x86_64-linux-gnu/libgdk-3.so.0
#9 0x00007ffff74d1962 in () at /lib/x86_64-linux-gnu/libgdk-3.so.0
#10 0x00007ffff6fcff1d in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007ffff6fd01a0 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#12 0x00007ffff6fd022f in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#13 0x00007ffff77a47b5 in gtk_main_iteration () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#14 0x00005555557046f5 in XTread_socket (terminal=0x555557c3f5b0, hold_quit=0x7fffffffd0e0) at xterm.c:9383
count = 0
event_found = false
dpyinfo = 0x5555568e75e0
#15 0x0000555555773547 in gobble_input () at keyboard.c:6874
nr = 32767
hold_quit = {kind = NO_EVENT, part = scroll_bar_nowhere, code = 0, modifiers = 0, x = 0x0, y = 0x0, timestamp = 0, frame_or_window = 0x0, arg = 0x0}
next = 0x555555facbf0
nread = 0
err = false
t = 0x555557c3f5b0
#16 0x00005555557739e2 in handle_async_input () at keyboard.c:7111
nread = 32767
#17 0x0000555555773a01 in process_pending_signals () at keyboard.c:7125
#18 0x0000555555884565 in maybe_quit () at eval.c:1545
#19 0x00005555558933f1 in list_length (list=0x555558ca4543) at fns.c:100
li = {tortoise = 0x55555a6d1a33, max = 2, n = 0, q = 0}
i = 2
#20 0x0000555555893562 in Flength (sequence=0x55555a6d1a33) at fns.c:128
val = 30
#21 0x000055555589513d in concat (nargs=1, args=0x7fffffffd3a8, target_type=Lisp_Cons, last_special=false) at fns.c:679
len = 140737488343792
val = 0xb00000000
tail = 0x0
this = 0x55555a6d1a33
toindex = 0
toindex_byte = 0
result_len = 0
result_len_byte = 0
argnum = 0
last_tail = 0x0
prev = 0x1c
some_multibyte = false
textprops = 0x0
num_textprops = 0
sa_avail = 16384
sa_count = 5
#22 0x0000555555894f67 in Fcopy_sequence (arg=0x55555a6d1a33) at fns.c:611
#23 0x000055555576e24a in timer_check () at keyboard.c:4370
nexttime = {tv_sec = 0, tv_nsec = 0}
timers = 0x0
idle_timers = 0x0
tem = 0x0
#24 0x000055555576c666 in readable_events (flags=1) at keyboard.c:3380
#25 0x000055555577338d in get_input_pending (flags=1) at keyboard.c:6789
#26 0x000055555577ab7a in detect_input_pending_run_timers (do_display=true) at keyboard.c:10350
old_timers_run = 118188
#27 0x00005555559067c1 in wait_reading_process_output (time_limit=30, nsecs=0, read_kbd=-1, do_display=true, wait_for_cell=0x0, wait_proc=0x0, just_wait_proc=0) at process.c:5707
old_timers_run = 118188
old_buffer = 0x55555aecb320
old_window = 0x55555991f405
leave = false
process_skipped = false
channel = 0
nfds = 1
Available = {fds_bits = {256, 0 <repeats 15 times>}}
Writeok = {fds_bits = {0 <repeats 16 times>}}
check_write = true
check_delay = 3
no_avail = false
xerrno = 11
proc = 0x5555568e75e0
timeout = {tv_sec = 0, tv_nsec = 0}
end_time = {tv_sec = 1578452530, tv_nsec = 385139863}
timer_delay = {tv_sec = 1, tv_nsec = 455464261}
got_output_end_time = {tv_sec = 1578452530, tv_nsec = 385139863}
wait = TIMEOUT
got_some_output = -1
prev_wait_proc_nbytes_read = 0
retry_for_async = false
count = 4
now = {tv_sec = 0, tv_nsec = -1}
#28 0x00005555555a91cb in sit_for (timeout=0x7a, reading=true, display_option=1) at dispnew.c:6037
sec = 30
nsec = 0
do_display = true
#29 0x000055555576aad3 in read_char (commandflag=1, map=0x55555a89fc23, prev_event=0x0, used_mouse_menu=0x7fffffffdcbf, end_time=0x0) at keyboard.c:2733
tem0 = 0x0
timeout = 30
count1 = 3
delay_level = 4
buffer_size = 13
c = 0x0
jmpcount = 3
local_getcjmp =
{{__jmpbuf = {0, 4414600742014886022, 93825026981941, 48, 0, 0, 4414600741924708486, 7500352579713310854}, __mask_was_saved = 0, __saved_mask = {__val = {93824995386404, 140737243479624, 140737243479576, 0, 46912240977368, 0, 140737243479624, 93825002502208, 0, 0, 140737488345856, 93824994518693, 4050091544, 93825002502208, 0, 0}}}}
save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0 <repeats 16 times>}}}}
tem = 0x2aaa9bb39760
save = 0x0
previous_echo_area_message = 0x0
also_record = 0x0
reread = false
recorded = false
polling_stopped_here = false
orig_kboard = 0x555556fabd30
#30 0x000055555577927b in read_key_sequence (keybuf=0x7fffffffdec0, prompt=0x0, dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9536
interrupted_kboard = 0x555556fabd30
interrupted_frame = 0x5555589ecd50
key = 0x0
used_mouse_menu = false
echo_local_start = 0
last_real_key_start = 0
keys_local_start = 0
new_binding = 0x0
count = 3
t = 0
echo_start = 0
keys_start = 0
current_binding = 0x55555a89fc23
first_unbound = 31
mock_input = 0
used_mouse_menu_history = {false <repeats 30 times>}
fkey = {parent = 0x555556723553, map = 0x555556723553, start = 0, end = 0}
keytran = {parent = 0x7ffff1bb63e3, map = 0x7ffff1bb63e3, start = 0, end = 0}
indec = {parent = 0x555556723563, map = 0x555556723563, start = 0, end = 0}
shift_translated = false
delayed_switch_frame = 0x0
original_uppercase = 0x0
original_uppercase_position = -1
dummyflag = false
starting_buffer = 0x55555aecb320
fake_prefixed_keys = 0x0
first_event = 0x0
second_event = 0x0
#31 0x00005555557672a2 in command_loop_1 () at keyboard.c:1345
cmd = 0x29b91c0
keybuf =
{0x36, 0x192, 0x555555830eaf <SDATA+24>, 0x74f9e0, 0x7fffffffdf70, 0x5555558870ed <call3+73>, 0x74f9e0, 0x7ffff161edc4, 0x55555b6fa2f3, 0x7ffff1bb638d, 0x7ffff1bb638d, 0x55555b6fa2f3, 0x7ffff161edc4, 0x74f9e0, 0x0, 0x0, 0x555555f1f840 <lispsym>, 0x0, 0x0, 0x7fffffffdf70, 0x55555575fec2 <builtin_lisp_symbol+48>, 0xffffdfc0, 0x555555f1f840 <lispsym>, 0x0, 0x0, 0x7fffffffdfa0, 0x55555587cf11 <builtin_lisp_symbol+48>, 0x2, 0x7fffffffdfe0, 0x55555588444c <push_handler_nosignal+220>}
i = 1
prev_modiff = 415
prev_buffer = 0x55555aecb320
already_adjusted = false
#32 0x0000555555884047 in internal_condition_case (bfun=0x555555766e78 <command_loop_1>, handlers=0x90, hfun=0x55555576660e <cmd_error>) at eval.c:1355
val = 0x55555575fec2 <builtin_lisp_symbol+48>
c = 0x555555fd43d0
#33 0x0000555555766b3d in command_loop_2 (ignore=0x0) at keyboard.c:1091
val = 0x2
#34 0x00005555558838fc in internal_catch (tag=0xd530, func=0x555555766b10 <command_loop_2>, arg=0x0) at eval.c:1116
val = 0x7fffffffe0e0
c = 0x555555fbd800
#35 0x0000555555766adb in command_loop () at keyboard.c:1070
#36 0x00005555557661dd in recursive_edit_1 () at keyboard.c:714
count = 1
val = 0x7fffffffe140
#37 0x0000555555766361 in Frecursive_edit () at keyboard.c:786
count = 0
buffer = 0x0
#38 0x000055555575e9ab in main (argc=3, argv=0x7fffffffe398) at emacs.c:2054
stack_bottom_variable = 0x20
do_initial_setlocale = true
no_loadup = false
junk = 0x0
dname_arg = 0x0
ch_to_dir = 0x0
original_pwd = 0x0
dump_mode = 0x0
skip_args = 1
temacs = 0x0
attempt_load_pdump = true
rlim = {rlim_cur = 10022912, rlim_max = 18446744073709551615}
sockfd = -1
module_assertions = false
^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#37671: 27.0.50; Segmentation fault with --fg-daemon on Linux
2020-01-08 3:23 ` Frank Terbeck
@ 2020-01-08 16:28 ` Eli Zaretskii
2020-01-08 16:39 ` Frank Terbeck
0 siblings, 1 reply; 22+ messages in thread
From: Eli Zaretskii @ 2020-01-08 16:28 UTC (permalink / raw)
To: Frank Terbeck; +Cc: 37671
> From: Frank Terbeck <ft@bewatermyfriend.org>
> Cc: 37671@debbugs.gnu.org
> Date: Wed, 08 Jan 2020 04:23:14 +0100
>
> Thread 1 "emacs-27.0.50" received signal SIGSEGV, Segmentation fault.
> 0x0000555555624d2d in show_mouse_face (hlinfo=0x5555568e7698, draw=DRAW_NORMAL_TEXT) at xdisp.c:31489
> 31489 if (FRAME_WINDOW_P (f) && NILP (track_mouse))
Please show the output of these GDB commands:
(gdb) p *hlinfo
(gdb) p *f
(I assume that you still have the crashed session in the debugger.)
Thanks.
^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#37671: 27.0.50; Segmentation fault with --fg-daemon on Linux
2020-01-08 16:28 ` Eli Zaretskii
@ 2020-01-08 16:39 ` Frank Terbeck
2020-02-01 2:28 ` Frank Terbeck
2020-02-01 2:43 ` Frank Terbeck
0 siblings, 2 replies; 22+ messages in thread
From: Frank Terbeck @ 2020-01-08 16:39 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 37671
Eli Zaretskii wrote:
> (I assume that you still have the crashed session in the debugger.)
Unfortunately not. I was careless and my laptop went out of battery. :-/
I should have gathered the data you requested on my own. That was actu-
ally a pretty obvious thing you needed to know. ...it was late.
I guess we'll have to wait until next time. Seems like running in gdb
makes the issue present itself less frequently. But maybe that's just a
coincidence.
Regards, Frank
^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#37671: 27.0.50; Segmentation fault with --fg-daemon on Linux
2020-01-08 16:39 ` Frank Terbeck
@ 2020-02-01 2:28 ` Frank Terbeck
2020-02-01 8:33 ` Eli Zaretskii
2020-02-01 2:43 ` Frank Terbeck
1 sibling, 1 reply; 22+ messages in thread
From: Frank Terbeck @ 2020-02-01 2:28 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 37671
Eli Zaretskii wrote:
> (I assume that you still have the crashed session in the debugger.)
Okay, new chance. :)
I've updated my laptop's emacs to master. This time, the crash doesn't
seem to be on exactly the same line as before, but a little earlier.
Still in ‘show_mouse_face()’, though.
Thread 1 "emacs-28.0.50" received signal SIGSEGV, Segmentation fault.
show_mouse_face (hlinfo=0x555556d00830, draw=DRAW_NORMAL_TEXT) at xdisp.c:31447
31447 && hlinfo->mouse_face_end_row < w->current_matrix->nrows)
(gdb) bt
#0 0x00005555556247d0 in show_mouse_face (hlinfo=0x555556d00830, draw=DRAW_NORMAL_TEXT) at xdisp.c:31447
#1 0x0000555555624c90 in clear_mouse_face (hlinfo=0x555556d00830) at xdisp.c:31579
#2 0x0000555555705a54 in handle_one_xevent (dpyinfo=0x555556d00780, event=0x7fffffffcd10, finish=0x7fffffffcddc, hold_quit=0x7fffffffce00) at xterm.c:8783
#3 0x0000555555706f05 in XTread_socket (terminal=0x5555563a66f0, hold_quit=0x7fffffffce00) at xterm.c:9365
#4 0x000055555576471e in gobble_input () at keyboard.c:6891
#5 0x0000555555764bb9 in handle_async_input () at keyboard.c:7128
#6 0x0000555555764bd8 in process_pending_signals () at keyboard.c:7142
#7 0x0000555555764c18 in unblock_input_to (level=0) at keyboard.c:7157
#8 0x0000555555764c3c in unblock_input () at keyboard.c:7176
#9 0x00005555559ac163 in xg_select (fds_lim=18, rfds=0x7fffffffd710, wfds=0x7fffffffd690, efds=0x0, timeout=0x7fffffffd670, sigmask=0x0) at xgselect.c:163
#10 0x00005555558f7a08 in wait_reading_process_output (time_limit=30, nsecs=0, read_kbd=-1, do_display=true, wait_for_cell=0x0, wait_proc=0x0, just_wait_proc=0) at process.c:5571
#11 0x00005555555a69a3 in sit_for (timeout=0x7a, reading=true, display_option=1) at dispnew.c:6045
#12 0x000055555575bbe6 in read_char (commandflag=1, map=0x555559b00f53, prev_event=0x0, used_mouse_menu=0x7fffffffdcbf, end_time=0x0) at keyboard.c:2738
#13 0x000055555576a4bb in read_key_sequence (keybuf=0x7fffffffdec0, prompt=0x0, dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9553
#14 0x00005555557583b5 in command_loop_1 () at keyboard.c:1350
#15 0x0000555555875019 in internal_condition_case (bfun=0x555555757f6f <command_loop_1>, handlers=0x90, hfun=0x555555757705 <cmd_error>) at eval.c:1355
#16 0x0000555555757c34 in command_loop_2 (ignore=0x0) at keyboard.c:1091
#17 0x00005555558748ce in internal_catch (tag=0xd500, func=0x555555757c07 <command_loop_2>, arg=0x0) at eval.c:1116
#18 0x0000555555757bd2 in command_loop () at keyboard.c:1070
#19 0x00005555557572d4 in recursive_edit_1 () at keyboard.c:714
#20 0x0000555555757458 in Frecursive_edit () at keyboard.c:786
#21 0x000055555574fa8e in main (argc=3, argv=0x7fffffffe398) at emacs.c:2054
(gdb) list 31447
31427 #if defined (HAVE_GPM) || defined (MSDOS) || defined (WINDOWSNT)
31428 tty_draw_row_with_mouse_face (w, row, start_hpos, end_hpos, draw);
31429 #endif
31430 }
31431
31432 /* Display the active region described by mouse_face_* according to DRAW. */
31433
31434 static void
31435 show_mouse_face (Mouse_HLInfo *hlinfo, enum draw_glyphs_face draw)
31436 {
31437 struct window *w = XWINDOW (hlinfo->mouse_face_window);
31438 struct frame *f = XFRAME (WINDOW_FRAME (w));
31439
31440 if (/* If window is in the process of being destroyed, don't bother
31441 to do anything. */
31442 w->current_matrix != NULL
31443 /* Don't update mouse highlight if hidden. */
31444 && (draw != DRAW_MOUSE_FACE || !hlinfo->mouse_face_hidden)
31445 /* Recognize when we are called to operate on rows that don't exist
31446 anymore. This can happen when a window is split. */
31447 && hlinfo->mouse_face_end_row < w->current_matrix->nrows)
31448 {
31449 bool phys_cursor_on_p = w->phys_cursor_on_p;
31450 struct glyph_row *row, *first, *last;
31451
31452 first = MATRIX_ROW (w->current_matrix, hlinfo->mouse_face_beg_row);
31453 last = MATRIX_ROW (w->current_matrix, hlinfo->mouse_face_end_row);
31454
31455 for (row = first; row <= last && row->enabled_p; ++row)
31456 {
31457 int start_hpos, end_hpos, start_x;
31458
31459 /* For all but the first row, the highlight starts at column 0. */
31460 if (row == first)
31461 {
31462 /* R2L rows have BEG and END in reversed order, but the
31463 screen drawing geometry is always left to right. So
31464 we need to mirror the beginning and end of the
31465 highlighted area in R2L rows. */
31466 if (!row->reversed_p)
(gdb) p *hlinfo
$9 = {mouse_face_beg_row = 16,
mouse_face_beg_col = 21,
mouse_face_beg_x = 252,
mouse_face_end_row = 16,
mouse_face_end_col = 35,
mouse_face_end_x = 420,
mouse_face_window = 0x5555571b9bc5,
mouse_face_face_id = 52,
mouse_face_overlay = 0x0,
mouse_face_mouse_frame = 0x5555589ff5d0,
mouse_face_mouse_x = 401,
mouse_face_mouse_y = 425,
mouse_face_past_end = false,
mouse_face_defer = false,
mouse_face_hidden = false}
(gdb) p *f
$10 = {header = {size = 285941742698496},
name = 0x55573dc812400000,
icon_name = 0xfffffffffe000055,
title = 0xfffffffffeffffff,
parent_frame = 0xfffffffffeffffff,
focus_frame = 0xfffffffffeffffff,
root_window = 0xfffffffffeffffff,
selected_window = 0xfffffffffeffffff,
old_selected_window = 0xfffffffffeffffff,
minibuffer_window = 0xfffffffffeffffff,
param_alist = 0xfffffffffeffffff,
scroll_bars = 0xfffffffffeffffff,
condemned_scroll_bars = 0xfffffffffeffffff,
menu_bar_items = 0xfffffffffeffffff,
face_alist = 0xfffffffffeffffff,
menu_bar_vector = 0xfffffffffeffffff,
buffer_predicate = 0xfffffffffeffffff,
buffer_list = 0xfffffffffeffffff,
buried_buffer_list = 0xfffffffffeffffff,
tab_bar_window = 0xfffffffffeffffff,
desired_tab_bar_string = 0xfffffffffeffffff,
current_tab_bar_string = 0xfffffffffeffffff,
tool_bar_window = 0xfffffffffeffffff,
desired_tool_bar_string = 0xfffffffffeffffff,
current_tool_bar_string = 0xfffffffffeffffff,
font_data = 0xfffffffffeffffff,
tab_bar_items = 0xfffffffffeffffff,
tool_bar_items = 0xfffffffffeffffff,
face_cache = 0xfffffffffeffffff,
last_tab_bar_item = -16777217,
last_tool_bar_item = -1,
menu_bar_items_used = -16777217,
namebuf = 0xfffffffffeffffff <error: Cannot access memory at address 0xfffffffffeffffff>,
shell_position = 0xfffffffffeffffff <error: Cannot access memory at address 0xfffffffffeffffff>,
current_pool = 0x86ffffff,
desired_pool = 0x8a000000,
desired_matrix = 0x8e000000,
current_matrix = 0x92000000,
glyphs_initialized_p = false,
resized_p = false,
default_face_done_p = false,
already_hscrolled_p = false,
updated_p = false,
minimize_tab_bar_window_p = false,
minimize_tool_bar_window_p = false,
fonts_changed = false,
cursor_type_changed = false,
redisplay = false,
external_menu_bar = false,
visible = 0,
iconified = false,
garbaged = false,
wants_modeline = false,
auto_raise = false,
auto_lower = false,
no_split = false,
explicit_name = false,
window_change = false,
window_state_change = false,
mouse_moved = false,
pointer_invisible = false,
frozen_window_starts = false,
output_method = output_msdos_raw,
tooltip = true,
want_fullscreen = FULLSCREEN_NONE,
vertical_scroll_bar_type = vertical_scroll_bar_none,
horizontal_scroll_bars = false,
undecorated = false,
override_redirect = false,
skip_taskbar = false,
no_focus_on_map = false,
no_accept_focus = false,
z_group = z_group_none,
no_special_glyphs = false,
new_pixelwise = false,
can_set_window_size = false,
after_make_frame = false,
tab_bar_redisplayed = false,
tab_bar_resized = false,
tool_bar_redisplayed = false,
tool_bar_resized = false,
inhibit_horizontal_resize = false,
inhibit_vertical_resize = false,
face_change = false,
inhibit_clear_image_cache = false,
change_stamp = -1711276032,
number_of_windows = 2650800128,
tab_bar_lines = -1577058304,
tab_bar_height = 0,
n_tab_bar_rows = -1509949440,
n_tab_bar_items = 0,
tool_bar_lines = -1442840576,
tool_bar_height = 0,
n_tool_bar_rows = -1375731712,
n_tool_bar_items = 0,
decode_mode_spec_buffer = 0xb2000000 <error: Cannot access memory at address 0xb2000000>,
insert_line_cost = 0xb6000000,
delete_line_cost = 0xba000000,
insert_n_lines_cost = 0xbe000000,
delete_n_lines_cost = 0xc2000000,
text_cols = -973078528,
text_lines = 0,
total_cols = -905969664,
total_lines = 0,
text_width = -838860800,
text_height = 0,
new_width = -771751936,
new_height = 0,
left_pos = -704643072,
top_pos = 0,
pixel_width = -637534208,
pixel_height = 0,
win_gravity = -570425344,
size_hint_flags = 0,
border_width = -503316480,
internal_border_width = 0,
right_divider_width = -436207616,
bottom_divider_width = 0,
left_fringe_width = -369098752,
right_fringe_width = 0,
fringe_cols = -301989888,
menu_bar_lines = 0,
menu_bar_height = -234881024,
column_width = 0,
line_height = -167772160,
terminal = 0xfa000000,
output_data = {tty = 0xfe000000,
x = 0xfe000000,
w32 = 0xfe000000,
ns = 0xfe000000},
font_driver_list = 0x102000000,
wait_event_type = -33554432,
desired_cursor = NO_CURSOR,
cursor_width = 150994943,
blink_off_cursor = FILLED_BOX_CURSOR,
blink_off_cursor_width = -1610612736,
config_scroll_bar_width = 146312,
config_scroll_bar_cols = 0,
config_scroll_bar_height = 0,
config_scroll_bar_lines = 1912602624,
cost_calculation_baud_rate = -33554432,
alpha = {-1.9563002257081385e-103, -1.9604024332027206e-103},
gamma = 4.9734297101505695e-316,
extra_line_spacing = -2080374784,
background_pixel = 85,
foreground_pixel = 6755399524941824}
^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#37671: 27.0.50; Segmentation fault with --fg-daemon on Linux
2020-01-08 16:39 ` Frank Terbeck
2020-02-01 2:28 ` Frank Terbeck
@ 2020-02-01 2:43 ` Frank Terbeck
2020-02-01 8:46 ` Eli Zaretskii
1 sibling, 1 reply; 22+ messages in thread
From: Frank Terbeck @ 2020-02-01 2:43 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 37671
Eli Zaretskii wrote:
> (I assume that you still have the crashed session in the debugger.)
Okay, new chance. :)
I've updated my laptop's emacs to master, emacs-26.1-8984-g46fefb09745
in particular. I'm back to the build settings of the initial bug report:
./configure --prefix=/opt/emacs \
--with-x-toolkit=lucid \
--with-cairo \
--with-libsystemd \
CFLAGS='-ggdb3 -O0' \
LDFLAGS='-ggdb3'
This time, the crash doesn't seem to be on exactly the same line as be-
fore, but a little earlier. Still in ‘show_mouse_face()’, though:
Thread 1 "emacs-28.0.50" received signal SIGSEGV, Segmentation fault.
show_mouse_face (hlinfo=0x555556d00830, draw=DRAW_NORMAL_TEXT) at xdisp.c:31447
31447 && hlinfo->mouse_face_end_row < w->current_matrix->nrows)
(gdb) bt
#0 0x00005555556247d0 in show_mouse_face (hlinfo=0x555556d00830, draw=DRAW_NORMAL_TEXT) at xdisp.c:31447
#1 0x0000555555624c90 in clear_mouse_face (hlinfo=0x555556d00830) at xdisp.c:31579
#2 0x0000555555705a54 in handle_one_xevent (dpyinfo=0x555556d00780, event=0x7fffffffcd10, finish=0x7fffffffcddc, hold_quit=0x7fffffffce00) at xterm.c:8783
#3 0x0000555555706f05 in XTread_socket (terminal=0x5555563a66f0, hold_quit=0x7fffffffce00) at xterm.c:9365
#4 0x000055555576471e in gobble_input () at keyboard.c:6891
#5 0x0000555555764bb9 in handle_async_input () at keyboard.c:7128
#6 0x0000555555764bd8 in process_pending_signals () at keyboard.c:7142
#7 0x0000555555764c18 in unblock_input_to (level=0) at keyboard.c:7157
#8 0x0000555555764c3c in unblock_input () at keyboard.c:7176
#9 0x00005555559ac163 in xg_select (fds_lim=18, rfds=0x7fffffffd710, wfds=0x7fffffffd690, efds=0x0, timeout=0x7fffffffd670, sigmask=0x0) at xgselect.c:163
#10 0x00005555558f7a08 in wait_reading_process_output (time_limit=30, nsecs=0, read_kbd=-1, do_display=true, wait_for_cell=0x0, wait_proc=0x0, just_wait_proc=0) at process.c:5571
#11 0x00005555555a69a3 in sit_for (timeout=0x7a, reading=true, display_option=1) at dispnew.c:6045
#12 0x000055555575bbe6 in read_char (commandflag=1, map=0x555559b00f53, prev_event=0x0, used_mouse_menu=0x7fffffffdcbf, end_time=0x0) at keyboard.c:2738
#13 0x000055555576a4bb in read_key_sequence (keybuf=0x7fffffffdec0, prompt=0x0, dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9553
#14 0x00005555557583b5 in command_loop_1 () at keyboard.c:1350
#15 0x0000555555875019 in internal_condition_case (bfun=0x555555757f6f <command_loop_1>, handlers=0x90, hfun=0x555555757705 <cmd_error>) at eval.c:1355
#16 0x0000555555757c34 in command_loop_2 (ignore=0x0) at keyboard.c:1091
#17 0x00005555558748ce in internal_catch (tag=0xd500, func=0x555555757c07 <command_loop_2>, arg=0x0) at eval.c:1116
#18 0x0000555555757bd2 in command_loop () at keyboard.c:1070
#19 0x00005555557572d4 in recursive_edit_1 () at keyboard.c:714
#20 0x0000555555757458 in Frecursive_edit () at keyboard.c:786
#21 0x000055555574fa8e in main (argc=3, argv=0x7fffffffe398) at emacs.c:2054
(gdb) list 31447
31427 #if defined (HAVE_GPM) || defined (MSDOS) || defined (WINDOWSNT)
31428 tty_draw_row_with_mouse_face (w, row, start_hpos, end_hpos, draw);
31429 #endif
31430 }
31431
31432 /* Display the active region described by mouse_face_* according to DRAW. */
31433
31434 static void
31435 show_mouse_face (Mouse_HLInfo *hlinfo, enum draw_glyphs_face draw)
31436 {
31437 struct window *w = XWINDOW (hlinfo->mouse_face_window);
31438 struct frame *f = XFRAME (WINDOW_FRAME (w));
31439
31440 if (/* If window is in the process of being destroyed, don't bother
31441 to do anything. */
31442 w->current_matrix != NULL
31443 /* Don't update mouse highlight if hidden. */
31444 && (draw != DRAW_MOUSE_FACE || !hlinfo->mouse_face_hidden)
31445 /* Recognize when we are called to operate on rows that don't exist
31446 anymore. This can happen when a window is split. */
31447 && hlinfo->mouse_face_end_row < w->current_matrix->nrows)
31448 {
31449 bool phys_cursor_on_p = w->phys_cursor_on_p;
31450 struct glyph_row *row, *first, *last;
31451
31452 first = MATRIX_ROW (w->current_matrix, hlinfo->mouse_face_beg_row);
31453 last = MATRIX_ROW (w->current_matrix, hlinfo->mouse_face_end_row);
31454
31455 for (row = first; row <= last && row->enabled_p; ++row)
31456 {
31457 int start_hpos, end_hpos, start_x;
31458
31459 /* For all but the first row, the highlight starts at column 0. */
31460 if (row == first)
31461 {
31462 /* R2L rows have BEG and END in reversed order, but the
31463 screen drawing geometry is always left to right. So
31464 we need to mirror the beginning and end of the
31465 highlighted area in R2L rows. */
31466 if (!row->reversed_p)
(gdb) p *hlinfo
$9 = {mouse_face_beg_row = 16,
mouse_face_beg_col = 21,
mouse_face_beg_x = 252,
mouse_face_end_row = 16,
mouse_face_end_col = 35,
mouse_face_end_x = 420,
mouse_face_window = 0x5555571b9bc5,
mouse_face_face_id = 52,
mouse_face_overlay = 0x0,
mouse_face_mouse_frame = 0x5555589ff5d0,
mouse_face_mouse_x = 401,
mouse_face_mouse_y = 425,
mouse_face_past_end = false,
mouse_face_defer = false,
mouse_face_hidden = false}
(gdb) p *f
$10 = {header = {size = 285941742698496},
name = 0x55573dc812400000,
icon_name = 0xfffffffffe000055,
title = 0xfffffffffeffffff,
parent_frame = 0xfffffffffeffffff,
focus_frame = 0xfffffffffeffffff,
root_window = 0xfffffffffeffffff,
selected_window = 0xfffffffffeffffff,
old_selected_window = 0xfffffffffeffffff,
minibuffer_window = 0xfffffffffeffffff,
param_alist = 0xfffffffffeffffff,
scroll_bars = 0xfffffffffeffffff,
condemned_scroll_bars = 0xfffffffffeffffff,
menu_bar_items = 0xfffffffffeffffff,
face_alist = 0xfffffffffeffffff,
menu_bar_vector = 0xfffffffffeffffff,
buffer_predicate = 0xfffffffffeffffff,
buffer_list = 0xfffffffffeffffff,
buried_buffer_list = 0xfffffffffeffffff,
tab_bar_window = 0xfffffffffeffffff,
desired_tab_bar_string = 0xfffffffffeffffff,
current_tab_bar_string = 0xfffffffffeffffff,
tool_bar_window = 0xfffffffffeffffff,
desired_tool_bar_string = 0xfffffffffeffffff,
current_tool_bar_string = 0xfffffffffeffffff,
font_data = 0xfffffffffeffffff,
tab_bar_items = 0xfffffffffeffffff,
tool_bar_items = 0xfffffffffeffffff,
face_cache = 0xfffffffffeffffff,
last_tab_bar_item = -16777217,
last_tool_bar_item = -1,
menu_bar_items_used = -16777217,
namebuf = 0xfffffffffeffffff <error: Cannot access memory at address 0xfffffffffeffffff>,
shell_position = 0xfffffffffeffffff <error: Cannot access memory at address 0xfffffffffeffffff>,
current_pool = 0x86ffffff,
desired_pool = 0x8a000000,
desired_matrix = 0x8e000000,
current_matrix = 0x92000000,
glyphs_initialized_p = false,
resized_p = false,
default_face_done_p = false,
already_hscrolled_p = false,
updated_p = false,
minimize_tab_bar_window_p = false,
minimize_tool_bar_window_p = false,
fonts_changed = false,
cursor_type_changed = false,
redisplay = false,
external_menu_bar = false,
visible = 0,
iconified = false,
garbaged = false,
wants_modeline = false,
auto_raise = false,
auto_lower = false,
no_split = false,
explicit_name = false,
window_change = false,
window_state_change = false,
mouse_moved = false,
pointer_invisible = false,
frozen_window_starts = false,
output_method = output_msdos_raw,
tooltip = true,
want_fullscreen = FULLSCREEN_NONE,
vertical_scroll_bar_type = vertical_scroll_bar_none,
horizontal_scroll_bars = false,
undecorated = false,
override_redirect = false,
skip_taskbar = false,
no_focus_on_map = false,
no_accept_focus = false,
z_group = z_group_none,
no_special_glyphs = false,
new_pixelwise = false,
can_set_window_size = false,
after_make_frame = false,
tab_bar_redisplayed = false,
tab_bar_resized = false,
tool_bar_redisplayed = false,
tool_bar_resized = false,
inhibit_horizontal_resize = false,
inhibit_vertical_resize = false,
face_change = false,
inhibit_clear_image_cache = false,
change_stamp = -1711276032,
number_of_windows = 2650800128,
tab_bar_lines = -1577058304,
tab_bar_height = 0,
n_tab_bar_rows = -1509949440,
n_tab_bar_items = 0,
tool_bar_lines = -1442840576,
tool_bar_height = 0,
n_tool_bar_rows = -1375731712,
n_tool_bar_items = 0,
decode_mode_spec_buffer = 0xb2000000 <error: Cannot access memory at address 0xb2000000>,
insert_line_cost = 0xb6000000,
delete_line_cost = 0xba000000,
insert_n_lines_cost = 0xbe000000,
delete_n_lines_cost = 0xc2000000,
text_cols = -973078528,
text_lines = 0,
total_cols = -905969664,
total_lines = 0,
text_width = -838860800,
text_height = 0,
new_width = -771751936,
new_height = 0,
left_pos = -704643072,
top_pos = 0,
pixel_width = -637534208,
pixel_height = 0,
win_gravity = -570425344,
size_hint_flags = 0,
border_width = -503316480,
internal_border_width = 0,
right_divider_width = -436207616,
bottom_divider_width = 0,
left_fringe_width = -369098752,
right_fringe_width = 0,
fringe_cols = -301989888,
menu_bar_lines = 0,
menu_bar_height = -234881024,
column_width = 0,
line_height = -167772160,
terminal = 0xfa000000,
output_data = {tty = 0xfe000000,
x = 0xfe000000,
w32 = 0xfe000000,
ns = 0xfe000000},
font_driver_list = 0x102000000,
wait_event_type = -33554432,
desired_cursor = NO_CURSOR,
cursor_width = 150994943,
blink_off_cursor = FILLED_BOX_CURSOR,
blink_off_cursor_width = -1610612736,
config_scroll_bar_width = 146312,
config_scroll_bar_cols = 0,
config_scroll_bar_height = 0,
config_scroll_bar_lines = 1912602624,
cost_calculation_baud_rate = -33554432,
alpha = {-1.9563002257081385e-103, -1.9604024332027206e-103},
gamma = 4.9734297101505695e-316,
extra_line_spacing = -2080374784,
background_pixel = 85,
foreground_pixel = 6755399524941824}
(gdb) p *w
$11 = {header = {size = 4611686018444431360},
frame = 0x55555a41c842,
next = 0xda,
prev = 0xd6,
parent = 0xc2,
normal_lines = 0xde,
normal_cols = 0xca,
new_total = 0xa6,
new_normal = 0xb2,
new_pixel = 0xae,
contents = 0xba,
old_buffer = 0xb6,
start = 0xa2,
pointm = 0xbe,
old_pointm = 0xaa,
temslot = 0x86,
vertical_scroll_bar = 0x92,
vertical_scroll_bar_type = 0x8e,
horizontal_scroll_bar = 0x9a,
horizontal_scroll_bar_type = 0x96,
display_table = 0x82,
dedicated = 0x9e,
redisplay_end_trigger = 0x8a,
combination_limit = 0x66,
window_parameters = 0x72,
mode_line_help_echo = 0x6e,
current_matrix = 0x7a,
desired_matrix = 0x76,
prev_buffers = 0x46,
next_buffers = 0x52,
use_time = 78,
sequence_number = 90,
change_stamp = 86,
pixel_left = 0,
pixel_top = 0,
left_col = 0,
top_line = 0,
pixel_width = 0,
pixel_height = 0,
old_pixel_width = 0,
old_pixel_height = 0,
old_body_pixel_width = 0,
old_body_pixel_height = 0,
total_cols = 0,
total_lines = 0,
hscroll = 0,
min_hscroll = 0,
hscroll_whole = 0,
last_modified = 0,
last_overlay_modified = 0,
last_point = 0,
base_line_number = 0,
base_line_pos = 0,
column_number_displayed = 0,
nrows_scale_factor = 0,
ncols_scale_factor = 0,
cursor = {x = 0,
y = 0,
hpos = 0,
vpos = 0},
phys_cursor = {x = 0,
y = 0,
hpos = 0,
vpos = 0},
output_cursor = {x = 0,
y = 0,
hpos = 0,
vpos = 0},
last_cursor_vpos = 0,
phys_cursor_type = FILLED_BOX_CURSOR,
phys_cursor_width = 0,
phys_cursor_ascent = 0,
phys_cursor_height = 0,
left_fringe_width = 0,
right_fringe_width = 0,
left_margin_cols = 0,
right_margin_cols = 0,
scroll_bar_width = 0,
scroll_bar_height = 0,
mode_line_height = 0,
header_line_height = 0,
tab_line_height = 0,
window_end_pos = 0,
window_end_vpos = 0,
mini = false,
horizontal = false,
update_mode_line = false,
last_had_star = false,
start_at_line_beg = false,
force_start = false,
optional_new_start = false,
phys_cursor_on_p = false,
cursor_off_p = false,
last_cursor_off_p = false,
must_be_updated_p = false,
pseudo_window_p = false,
fringes_outside_margins = false,
fringes_persistent = false,
scroll_bars_persistent = false,
window_end_valid = false,
redisplay = false,
suspend_auto_hscroll = false,
vscroll = 0,
window_end_bytepos = 0}
The values involved in the expression that is indicated in the segfault
are these:
(gdb) p w->current_matrix
$12 = (struct glyph_matrix *) 0x7a
(gdb) p draw
$13 = DRAW_NORMAL_TEXT
(gdb) p hlinfo->mouse_face_hidden
$14 = false
(gdb) p hlinfo->mouse_face_end_row
$15 = 16
(gdb) p w->current_matrix->nrows
Cannot access memory at address 0x92
(gdb) p w->current_matrix
$17 = (struct glyph_matrix *) 0x7a
I'll try to keep this instance of segfaulted emacs in gdb running for as
long as I can this time. I hope some of the above helps. If you need me
to dig up anything else, let me know.
Regards, Frank
^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#37671: 27.0.50; Segmentation fault with --fg-daemon on Linux
2020-02-01 2:28 ` Frank Terbeck
@ 2020-02-01 8:33 ` Eli Zaretskii
0 siblings, 0 replies; 22+ messages in thread
From: Eli Zaretskii @ 2020-02-01 8:33 UTC (permalink / raw)
To: Frank Terbeck; +Cc: 37671
> From: Frank Terbeck <ft@bewatermyfriend.org>
> Cc: 37671@debbugs.gnu.org
> Date: Sat, 01 Feb 2020 03:28:09 +0100
>
> Eli Zaretskii wrote:
> > (I assume that you still have the crashed session in the debugger.)
>
> Okay, new chance. :)
Thanks.
> Thread 1 "emacs-28.0.50" received signal SIGSEGV, Segmentation fault.
> show_mouse_face (hlinfo=0x555556d00830, draw=DRAW_NORMAL_TEXT) at xdisp.c:31447
> 31447 && hlinfo->mouse_face_end_row < w->current_matrix->nrows)
[...]
> (gdb) p *hlinfo
> $9 = {mouse_face_beg_row = 16,
> mouse_face_beg_col = 21,
> mouse_face_beg_x = 252,
> mouse_face_end_row = 16,
> mouse_face_end_col = 35,
> mouse_face_end_x = 420,
> mouse_face_window = 0x5555571b9bc5,
> mouse_face_face_id = 52,
> mouse_face_overlay = 0x0,
> mouse_face_mouse_frame = 0x5555589ff5d0,
> mouse_face_mouse_x = 401,
> mouse_face_mouse_y = 425,
> mouse_face_past_end = false,
> mouse_face_defer = false,
> mouse_face_hidden = false}
So hlinfo seems to be OK. What about this part:
> 31447 && hlinfo->mouse_face_end_row < w->current_matrix->nrows)
^^^^^^^^^^^^^^^^^^^^^^^^
Try:
(gdb) p *w
and then
(gdb) p *w->current_matrix
^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#37671: 27.0.50; Segmentation fault with --fg-daemon on Linux
2020-02-01 2:43 ` Frank Terbeck
@ 2020-02-01 8:46 ` Eli Zaretskii
2020-02-01 11:28 ` Frank Terbeck
0 siblings, 1 reply; 22+ messages in thread
From: Eli Zaretskii @ 2020-02-01 8:46 UTC (permalink / raw)
To: Frank Terbeck; +Cc: 37671
> From: Frank Terbeck <ft@bewatermyfriend.org>
> Cc: 37671@debbugs.gnu.org
> Date: Sat, 01 Feb 2020 03:43:13 +0100
>
> (gdb) p w->current_matrix
> $12 = (struct glyph_matrix *) 0x7a
>
> (gdb) p draw
> $13 = DRAW_NORMAL_TEXT
>
> (gdb) p hlinfo->mouse_face_hidden
> $14 = false
>
> (gdb) p hlinfo->mouse_face_end_row
> $15 = 16
>
> (gdb) p w->current_matrix->nrows
> Cannot access memory at address 0x92
>
> (gdb) p w->current_matrix
> $17 = (struct glyph_matrix *) 0x7a
This window is dead, AFAICT, and its memory has been recycled. So
somehow we attempt to show mouse highlight on a deleted window or
something. I have no idea how this could have happened.
Moreover, the frame itself seems to have bogus values:
> (gdb) p *f
> $10 = {header = {size = 285941742698496},
> name = 0x55573dc812400000,
> icon_name = 0xfffffffffe000055,
> title = 0xfffffffffeffffff,
> parent_frame = 0xfffffffffeffffff,
> focus_frame = 0xfffffffffeffffff,
> root_window = 0xfffffffffeffffff,
> selected_window = 0xfffffffffeffffff,
> old_selected_window = 0xfffffffffeffffff,
> minibuffer_window = 0xfffffffffeffffff,
> param_alist = 0xfffffffffeffffff,
> scroll_bars = 0xfffffffffeffffff,
> condemned_scroll_bars = 0xfffffffffeffffff,
> menu_bar_items = 0xfffffffffeffffff,
> face_alist = 0xfffffffffeffffff,
> menu_bar_vector = 0xfffffffffeffffff,
> buffer_predicate = 0xfffffffffeffffff,
> buffer_list = 0xfffffffffeffffff,
> buried_buffer_list = 0xfffffffffeffffff,
> tab_bar_window = 0xfffffffffeffffff,
> desired_tab_bar_string = 0xfffffffffeffffff,
> current_tab_bar_string = 0xfffffffffeffffff,
> tool_bar_window = 0xfffffffffeffffff,
> desired_tool_bar_string = 0xfffffffffeffffff,
> current_tool_bar_string = 0xfffffffffeffffff,
> font_data = 0xfffffffffeffffff,
> tab_bar_items = 0xfffffffffeffffff,
> tool_bar_items = 0xfffffffffeffffff,
> face_cache = 0xfffffffffeffffff,
> last_tab_bar_item = -16777217,
> last_tool_bar_item = -1,
> menu_bar_items_used = -16777217,
> namebuf = 0xfffffffffeffffff <error: Cannot access memory at address 0xfffffffffeffffff>,
> shell_position = 0xfffffffffeffffff <error: Cannot access memory at address 0xfffffffffeffffff>,
What exactly did you do immediately prior to the crash?
^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#37671: 27.0.50; Segmentation fault with --fg-daemon on Linux
2020-02-01 8:46 ` Eli Zaretskii
@ 2020-02-01 11:28 ` Frank Terbeck
2020-02-01 12:04 ` Eli Zaretskii
0 siblings, 1 reply; 22+ messages in thread
From: Frank Terbeck @ 2020-02-01 11:28 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 37671
Hello Eli!
Eli Zaretskii wrote:
[...]
>> (gdb) p w->current_matrix
>> $12 = (struct glyph_matrix *) 0x7a
>>
>> (gdb) p draw
>> $13 = DRAW_NORMAL_TEXT
>>
>> (gdb) p hlinfo->mouse_face_hidden
>> $14 = false
>>
>> (gdb) p hlinfo->mouse_face_end_row
>> $15 = 16
>>
>> (gdb) p w->current_matrix->nrows
>> Cannot access memory at address 0x92
>>
>> (gdb) p w->current_matrix
>> $17 = (struct glyph_matrix *) 0x7a
>
> This window is dead, AFAICT, and its memory has been recycled. So
> somehow we attempt to show mouse highlight on a deleted window or
> something. I have no idea how this could have happened.
>
> Moreover, the frame itself seems to have bogus values:
>
>> (gdb) p *f
>> $10 = {header = {size = 285941742698496},
>> name = 0x55573dc812400000,
>> icon_name = 0xfffffffffe000055,
>> title = 0xfffffffffeffffff,
>> parent_frame = 0xfffffffffeffffff,
>> focus_frame = 0xfffffffffeffffff,
>> root_window = 0xfffffffffeffffff,
>> selected_window = 0xfffffffffeffffff,
>> old_selected_window = 0xfffffffffeffffff,
>> minibuffer_window = 0xfffffffffeffffff,
>> param_alist = 0xfffffffffeffffff,
>> scroll_bars = 0xfffffffffeffffff,
>> condemned_scroll_bars = 0xfffffffffeffffff,
>> menu_bar_items = 0xfffffffffeffffff,
>> face_alist = 0xfffffffffeffffff,
>> menu_bar_vector = 0xfffffffffeffffff,
>> buffer_predicate = 0xfffffffffeffffff,
>> buffer_list = 0xfffffffffeffffff,
>> buried_buffer_list = 0xfffffffffeffffff,
>> tab_bar_window = 0xfffffffffeffffff,
>> desired_tab_bar_string = 0xfffffffffeffffff,
>> current_tab_bar_string = 0xfffffffffeffffff,
>> tool_bar_window = 0xfffffffffeffffff,
>> desired_tool_bar_string = 0xfffffffffeffffff,
>> current_tool_bar_string = 0xfffffffffeffffff,
>> font_data = 0xfffffffffeffffff,
>> tab_bar_items = 0xfffffffffeffffff,
>> tool_bar_items = 0xfffffffffeffffff,
>> face_cache = 0xfffffffffeffffff,
>> last_tab_bar_item = -16777217,
>> last_tool_bar_item = -1,
>> menu_bar_items_used = -16777217,
>> namebuf = 0xfffffffffeffffff <error: Cannot access memory at address 0xfffffffffeffffff>,
>> shell_position = 0xfffffffffeffffff <error: Cannot access memory at address 0xfffffffffeffffff>,
>
> What exactly did you do immediately prior to the crash?
I was reading mail using Gnus. When I do, with an article visible, gnus
is configured to show three windows (Group left of Summary and Article,
with Article below Summary). Then I switched the visible workspace in my
X11 window manager to somewhere emacs wasn't visible, switched back to
the workspace with emacs and that's when I had then unresponsive emacs
window sitting there, with gdb letting me know about the segfault.
I can't tell for sure, if the crash occurred before switching workspaces
or if that's what triggered it — but I *think* switching workspaces was
involved in past crashes as well. But maybe that's another coincidence.
I did not close an emacs frame, though. I am not sure what I did in Gnus
last. Could be, that I was in this article-viewing layout I described
above and selected another article from the summary buffer. That causes
Gnus to reuse the current article window to display the newly selected
one. I don't know if internally that involves closing windows etc.
Sadly, my brand-new Thinkpad thought a hard lock-up over night would be
great fun. Of course this happens when I just triggered something hard
to trigger. Sigh. The gdb session is gone with it. :-(
Anyway. I'm running my emacs inside gdb again, in case it happens again.
Let me know if I can be of further assistance.
Regards, Frank
^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#37671: 27.0.50; Segmentation fault with --fg-daemon on Linux
2020-02-01 11:28 ` Frank Terbeck
@ 2020-02-01 12:04 ` Eli Zaretskii
2020-02-01 12:49 ` Frank Terbeck
0 siblings, 1 reply; 22+ messages in thread
From: Eli Zaretskii @ 2020-02-01 12:04 UTC (permalink / raw)
To: Frank Terbeck; +Cc: 37671
> From: Frank Terbeck <ft@bewatermyfriend.org>
> Cc: 37671@debbugs.gnu.org
> Date: Sat, 01 Feb 2020 12:28:08 +0100
>
> > What exactly did you do immediately prior to the crash?
>
> I was reading mail using Gnus. When I do, with an article visible, gnus
> is configured to show three windows (Group left of Summary and Article,
> with Article below Summary). Then I switched the visible workspace in my
> X11 window manager to somewhere emacs wasn't visible, switched back to
> the workspace with emacs and that's when I had then unresponsive emacs
> window sitting there, with gdb letting me know about the segfault.
>
> I can't tell for sure, if the crash occurred before switching workspaces
> or if that's what triggered it — but I *think* switching workspaces was
> involved in past crashes as well. But maybe that's another coincidence.
It sounds like switching workspaces is relevant to the issue at hand.
Can you try moving the mouse pointer off the Emacs frame before
switching to the workspace where Emacs isn't visible, and moving the
mouse pointer to a place where it won't be on any Emacs frame before
switching back? If you do that, do the crashes still happen?
Also, which window manager is the one you use?
> Anyway. I'm running my emacs inside gdb again, in case it happens again.
> Let me know if I can be of further assistance.
Thanks. Next thing I'd like you to try is this simple band-aid:
diff --git a/src/xdisp.c b/src/xdisp.c
index 3a8b5e3..65d3ce8 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -31454,6 +31454,9 @@ show_mouse_face (Mouse_HLInfo *hlinfo, enum draw_glyphs_face draw)
struct window *w = XWINDOW (hlinfo->mouse_face_window);
struct frame *f = XFRAME (WINDOW_FRAME (w));
+ if (f != hlinfo->mouse_face_mouse_frame)
+ return;
+
if (/* If window is in the process of being destroyed, don't bother
to do anything. */
w->current_matrix != NULL
^ permalink raw reply related [flat|nested] 22+ messages in thread
* bug#37671: 27.0.50; Segmentation fault with --fg-daemon on Linux
2020-02-01 12:04 ` Eli Zaretskii
@ 2020-02-01 12:49 ` Frank Terbeck
2020-02-01 13:08 ` Eli Zaretskii
0 siblings, 1 reply; 22+ messages in thread
From: Frank Terbeck @ 2020-02-01 12:49 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 37671
Eli Zaretskii wrote:
[...]
> It sounds like switching workspaces is relevant to the issue at hand.
> Can you try moving the mouse pointer off the Emacs frame before
> switching to the workspace where Emacs isn't visible, and moving the
> mouse pointer to a place where it won't be on any Emacs frame before
> switching back? If you do that, do the crashes still happen?
I will try and remember this. The issue is, though, that because the
problem occurs only as infrequently as it does, I can't guarantee that I
will remember doing it every time, I switch workspaces. Because over the
course of a couple of weeks, I switch workspaces hundreds of times easi-
ly without anything ever going wrong. :)
I usually have Emacs as a mostly full-screen window with small status
bars above and below it.
> Also, which window manager is the one you use?
It's XMonad¹ — which is one of those tiling window managers that are not
re-parenting window managers².
¹ https://xmonad.org
² https://en.wikipedia.org/wiki/Re-parenting_window_manager
>> Anyway. I'm running my emacs inside gdb again, in case it happens again.
>> Let me know if I can be of further assistance.
>
> Thanks. Next thing I'd like you to try is this simple band-aid:
[...]
Can do! Do you want me to try this right away or give the "move the
mouse pointer off of the window" routine a shot for a while first?
Regards, Frank
^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#37671: 27.0.50; Segmentation fault with --fg-daemon on Linux
2020-02-01 12:49 ` Frank Terbeck
@ 2020-02-01 13:08 ` Eli Zaretskii
2020-02-01 14:32 ` Frank Terbeck
0 siblings, 1 reply; 22+ messages in thread
From: Eli Zaretskii @ 2020-02-01 13:08 UTC (permalink / raw)
To: Frank Terbeck; +Cc: 37671
> From: Frank Terbeck <ft@bewatermyfriend.org>
> Cc: 37671@debbugs.gnu.org
> Date: Sat, 01 Feb 2020 13:49:02 +0100
>
> > Thanks. Next thing I'd like you to try is this simple band-aid:
> [...]
>
> Can do! Do you want me to try this right away or give the "move the
> mouse pointer off of the window" routine a shot for a while first?
Might as well try this right away, given that the success with moving
out the mouse is not guaranteed.
^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#37671: 27.0.50; Segmentation fault with --fg-daemon on Linux
2020-02-01 13:08 ` Eli Zaretskii
@ 2020-02-01 14:32 ` Frank Terbeck
2020-02-15 8:28 ` Eli Zaretskii
0 siblings, 1 reply; 22+ messages in thread
From: Frank Terbeck @ 2020-02-01 14:32 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 37671
Eli Zaretskii wrote:
[...]
> Might as well try this right away, given that the success with moving
> out the mouse is not guaranteed.
Okay! Applying the patch now. We'll see how this goes! Thanks for your
help!
^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#37671: 27.0.50; Segmentation fault with --fg-daemon on Linux
2020-02-01 14:32 ` Frank Terbeck
@ 2020-02-15 8:28 ` Eli Zaretskii
2020-02-15 11:32 ` Frank Terbeck
0 siblings, 1 reply; 22+ messages in thread
From: Eli Zaretskii @ 2020-02-15 8:28 UTC (permalink / raw)
To: Frank Terbeck; +Cc: 37671
> From: Frank Terbeck <ft@bewatermyfriend.org>
> Date: Sat, 01 Feb 2020 15:32:03 +0100
> Cc: 37671@debbugs.gnu.org
>
> Eli Zaretskii wrote:
> [...]
> > Might as well try this right away, given that the success with moving
> > out the mouse is not guaranteed.
>
> Okay! Applying the patch now. We'll see how this goes!
Any news on this?
^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#37671: 27.0.50; Segmentation fault with --fg-daemon on Linux
2020-02-15 8:28 ` Eli Zaretskii
@ 2020-02-15 11:32 ` Frank Terbeck
2020-03-05 7:19 ` Eli Zaretskii
0 siblings, 1 reply; 22+ messages in thread
From: Frank Terbeck @ 2020-02-15 11:32 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 37671
Eli Zaretskii wrote:
[...]
>> Okay! Applying the patch now. We'll see how this goes!
>
> Any news on this?
I've been running Emacs with this patch applied in gdb, like I did be-
fore. I've had no crashes the last two weeks. Since the issue comes up
very seldom, I'd like to give it a fair bit more time before calling it
solved. The first time after reporting it took the issue took three
months to rear its ugly head again. :)
Regards, Frank
^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#37671: 27.0.50; Segmentation fault with --fg-daemon on Linux
2020-02-15 11:32 ` Frank Terbeck
@ 2020-03-05 7:19 ` Eli Zaretskii
2020-03-06 0:09 ` Frank Terbeck
0 siblings, 1 reply; 22+ messages in thread
From: Eli Zaretskii @ 2020-03-05 7:19 UTC (permalink / raw)
To: Frank Terbeck; +Cc: 37671
> From: Frank Terbeck <ft@bewatermyfriend.org>
> Cc: 37671@debbugs.gnu.org
> Date: Sat, 15 Feb 2020 12:32:24 +0100
>
> Eli Zaretskii wrote:
> [...]
> >> Okay! Applying the patch now. We'll see how this goes!
> >
> > Any news on this?
>
> I've been running Emacs with this patch applied in gdb, like I did be-
> fore. I've had no crashes the last two weeks. Since the issue comes up
> very seldom, I'd like to give it a fair bit more time before calling it
> solved. The first time after reporting it took the issue took three
> months to rear its ugly head again. :)
I take it that the crash still didn't happen, is that true? If so,
maybe I should go ahead and install the change?
Thanks.
^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#37671: 27.0.50; Segmentation fault with --fg-daemon on Linux
2020-03-05 7:19 ` Eli Zaretskii
@ 2020-03-06 0:09 ` Frank Terbeck
2020-03-06 7:51 ` Eli Zaretskii
0 siblings, 1 reply; 22+ messages in thread
From: Frank Terbeck @ 2020-03-06 0:09 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 37671
Hey Eli!
Eli Zaretskii wrote:
> I take it that the crash still didn't happen, is that true? If so,
> maybe I should go ahead and install the change?
Yeah, it didn't happen again thus far. Which is indeed a good sign. I
think it's reasonable to apply the patch and close the issue. I can
always reopen it if I should run across is in the future. Thanks again
for your support!
Regards, Frank
^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#37671: 27.0.50; Segmentation fault with --fg-daemon on Linux
2020-03-06 0:09 ` Frank Terbeck
@ 2020-03-06 7:51 ` Eli Zaretskii
0 siblings, 0 replies; 22+ messages in thread
From: Eli Zaretskii @ 2020-03-06 7:51 UTC (permalink / raw)
To: Frank Terbeck; +Cc: 37671-done
> From: Frank Terbeck <ft@bewatermyfriend.org>
> Cc: 37671@debbugs.gnu.org
> Date: Fri, 06 Mar 2020 01:09:50 +0100
>
> Eli Zaretskii wrote:
> > I take it that the crash still didn't happen, is that true? If so,
> > maybe I should go ahead and install the change?
>
> Yeah, it didn't happen again thus far. Which is indeed a good sign. I
> think it's reasonable to apply the patch and close the issue. I can
> always reopen it if I should run across is in the future. Thanks again
> for your support!
Thanks, I installed the change on the emacs-27 branch, and I'm closing
the bug.
Thanks for your help in investigating this problem.
^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2020-03-06 7:51 UTC | newest]
Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-10-09 1:55 bug#37671: 27.0.50; Segmentation fault with --fg-daemon on Linux Frank Terbeck
2019-10-10 11:03 ` Eli Zaretskii
2019-10-10 18:27 ` Frank Terbeck
2020-01-08 3:23 ` Frank Terbeck
2020-01-08 16:28 ` Eli Zaretskii
2020-01-08 16:39 ` Frank Terbeck
2020-02-01 2:28 ` Frank Terbeck
2020-02-01 8:33 ` Eli Zaretskii
2020-02-01 2:43 ` Frank Terbeck
2020-02-01 8:46 ` Eli Zaretskii
2020-02-01 11:28 ` Frank Terbeck
2020-02-01 12:04 ` Eli Zaretskii
2020-02-01 12:49 ` Frank Terbeck
2020-02-01 13:08 ` Eli Zaretskii
2020-02-01 14:32 ` Frank Terbeck
2020-02-15 8:28 ` Eli Zaretskii
2020-02-15 11:32 ` Frank Terbeck
2020-03-05 7:19 ` Eli Zaretskii
2020-03-06 0:09 ` Frank Terbeck
2020-03-06 7:51 ` Eli Zaretskii
2019-10-10 20:56 ` Paul Eggert
2019-10-11 7:02 ` Eli Zaretskii
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).