Subject: bug#29370: 27.0.50; C-g hang

From: Richard Stallman <[email-masked]>
Date: Wed, 22 Nov 2017 17:54:11 -0500

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > > However, now C-g always fails to exit the minibuffer.

  > By "always" you mean even when it doesn't hang Emacs?

Correct.
							   If so, can you
  > show a backtrace in that situation, i.e. Emacs that is not hung, but
  > with cursor in the minibuffer that would stay there if you type C-g?

See below.

I have a hunch that the problem is that the signal handler got deactivated.
That makes C-g a no-op for the rest of the session.  But this could be
caused by the way I get Emacs unhung.  I don't think this explains the
original failure.

  >   Also, do you remember if, before "kill -TSTP" you typed C-g
  > once or more than once?

Surely more than once.  It would have been my reflex reaction.

This time I think I typed it just once, and this was the relevant
part of C-h l output.

 SPC [self-insert-command]
 t [self-insert-command]
 h [self-insert-command]
 e [self-insert-command]
 SPC [self-insert-command]
 r [self-insert-command]
 e [self-insert-command]
 l [self-insert-command]
 a [self-insert-command]
 t [self-insert-command]
 ESC / [dabbrev-expand]
 . [self-insert-command]
 ESC k [kill-sentence]
 C-x C-s [save-buffer]
 C-c C-g [nil]
 C-g [abort-recursive-edit]
[This is where it hung]
 C-l [recenter-top-bottom]
 C-h l [view-lossage]

======================================================================
I made this backtrace after stopping Emacs while it was in a minibuffer
and C-g would not exit it.

Program received signal SIGTSTP, Stopped (user).
0x00007ffff265df07 in kill () at ../sysdeps/unix/syscall-template.S:81
81	in ../sysdeps/unix/syscall-template.S
#0  0x00007ffff265df07 in kill () at ../sysdeps/unix/syscall-template.S:81
#1  0x000000000057ebbd in sys_suspend () at sysdep.c:607
#2  0x00000000005722b4 in Fsuspend_emacs (stuffstring=XIL(0))
    at keyboard.c:10249
#3  0x0000000000608678 in funcall_subr (subr=0x92f8a0 <Ssuspend_emacs>, 
    numargs=0, args=0x7fffffffb1b8) at eval.c:2842
#4  0x00000000006082de in Ffuncall (nargs=1, args=0x7fffffffb1b0)
    at eval.c:2767
#5  0x000000000065198e in exec_byte_code (bytestr=XIL(0xa32c74), 
    vector=XIL(0xa32c95), maxdepth=make_number(3), 
    args_template=make_number(0), nargs=0, args=0x7fffffffb980)
    at bytecode.c:629
#6  0x0000000000608cd6 in funcall_lambda (fun=XIL(0xa32c35), nargs=0, 
    arg_vector=0x7fffffffb980) at eval.c:2968
#7  0x0000000000608322 in Ffuncall (nargs=1, args=0x7fffffffb978)
    at eval.c:2769
#8  0x000000000060010b in Ffuncall_interactively (nargs=1, args=0x7fffffffb978)
    at callint.c:252
#9  0x00000000006085b4 in funcall_subr (
    subr=0xc3fcc0 <Sfuncall_interactively>, numargs=1, args=0x7fffffffb978)
    at eval.c:2822
#10 0x00000000006082de in Ffuncall (nargs=2, args=0x7fffffffb970)
    at eval.c:2767
#11 0x00000000006072d3 in Fapply (nargs=3, args=0x7fffffffb970) at eval.c:2340
#12 0x0000000000600586 in Fcall_interactively (function=XIL(0x404130), 
    record_flag=XIL(0), keys=XIL(0x7fffe9a2af85)) at callint.c:389
#13 0x00000000006086ce in funcall_subr (subr=0xc3fd00 <Scall_interactively>, 
    numargs=3, args=0x7fffffffbb20) at eval.c:2847
#14 0x00000000006082de in Ffuncall (nargs=4, args=0x7fffffffbb18)
    at eval.c:2767
