[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#24201: 25.1.50; TLS connections sometimes hang
From: |
Lars Ingebrigtsen |
Subject: |
bug#24201: 25.1.50; TLS connections sometimes hang |
Date: |
Sun, 18 Feb 2018 18:57:57 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
OK, I finally found a way to semi-reliably reproduce one of these hangs
I've been seeing.
The symptoms are that I move from one Gnus newsgroup to another, and in
certain circumstances Emacs will then hang forever. `C-g' does work,
but only after hitting it a number of times -- it varies how many, but
5-10 `C-g's usually allows Emacs to proceed.
I've included the xbacktrace and the backtrace from gdb below. If I
interpret this correctly, it looks like we're in
wait_reading_process_output, and that code decides to let a timer run,
and the timer then tries to establish a TLS connection, then we'll hang
indefinitely.
I think.
Should I try to run this in an unoptimized build to get more values
filled in?
(gdb) xbacktrace
"accept-process-output" (0xffffb138)
"network-stream-get-response" (0xffffb3d8)
"network-stream-open-starttls" (0xffffb888)
"open-network-stream" (0xffffbb90)
"nntp-open-connection" (0xffffc090)
"nntp-open-server" (0xffffc3a0)
"nntp-possibly-change-group" (0xffffca80)
"nntp-with-open-group-function" (0xffffcd30)
"nntp-request-article" (0xffffcfb0)
"gnus-request-article" (0xffffd250)
"gnus-async-prefetch-article" (0xffffd5e8)
"apply" (0xffffd6f8)
"timer-event-handler" (0xffffd9b8)
#0 pthread_sigmask (how=how@entry=0, newmask=<optimized out>,
newmask@entry=0x7fffffffa4f0, oldmask=oldmask@entry=0x7fffffffa590)
at ../sysdeps/unix/sysv/linux/pthread_sigmask.c:50
#1 0x000000000050b41e in block_interrupt_signal
(oldset=oldset@entry=0x7fffffffa590)
at sysdep.c:843
#2 0x00000000005c821d in really_call_select (arg=0x7fffffffa630) at
thread.c:567
#3 0x00000000005c8789 in thread_select (func=<optimized out>,
max_fds=max_fds@entry=16,
rfds=rfds@entry=0x7fffffffa700, wfds=wfds@entry=0x7fffffffa780,
efds=efds@entry=0x0,
timeout=timeout@entry=0x7fffffffad50, sigmask=0x0) at thread.c:602
#4 0x00000000005e5a35 in xg_select (fds_lim=16,
rfds=rfds@entry=0x7fffffffae40,
wfds=wfds@entry=0x7fffffffaec0, efds=efds@entry=0x0,
timeout=timeout@entry=0x7fffffffad50, sigmask=sigmask@entry=0x0) at
xgselect.c:117
#5 0x00000000005a9f29 in wait_reading_process_output (time_limit=<optimized
out>,
nsecs=<optimized out>, read_kbd=read_kbd@entry=0,
do_display=do_display@entry=false,
wait_for_cell=wait_for_cell@entry=XIL(0),
wait_proc=wait_proc@entry=0x40c3ba0,
just_wait_proc=0) at process.c:5379
#6 0x00000000005ab808 in Faccept_process_output (process=XIL(0x40c3ba5),
seconds=<optimized out>, millisec=<optimized out>, just_this_one=<optimized
out>)
at process.c:4667
#7 0x0000000000568404 in Ffuncall (nargs=<optimized out>,
args=args@entry=0x7fffffffb130) at eval.c:2818
#8 0x000000000059eea8 in exec_byte_code (bytestr=<optimized out>,
vector=XIL(0x4201a65), maxdepth=<optimized out>, args_template=<optimized
out>,
nargs=nargs@entry=59, args=<optimized out>, args@entry=0x3b) at
bytecode.c:632
#9 0x000000000056809f in funcall_lambda (fun=XIL(0x7fffffffb150), nargs=59,
nargs@entry=3, arg_vector=0x3b, arg_vector@entry=0x7fffffffb3d8) at
eval.c:3019
#10 0x000000000056834b in Ffuncall (nargs=4, args=args@entry=0x7fffffffb3d0)
at eval.c:2832
#11 0x000000000059eea8 in exec_byte_code (bytestr=<optimized out>,
vector=XIL(0x4201805), maxdepth=<optimized out>, args_template=<optimized
out>,
nargs=nargs@entry=58, args=<optimized out>, args@entry=0x3a) at
bytecode.c:632
#12 0x000000000056809f in funcall_lambda (fun=XIL(0x7fffffffb448), nargs=58,
nargs@entry=5, arg_vector=0x3a, arg_vector@entry=0x7fffffffb888) at
eval.c:3019
#13 0x000000000056834b in Ffuncall (nargs=6, args=args@entry=0x7fffffffb880)
at eval.c:2832
#14 0x000000000059eea8 in exec_byte_code (bytestr=<optimized out>,
vector=XIL(0x42014f5), maxdepth=<optimized out>, args_template=<optimized
out>,
nargs=nargs@entry=56, args=<optimized out>, args@entry=0x38) at
bytecode.c:632
#15 0x000000000056809f in funcall_lambda (fun=XIL(0x7fffffffb8d8), nargs=56,
nargs@entry=14, arg_vector=0x38, arg_vector@entry=0x7fffffffbb90) at
eval.c:3019
#16 0x000000000056834b in Ffuncall (nargs=15, args=args@entry=0x7fffffffbb88)
at eval.c:2832
#17 0x000000000059eea8 in exec_byte_code (bytestr=<optimized out>,
vector=XIL(0x416a9c5), maxdepth=<optimized out>,
args_template=args_template@entry=XIL(0), nargs=nargs@entry=0,
args=<optimized out>,
args@entry=0x0) at bytecode.c:632
#18 0x0000000000567f69 in funcall_lambda (fun=XIL(0x416ad05),
nargs=nargs@entry=1,
arg_vector=arg_vector@entry=0x7fffffffc090) at eval.c:3101
#19 0x000000000056834b in Ffuncall (nargs=2, args=args@entry=0x7fffffffc088)
at eval.c:2832
#20 0x000000000059eea8 in exec_byte_code (bytestr=<optimized out>,
vector=XIL(0x4164515), maxdepth=<optimized out>,
args_template=args_template@entry=XIL(0), nargs=nargs@entry=0,
args=<optimized out>,
args@entry=0x0) at bytecode.c:632
#21 0x0000000000567f69 in funcall_lambda (fun=XIL(0x4161925),
nargs=nargs@entry=3,
arg_vector=arg_vector@entry=0x7fffffffc3a0) at eval.c:3101
#22 0x000000000056834b in Ffuncall (nargs=4, args=args@entry=0x7fffffffc398)
at eval.c:2832
#23 0x000000000059eea8 in exec_byte_code (bytestr=<optimized out>,
vector=XIL(0x416b7d5), maxdepth=<optimized out>,
args_template=args_template@entry=XIL(0), nargs=nargs@entry=0,
args=<optimized out>,
args@entry=0x0) at bytecode.c:632
#24 0x0000000000567f69 in funcall_lambda (fun=XIL(0x416bb25),
nargs=nargs@entry=3,
arg_vector=arg_vector@entry=0x7fffffffca80) at eval.c:3101
#25 0x000000000056834b in Ffuncall (nargs=4, args=args@entry=0x7fffffffca78)
at eval.c:2832
#26 0x000000000059eea8 in exec_byte_code (bytestr=<optimized out>,
vector=XIL(0x415c965), maxdepth=<optimized out>,
args_template=args_template@entry=XIL(0), nargs=nargs@entry=0,
args=<optimized out>,
args@entry=0x0) at bytecode.c:632
#27 0x0000000000567f69 in funcall_lambda (fun=XIL(0x415ca15),
nargs=nargs@entry=4,
arg_vector=arg_vector@entry=0x7fffffffcd30) at eval.c:3101
#28 0x000000000056834b in Ffuncall (nargs=5, args=args@entry=0x7fffffffcd28)
at eval.c:2832
#29 0x000000000059eea8 in exec_byte_code (bytestr=<optimized out>,
vector=XIL(0x4161285), maxdepth=<optimized out>,
args_template=args_template@entry=XIL(0), nargs=nargs@entry=0,
args=<optimized out>,
args@entry=0x0) at bytecode.c:632
#30 0x0000000000567f69 in funcall_lambda (fun=XIL(0x41612b5),
nargs=nargs@entry=4,
arg_vector=arg_vector@entry=0x7fffffffcfb0) at eval.c:3101
#31 0x000000000056834b in Ffuncall (nargs=5, args=args@entry=0x7fffffffcfa8)
at eval.c:2832
#32 0x000000000059eea8 in exec_byte_code (bytestr=<optimized out>,
vector=XIL(0x3e57535), maxdepth=<optimized out>,
args_template=args_template@entry=XIL(0), nargs=nargs@entry=0,
args=<optimized out>,
args@entry=0x0) at bytecode.c:632
#33 0x0000000000567f69 in funcall_lambda (fun=XIL(0x3e1d7f5),
nargs=nargs@entry=2,
arg_vector=arg_vector@entry=0x7fffffffd250) at eval.c:3101
#34 0x000000000056834b in Ffuncall (nargs=3, args=args@entry=0x7fffffffd248)
at eval.c:2832
#35 0x000000000059eea8 in exec_byte_code (bytestr=<optimized out>,
vector=XIL(0x41b5ba5), maxdepth=<optimized out>,
args_template=args_template@entry=XIL(0), nargs=nargs@entry=0,
args=<optimized out>,
args@entry=0x0) at bytecode.c:632
#36 0x0000000000567f69 in funcall_lambda (fun=XIL(0x424d585),
nargs=nargs@entry=3,
arg_vector=arg_vector@entry=0x7fffffffd5e8) at eval.c:3101
#37 0x000000000056834b in Ffuncall (nargs=nargs@entry=4, args=0x7fffffffd5e0)
at eval.c:2832
#38 0x0000000000569d70 in Fapply (nargs=2, args=<optimized out>) at eval.c:2438
#39 0x0000000000568404 in Ffuncall (nargs=<optimized out>,
args=args@entry=0x7fffffffd6f0) at eval.c:2818
#40 0x000000000059eea8 in exec_byte_code (bytestr=<optimized out>,
vector=XIL(0x99b3dd),
maxdepth=<optimized out>, args_template=<optimized out>,
nargs=nargs@entry=6,
args=<optimized out>, args@entry=0x6) at bytecode.c:632
#41 0x000000000056809f in funcall_lambda (fun=XIL(0x7fffffffd728), nargs=6,
nargs@entry=1, arg_vector=0x6, arg_vector@entry=0x7fffffffd9b8) at
eval.c:3019
#42 0x000000000056834b in Ffuncall (nargs=nargs@entry=2,
args=args@entry=0x7fffffffd9b0)
at eval.c:2832
#43 0x00000000005684ba in call1 (fn=fn@entry=XIL(0xc480),
arg1=arg1@entry=XIL(0x4b72725))
at eval.c:2669
#44 0x00000000004f8ebb in timer_check_2 (idle_timers=<optimized out>,
timers=<optimized out>) at keyboard.c:4330
#45 timer_check () at keyboard.c:4392
#46 0x00000000005a9367 in wait_reading_process_output
(time_limit=time_limit@entry=30,
nsecs=nsecs@entry=0, read_kbd=-1, do_display=do_display@entry=true,
wait_for_cell=wait_for_cell@entry=XIL(0), wait_proc=wait_proc@entry=0x0,
just_wait_proc=0) at process.c:5144
#47 0x0000000000424060 in sit_for (timeout=<optimized out>,
reading=reading@entry=true,
display_option=display_option@entry=1) at dispnew.c:5804
#48 0x00000000004feae2 in read_char (commandflag=commandflag@entry=1,
map=map@entry=XIL(0x4dca1c3), prev_event=<optimized out>,
used_mouse_menu=used_mouse_menu@entry=0x7fffffffe5ab,
end_time=end_time@entry=0x0)
at keyboard.c:2723
#49 0x00000000004ff7b7 in read_key_sequence
(keybuf=keybuf@entry=0x7fffffffe6a0,
prompt=prompt@entry=XIL(0),
dont_downcase_last=dont_downcase_last@entry=false,
can_return_switch_frame=can_return_switch_frame@entry=true,
fix_current_buffer=fix_current_buffer@entry=true,
prevent_redisplay=prevent_redisplay@entry=false, bufsize=30) at
keyboard.c:9137
#50 0x00000000005013be in command_loop_1 () at keyboard.c:1370
#51 0x00000000005669ae in internal_condition_case (
bfun=bfun@entry=0x5011a0 <command_loop_1>,
handlers=handlers@entry=XIL(0x5280),
hfun=hfun@entry=0x4f8210 <cmd_error>) at eval.c:1332
#52 0x00000000004f2b94 in command_loop_2 (ignore=ignore@entry=XIL(0)) at
keyboard.c:1111
#53 0x000000000056694c in internal_catch (tag=tag@entry=XIL(0xc750),
func=func@entry=0x4f2b70 <command_loop_2>, arg=arg@entry=XIL(0)) at
eval.c:1097
#54 0x00000000004f2b50 in command_loop () at keyboard.c:1090
#55 0x00000000004f7df3 in recursive_edit_1 () at keyboard.c:696
#56 0x00000000004f8158 in Frecursive_edit () at keyboard.c:767
#57 0x000000000041a5c3 in main (argc=<optimized out>, argv=0x7fffffffea18)
at emacs.c:1724
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
- bug#24201: 25.1.50; TLS connections sometimes hang,
Lars Ingebrigtsen <=
- bug#24201: 25.1.50; TLS connections sometimes hang, Lars Ingebrigtsen, 2018/02/19
- bug#24201: 25.1.50; TLS connections sometimes hang, Paul Eggert, 2018/02/19
- bug#24201: 25.1.50; TLS connections sometimes hang, Lars Ingebrigtsen, 2018/02/19
- bug#24201: 25.1.50; TLS connections sometimes hang, Eli Zaretskii, 2018/02/19
- bug#24201: 25.1.50; TLS connections sometimes hang, Lars Ingebrigtsen, 2018/02/19
- bug#24201: 25.1.50; TLS connections sometimes hang, Eli Zaretskii, 2018/02/19
- bug#24201: 25.1.50; TLS connections sometimes hang, Lars Ingebrigtsen, 2018/02/19
- bug#24201: 25.1.50; TLS connections sometimes hang, Andreas Schwab, 2018/02/19