#15 0x000000000065198e in exec_byte_code (bytestr=XIL(0x9f7bbc), 
    vector=XIL(0x9f7bdd), maxdepth=make_number(13), 
    args_template=make_number(1025), nargs=1, args=0x7fffffffc060)
    at bytecode.c:629
#16 0x0000000000608cd6 in funcall_lambda (fun=XIL(0x9f7b8d), nargs=1, 
    arg_vector=0x7fffffffc058) at eval.c:2968
#17 0x0000000000608322 in Ffuncall (nargs=2, args=0x7fffffffc050)
    at eval.c:2769
#18 0x0000000000607d03 in call1 (fn=XIL(0x3f00), arg1=XIL(0x404130))
    at eval.c:2618
#19 0x000000000055fff2 in command_loop_1 () at keyboard.c:1482
#20 0x0000000000604da3 in internal_condition_case (
    bfun=0x55f817 <command_loop_1>, handlers=XIL(0x5250), 
    hfun=0x55efce <cmd_error>) at eval.c:1332
#21 0x000000000055f512 in command_loop_2 (ignore=XIL(0)) at keyboard.c:1110
#22 0x000000000060469b in internal_catch (tag=XIL(0x54f0), 
    func=0x55f4e9 <command_loop_2>, arg=XIL(0)) at eval.c:1097
#23 0x000000000055f449 in command_loop () at keyboard.c:1081
#24 0x000000000055ebb3 in recursive_edit_1 () at keyboard.c:695
#25 0x000000000059fa33 in read_minibuf (map=XIL(0x1114c53), initial=XIL(0), 
    prompt=XIL(0x7fffe813a554), expflag=false, histvar=XIL(0x32d0), 
    histpos=make_number(0), defalt=XIL(0x7fffe3ea80d4), allow_props=false, 
    inherit_input_method=false) at minibuf.c:685
#26 0x00000000005a051e in Fread_from_minibuffer (prompt=XIL(0x7fffe813a554), 
    initial_contents=XIL(0), keymap=XIL(0x1114c53), read=XIL(0), 
    hist=XIL(0x32d0), default_value=XIL(0x7fffe3ea80d4), 
    inherit_input_method=XIL(0)) at minibuf.c:992
#27 0x00000000006087f3 in funcall_subr (subr=0x9314a0 <Sread_from_minibuffer>, 
    numargs=7, args=0x7fffffffc640) at eval.c:2862
#28 0x00000000006082de in Ffuncall (nargs=8, args=0x7fffffffc638)
    at eval.c:2767
#29 0x000000000065198e in exec_byte_code (bytestr=XIL(0x9efa3c), 
    vector=XIL(0x9efa5d), maxdepth=make_number(18), 
    args_template=make_number(2050), nargs=8, args=0x7fffffffcb98)
    at bytecode.c:629
#30 0x0000000000608cd6 in funcall_lambda (fun=XIL(0x9efa0d), nargs=8, 
    arg_vector=0x7fffffffcb58) at eval.c:2968
#31 0x0000000000608322 in Ffuncall (nargs=9, args=0x7fffffffcb50)
    at eval.c:2769
#32 0x00000000005a1cce in Fcompleting_read (prompt=XIL(0x7fffe813a554), 
    collection=XIL(0x63d90), predicate=XIL(0), require_match=XIL(0x486aa0), 
    initial_input=XIL(0), hist=XIL(0x32d0), def=XIL(0x7fffe3ea80d4), 
    inherit_input_method=XIL(0)) at minibuf.c:1696
#33 0x00000000005a0b6c in Fread_buffer (prompt=XIL(0x7fffe813a554), 
    def=XIL(0x7fffe3ea80d4), require_match=XIL(0x486aa0), predicate=XIL(0))
    at minibuf.c:1169
#34 0x0000000000608705 in funcall_subr (subr=0x9315e0 <Sread_buffer>, 
    numargs=3, args=0x7fffffffcdc0) at eval.c:2850
#35 0x00000000006082de in Ffuncall (nargs=4, args=0x7fffffffcdb8)
    at eval.c:2767
#36 0x000000000065198e in exec_byte_code (bytestr=XIL(0x98033c), 
    vector=XIL(0x98035d), maxdepth=make_number(12), 
    args_template=make_number(257), nargs=1, args=0x7fffffffd2a0)
    at bytecode.c:629
#37 0x0000000000608cd6 in funcall_lambda (fun=XIL(0x98030d), nargs=1, 
    arg_vector=0x7fffffffd298) at eval.c:2968
#38 0x0000000000608322 in Ffuncall (nargs=2, args=0x7fffffffd290)
    at eval.c:2769
#39 0x000000000065198e in exec_byte_code (bytestr=XIL(0x98098c), 
    vector=XIL(0x9809bd), maxdepth=make_number(4), args_template=XIL(0), 
    nargs=0, args=0x0) at bytecode.c:629
#40 0x0000000000650c7a in Fbyte_code (bytestr=XIL(0x98098c), 
    vector=XIL(0x9809bd), maxdepth=make_number(4)) at bytecode.c:321
#41 0x0000000000606e45 in eval_sub (form=XIL(0x98096b)) at eval.c:2238
#42 0x000000000060641e in Feval (form=XIL(0x98096b), lexical=XIL(0))
    at eval.c:2052
#43 0x00000000006003d1 in Fcall_interactively (function=XIL(0x85420), 
    record_flag=XIL(0), keys=XIL(0x7fffe9a2af85)) at callint.c:357
#44 0x00000000006086ce in funcall_subr (subr=0xc3fd00 <Scall_interactively>, 
    numargs=3, args=0x7fffffffdb00) at eval.c:2847
#45 0x00000000006082de in Ffuncall (nargs=4, args=0x7fffffffdaf8)
    at eval.c:2767
#46 0x000000000065198e in exec_byte_code (bytestr=XIL(0x9f7bbc), 
    vector=XIL(0x9f7bdd), maxdepth=make_number(13), 
    args_template=make_number(1025), nargs=1, args=0x7fffffffe040)
    at bytecode.c:629
#47 0x0000000000608cd6 in funcall_lambda (fun=XIL(0x9f7b8d), nargs=1, 
    arg_vector=0x7fffffffe038) at eval.c:2968
#48 0x0000000000608322 in Ffuncall (nargs=2, args=0x7fffffffe030)
    at eval.c:2769
#49 0x0000000000607d03 in call1 (fn=XIL(0x3f00), arg1=XIL(0x85420))
    at eval.c:2618
#50 0x000000000055fff2 in command_loop_1 () at keyboard.c:1482
#51 0x0000000000604da3 in internal_condition_case (
    bfun=0x55f817 <command_loop_1>, handlers=XIL(0x5250), 
    hfun=0x55efce <cmd_error>) at eval.c:1332
#52 0x000000000055f512 in command_loop_2 (ignore=XIL(0)) at keyboard.c:1110
#53 0x000000000060469b in internal_catch (tag=XIL(0xc720), 
    func=0x55f4e9 <command_loop_2>, arg=XIL(0)) at eval.c:1097
#54 0x000000000055f4b2 in command_loop () at keyboard.c:1089
#55 0x000000000055ebb3 in recursive_edit_1 () at keyboard.c:695
#56 0x000000000055ed2b in Frecursive_edit () at keyboard.c:766
#57 0x000000000055ca35 in main (argc=3, argv=0x7fffffffe4f8) at emacs.c:1711

Lisp Backtrace:
"suspend-emacs" (0xffffb1b8)
"suspend-frame" (0xffffb980)
"funcall-interactively" (0xffffb978)
"call-interactively" (0xffffbb20)
"command-execute" (0xffffc058)
"read-from-minibuffer" (0xffffc640)
"completing-read-default" (0xffffcb58)
"read-buffer" (0xffffcdc0)
"read-buffer-to-switch" (0xffffd298)
"byte-code" (0xffffd740)
"call-interactively" (0xffffdb00)
"command-execute" (0xffffe038)

-- 
Dr Richard Stallman
President, Free Software Foundation (https://gnu.org, https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)
Skype: No way! See https://stallman.org/skype.html.