Subject: bug#17171: Non-reproable crash in ns_read_socket

From: Simon Carter <[email-masked]>
Date: Wed, 2 Apr 2014 14:08:34 +0100

Not quite sure what I was doing - possibly opening up a file list in helm. I’ve included the disassembly for ns_read_socket and gobble_input at the bottom - let me know if you need anything else. I’ll hold off on updating emacs for a bit in case you want the disassembly on something else.

In GNU Emacs 24.3.50.1 (x86_64-apple-darwin13.1.0, NS apple-appkit-1265.19)  
of 2014-03-11 on scarter-mac.europe.corp.microsoft.com
Windowing system distributor `Apple', version 10.3.1265
Configured using:
`configure --prefix=/usr/local/Cellar/emacs/HEAD --without-dbus
--enable-locallisppath=/usr/local/share/emacs/site-lisp
--infodir=/usr/local/Cellar/emacs/HEAD/share/info/emacs --with-gnutls
--with-ns --disable-ns-self-contained'

Important settings:  
value of $LC_ALL: en_GB.UTF-8
value of $LANG: en_GB.UTF-8
locale-coding-system: utf-8-unix

Major mode: Lisp Interaction  

Minor modes in effect:  
yas-global-mode: t
yas-minor-mode: t
global-surround-mode: t
surround-mode: t
winner-mode: t
sml-modeline-mode: t
shell-dirtrack-mode: t
helm-match-plugin-mode: t
helm-occur-match-plugin-mode: t
show-paren-mode: t
global-auto-revert-mode: t
global-undo-tree-mode: t
undo-tree-mode: t
evil-mode: t
evil-local-mode: t
delete-selection-mode: t
recentf-mode: t
ido-everywhere: t
cua-mode: t
tooltip-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
size-indication-mode: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: t

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread  
0 libsystem_kernel.dylib 0x00007fff858c3292 __kill + 10
1 org.gnu.Emacs 0x00000001000a1df3 terminate_due_to_signal + 148
2 org.gnu.Emacs 0x00000001000bb09b emacs_abort + 19
3 org.gnu.Emacs 0x000000010017cb67 ns_read_socket + 606
4 org.gnu.Emacs 0x00000001000a7b39 gobble_input + 276
5 org.gnu.Emacs 0x00000001000a78b9 process_pending_signals + 19
6 org.gnu.Emacs 0x00000001000e7b66 re_match_2_internal + 1418
7 org.gnu.Emacs 0x00000001000e7494 re_search_2 + 1739
8 org.gnu.Emacs 0x00000001000e6dc3 re_search + 46
9 org.gnu.Emacs 0x00000001000e0b53 fast_string_match + 95
10 org.gnu.Emacs 0x00000001000ce549 Ffind_file_name_handler + 204
11 org.gnu.Emacs 0x00000001000cf339 Fexpand_file_name + 1540
12 org.gnu.Emacs 0x00000001000c5e28 unlock_file + 68
13 org.gnu.Emacs 0x00000001000c6279 unlock_all_files + 85
14 org.gnu.Emacs 0x00000001000a1fb6 shut_down_emacs + 244
15 org.gnu.Emacs 0x00000001000a1db8 terminate_due_to_signal + 89
16 org.gnu.Emacs 0x00000001000bb09b emacs_abort + 19
17 org.gnu.Emacs 0x000000010017cb67 ns_read_socket + 606
18 org.gnu.Emacs 0x00000001000a7b39 gobble_input + 276
19 org.gnu.Emacs 0x00000001000ac625 get_input_pending + 91
20 org.gnu.Emacs 0x00000001000a8278 read_char + 706
21 org.gnu.Emacs 0x00000001000a632b read_key_sequence + 1599
22 org.gnu.Emacs 0x00000001000a5abf command_loop_1 + 3857
23 org.gnu.Emacs 0x000000010010ea30 internal_condition_case + 251
24 org.gnu.Emacs 0x00000001000b4147 command_loop_2 + 53
25 org.gnu.Emacs 0x000000010010e44b internal_catch + 243
26 org.gnu.Emacs 0x00000001000a4354 recursive_edit_1 + 176
27 org.gnu.Emacs 0x00000001000cba17 read_minibuf + 1952
28 org.gnu.Emacs 0x00000001000cb253 Fread_from_minibuffer + 256
29 org.gnu.Emacs 0x0000000100110166 Ffuncall + 1212
30 org.gnu.Emacs 0x00000001001425e6 exec_byte_code + 2279
31 org.gnu.Emacs 0x000000010010fee6 Ffuncall + 572
32 org.gnu.Emacs 0x00000001001425e6 exec_byte_code + 2279
33 org.gnu.Emacs 0x000000010010fee6 Ffuncall + 572
34 org.gnu.Emacs 0x000000010010ceb7 eval_sub + 1296
35 org.gnu.Emacs 0x000000010010e7f9 internal_lisp_condition_case + 543
36 org.gnu.Emacs 0x00000001001434a7 exec_byte_code + 6056
37 org.gnu.Emacs 0x000000010010fee6 Ffuncall + 572
38 org.gnu.Emacs 0x000000010010ceb7 eval_sub + 1296
39 org.gnu.Emacs 0x000000010010e44b internal_catch + 243
40 org.gnu.Emacs 0x0000000100143244 exec_byte_code + 5445
41 org.gnu.Emacs 0x000000010010fee6 Ffuncall + 572
42 org.gnu.Emacs 0x000000010010fb3d Fapply + 501
43 org.gnu.Emacs 0x000000010010ff6e Ffuncall + 708
44 org.gnu.Emacs 0x00000001001425e6 exec_byte_code + 2279
45 org.gnu.Emacs 0x000000010010fee6 Ffuncall + 572
46 org.gnu.Emacs 0x000000010010fb3d Fapply + 501
47 org.gnu.Emacs 0x000000010010ff6e Ffuncall + 708
48 org.gnu.Emacs 0x00000001001425e6 exec_byte_code + 2279
49 org.gnu.Emacs 0x000000010010fee6 Ffuncall + 572
50 org.gnu.Emacs 0x00000001001425e6 exec_byte_code + 2279
51 org.gnu.Emacs 0x000000010010fee6 Ffuncall + 572
52 org.gnu.Emacs 0x00000001001425e6 exec_byte_code + 2279
53 org.gnu.Emacs 0x000000010010fee6 Ffuncall + 572
54 org.gnu.Emacs 0x00000001001425e6 exec_byte_code + 2279
55 org.gnu.Emacs 0x000000010010fee6 Ffuncall + 572
56 org.gnu.Emacs 0x00000001001425e6 exec_byte_code + 2279
57 org.gnu.Emacs 0x000000010010fee6 Ffuncall + 572
58 org.gnu.Emacs 0x000000010010c7b5 apply1 + 53
59 org.gnu.Emacs 0x000000010010ab7e Fcall_interactively + 1242
60 org.gnu.Emacs 0x000000010011008d Ffuncall + 995
61 org.gnu.Emacs 0x00000001001425e6 exec_byte_code + 2279
62 org.gnu.Emacs 0x000000010010fee6 Ffuncall + 572
63 org.gnu.Emacs 0x00000001001104f9 call1 + 45
64 org.gnu.Emacs 0x00000001000a55e8 command_loop_1 + 2618
65 org.gnu.Emacs 0x000000010010ea30 internal_condition_case + 251
66 org.gnu.Emacs 0x00000001000b4147 command_loop_2 + 53
67 org.gnu.Emacs 0x000000010010e44b internal_catch + 243
68 org.gnu.Emacs 0x00000001000a43e5 recursive_edit_1 + 321
69 org.gnu.Emacs 0x00000001000a452b Frecursive_edit + 250
70 org.gnu.Emacs 0x00000001000a3408 main + 5074
71 libdyld.dylib 0x00007fff8dcdf5fd start + 1

Thread 1:: Dispatch queue: com.apple.libdispatch-manager  
0 libsystem_kernel.dylib 0x00007fff858c4662 kevent64 + 10
1 libdispatch.dylib 0x00007fff8c17c43d _dispatch_mgr_invoke + 239
2 libdispatch.dylib 0x00007fff8c17c152 _dispatch_mgr_thread + 52

Thread 2:  
0 libsystem_kernel.dylib 0x00007fff858c39aa __select + 10
1 org.gnu.Emacs 0x00000001001746e1 -[EmacsApp fd_handler:] + 234
2 com.apple.Foundation 0x00007fff8ed9376b __NSThread__main__ + 1318
3 libsystem_pthread.dylib 0x00007fff8775b899 _pthread_body + 138
4 libsystem_pthread.dylib 0x00007fff8775b72a _pthread_start + 137
5 libsystem_pthread.dylib 0x00007fff8775ffc9 thread_start + 13

Thread 3:  
0 libsystem_kernel.dylib 0x00007fff858bfa1a mach_msg_trap + 10
1 libsystem_kernel.dylib 0x00007fff858bed18 mach_msg + 64
2 com.apple.CoreFoundation 0x00007fff838c4155 __CFRunLoopServiceMachPort + 181
3 com.apple.CoreFoundation 0x00007fff838c3779 __CFRunLoopRun + 1161
4 com.apple.CoreFoundation 0x00007fff838c30b5 CFRunLoopRunSpecific + 309
5 com.apple.AppKit 0x00007fff84efb16e _NSEventThread + 144
6 libsystem_pthread.dylib 0x00007fff8775b899 _pthread_body + 138
7 libsystem_pthread.dylib 0x00007fff8775b72a _pthread_start + 137
8 libsystem_pthread.dylib 0x00007fff8775ffc9 thread_start + 13

Thread 4:  
0 libsystem_kernel.dylib 0x00007fff858c3e6a __workq_kernreturn + 10
1 libsystem_pthread.dylib 0x00007fff8775cf08 _pthread_wqthread + 330
2 libsystem_pthread.dylib 0x00007fff8775ffb9 start_wqthread + 13

Dump of assembler code for function ns_read_socket:  
0x000000010017c909 <+0>: push %rbp
0x000000010017c90a <+1>: mov %rsp,%rbp
0x000000010017c90d <+4>: push %r15
0x000000010017c90f <+6>: push %r14
0x000000010017c911 <+8>: push %r12
0x000000010017c913 <+10>: push %rbx
0x000000010017c914 <+11>: and $0xffffffffffffffe0,%rsp
0x000000010017c91b <+18>: sub $0x60,%rsp
0x000000010017c91f <+22>: mov %rsi,%r14
0x000000010017c922 <+25>: callq 0x10018006d  
0x000000010017c927 <+30>: mov 0x57712(%rip),%r15 # 0x1001d4040
0x000000010017c92e <+37>: mov (%r15),%rdi
0x000000010017c931 <+40>: mov 0x5ff20(%rip),%rsi # 0x1001dc858
0x000000010017c938 <+47>: callq *0x57992(%rip) # 0x1001d42d0
0x000000010017c93e <+53>: mov $0xffffffff,%r12d
0x000000010017c944 <+59>: test %rax,%rax
0x000000010017c947 <+62>: jne 0x10017cb52  
0x000000010017c94d <+68>: xor %ebx,%ebx
0x000000010017c94f <+70>: cmpl $0x0,0x3f0852(%rip) # 0x10056d1a8  
0x000000010017c956 <+77>: jle 0x10017c98c  
0x000000010017c958 <+79>: xor %r12d,%r12d
0x000000010017c95b <+82>: mov 0x3f083e(%rip),%rdi # 0x10056d1a0  
0x000000010017c962 <+89>: add %rbx,%rdi
0x000000010017c965 <+92>: mov %r14,%rsi
0x000000010017c968 <+95>: callq 0x1000abc5b  
0x000000010017c96d <+100>: inc %r12d
0x000000010017c970 <+103>: add $0x40,%rbx
0x000000010017c974 <+107>: cmp 0x3f082d(%rip),%r12d # 0x10056d1a8  
0x000000010017c97b <+114>: jl 0x10017c95b  
0x000000010017c97d <+116>: movl $0x0,0x3f0821(%rip) # 0x10056d1a8  
0x000000010017c987 <+126>: jmpq 0x10017cb52  
0x000000010017c98c <+131>: lea 0x37bd41(%rip),%rax # 0x1004f86d4  
0x000000010017c993 <+138>: incl (%rax)
0x000000010017c995 <+140>: movl $0x0,0x3f07e9(%rip) # 0x10056d188  
0x000000010017c99f <+150>: vxorps %ymm0,%ymm0,%ymm0
0x000000010017c9a3 <+154>: vmovaps %ymm0,0x20(%rsp)
0x000000010017c9a9 <+160>: vmovaps %ymm0,(%rsp)
0x000000010017c9ae <+165>: lea (%rsp),%rax
0x000000010017c9b2 <+169>: mov %rax,0x3f07bf(%rip) # 0x10056d178  
0x000000010017c9b9 <+176>: mov %r14,0x3f07c0(%rip) # 0x10056d180  
0x000000010017c9c0 <+183>: mov 0x3f07e9(%rip),%rdi # 0x10056d1b0  
0x000000010017c9c7 <+190>: mov 0x5fb8a(%rip),%rsi # 0x1001dc558
0x000000010017c9ce <+197>: mov 0x578fb(%rip),%r12 # 0x1001d42d0
0x000000010017c9d5 <+204>: vzeroupper  
0x000000010017c9d8 <+207>: callq *%r12
0x000000010017c9db <+210>: mov 0x60c66(%rip),%rdi # 0x1001dd648
0x000000010017c9e2 <+217>: mov 0x5fb7f(%rip),%rsi # 0x1001dc568
0x000000010017c9e9 <+224>: callq *%r12
0x000000010017c9ec <+227>: mov 0x5fb7d(%rip),%rsi # 0x1001dc570
0x000000010017c9f3 <+234>: mov %rax,%rdi
0x000000010017c9f6 <+237>: callq *%r12
0x000000010017c9f9 <+240>: mov %rax,0x3f07b0(%rip) # 0x10056d1b0  
0x000000010017ca00 <+247>: mov 0x3f0921(%rip),%rdi # 0x10056d328  
0x000000010017ca07 <+254>: test %rdi,%rdi
0x000000010017ca0a <+257>: je 0x10017ca63  
0x000000010017ca0c <+259>: mov 0x5fc15(%rip),%rsi # 0x1001dc628
0x000000010017ca13 <+266>: callq *0x578b7(%rip) # 0x1001d42d0
0x000000010017ca19 <+272>: test %rax,%rax
0x000000010017ca1c <+275>: je 0x10017ca63  
0x000000010017ca1e <+277>: mov (%r15),%rbx
0x000000010017ca21 <+280>: mov 0x3f0900(%rip),%rdi # 0x10056d328  
0x000000010017ca28 <+287>: mov 0x5fbb1(%rip),%rsi # 0x1001dc5e0
0x000000010017ca2f <+294>: xor %edx,%edx
0x000000010017ca31 <+296>: callq *%r12
0x000000010017ca34 <+299>: mov 0x602cd(%rip),%rsi # 0x1001dcd08
0x000000010017ca3b <+306>: mov %rbx,%rdi
0x000000010017ca3e <+309>: mov %rax,%rdx
0x000000010017ca41 <+312>: callq *%r12
0x000000010017ca44 <+315>: test %al,%al
0x000000010017ca46 <+317>: je 0x10017ca63  
0x000000010017ca48 <+319>: mov 0x3f08d9(%rip),%rdi # 0x10056d328  
0x000000010017ca4f <+326>: mov 0x602ba(%rip),%rsi # 0x1001dcd10
0x000000010017ca56 <+333>: xor %edx,%edx
0x000000010017ca58 <+335>: callq *0x57872(%rip) # 0x1001d42d0
0x000000010017ca5e <+341>: jmpq 0x10017cb26  
0x000000010017ca63 <+346>: mov 0x3f08c6(%rip),%rdi # 0x10056d330  
0x000000010017ca6a <+353>: test %rdi,%rdi
0x000000010017ca6d <+356>: je 0x10017caec  
0x000000010017ca6f <+358>: mov 0x5fbb2(%rip),%rsi # 0x1001dc628
0x000000010017ca76 <+365>: callq *0x57854(%rip) # 0x1001d42d0
0x000000010017ca7c <+371>: test %rax,%rax
0x000000010017ca7f <+374>: je 0x10017caec  
0x000000010017ca81 <+376>: mov (%r15),%r14
0x000000010017ca84 <+379>: mov 0x3f08a5(%rip),%rdi # 0x10056d330  
0x000000010017ca8b <+386>: mov 0x5fb4e(%rip),%rsi # 0x1001dc5e0
0x000000010017ca92 <+393>: xor %edx,%edx
0x000000010017ca94 <+395>: callq *%r12
0x000000010017ca97 <+398>: mov %rax,%rbx
0x000000010017ca9a <+401>: mov 0x3f0897(%rip),%rdi # 0x10056d338  
0x000000010017caa1 <+408>: mov 0x5fb38(%rip),%rsi # 0x1001dc5e0
0x000000010017caa8 <+415>: xor %edx,%edx
0x000000010017caaa <+417>: callq *%r12
0x000000010017caad <+420>: mov 0x60264(%rip),%rsi # 0x1001dcd18
0x000000010017cab4 <+427>: mov %r14,%rdi
0x000000010017cab7 <+430>: mov %rbx,%rdx
0x000000010017caba <+433>: mov %rax,%rcx
0x000000010017cabd <+436>: callq *%r12
0x000000010017cac0 <+439>: test %al,%al
0x000000010017cac2 <+441>: je 0x10017caec  
0x000000010017cac4 <+443>: mov 0x3f0865(%rip),%rdi # 0x10056d330  
0x000000010017cacb <+450>: mov 0x6023e(%rip),%rsi # 0x1001dcd10
0x000000010017cad2 <+457>: xor %edx,%edx
0x000000010017cad4 <+459>: callq *%r12
0x000000010017cad7 <+462>: mov 0x3f085a(%rip),%rdi # 0x10056d338  
0x000000010017cade <+469>: mov 0x6022b(%rip),%rsi # 0x1001dcd10
0x000000010017cae5 <+476>: xor %edx,%edx
0x000000010017cae7 <+478>: callq *%r12
0x000000010017caea <+481>: jmp 0x10017cb26  
0x000000010017caec <+483>: movb $0x0,0x3f06c5(%rip) # 0x10056d1b8  
0x000000010017caf3 <+490>: mov $0xffffffff,%edi
0x000000010017caf8 <+495>: callq 0x100172297  
0x000000010017cafd <+500>: mov 0x3f081d(%rip),%eax # 0x10056d320  
0x000000010017cb03 <+506>: lea 0x1(%rax),%ecx
0x000000010017cb06 <+509>: mov %ecx,0x3f0814(%rip) # 0x10056d320  
0x000000010017cb0c <+515>: test %eax,%eax
0x000000010017cb0e <+517>: jne 0x10017cb62  
0x000000010017cb10 <+519>: mov (%r15),%rdi
0x000000010017cb13 <+522>: mov 0x5fbce(%rip),%rsi # 0x1001dc6e8
0x000000010017cb1a <+529>: callq *0x577b0(%rip) # 0x1001d42d0
0x000000010017cb20 <+535>: decl 0x3f07fa(%rip) # 0x10056d320  
0x000000010017cb26 <+541>: mov 0x3f065b(%rip),%r12d # 0x10056d188  
0x000000010017cb2d <+548>: movl $0x0,0x3f0651(%rip) # 0x10056d188  
0x000000010017cb37 <+558>: movq $0x0,0x3f063e(%rip) # 0x10056d180  
0x000000010017cb42 <+569>: movq $0x0,0x3f062b(%rip) # 0x10056d178  
0x000000010017cb4d <+580>: callq 0x1000ad936  
0x000000010017cb52 <+585>: mov %r12d,%eax
0x000000010017cb55 <+588>: lea -0x20(%rbp),%rsp
0x000000010017cb59 <+592>: pop %rbx
0x000000010017cb5a <+593>: pop %r12
0x000000010017cb5c <+595>: pop %r14
0x000000010017cb5e <+597>: pop %r15
0x000000010017cb60 <+599>: pop %rbp
0x000000010017cb61 <+600>: retq  
0x000000010017cb62 <+601>: callq 0x1000bb088 

Dump of assembler code for function gobble_input:
   0x00000001000a7a25 <+0>:	push   %rbp
   0x00000001000a7a26 <+1>:	mov    %rsp,%rbp
   0x00000001000a7a29 <+4>:	push   %r15
   0x00000001000a7a2b <+6>:	push   %r14
   0x00000001000a7a2d <+8>:	push   %r13
   0x00000001000a7a2f <+10>:	push   %r12
   0x00000001000a7a31 <+12>:	push   %rbx
   0x00000001000a7a32 <+13>:	and    $0xffffffffffffffe0,%rsp
   0x00000001000a7a39 <+20>:	sub    $0xc0,%rsp
   0x00000001000a7a40 <+27>:	mov    0x4a8fe1(%rip),%rbx        # 0x100550a28 <user_signals>
   0x00000001000a7a47 <+34>:	test   %rbx,%rbx
   0x00000001000a7a4a <+37>:	je     0x1000a7aba <gobble_input+149>
   0x00000001000a7a4c <+39>:	xor    %r12d,%r12d
   0x00000001000a7a4f <+42>:	lea    0x44f39a(%rip),%r15        # 0x1004f6df0 <selected_frame>
   0x00000001000a7a56 <+49>:	lea    0x60(%rsp),%r14
   0x00000001000a7a5b <+54>:	cmpl   $0x0,0x10(%rbx)
   0x00000001000a7a5f <+58>:	jle    0x1000a7ab1 <gobble_input+140>
   0x00000001000a7a61 <+60>:	test   $0x1,%r12b
   0x00000001000a7a65 <+64>:	jne    0x1000a7a90 <gobble_input+107>
   0x00000001000a7a67 <+66>:	vxorps %ymm0,%ymm0,%ymm0
   0x00000001000a7a6b <+70>:	vmovaps %ymm0,0x80(%rsp)
   0x00000001000a7a74 <+79>:	vmovaps %ymm0,0x60(%rsp)
   0x00000001000a7a7a <+85>:	movl   $0x12,0x60(%rsp)
   0x00000001000a7a82 <+93>:	mov    (%r15),%rax
   0x00000001000a7a85 <+96>:	mov    %rax,0x90(%rsp)
   0x00000001000a7a8d <+104>:	mov    $0x1,%r12b
   0x00000001000a7a90 <+107>:	movslq (%rbx),%rax
   0x00000001000a7a93 <+110>:	mov    %rax,0x68(%rsp)
   0x00000001000a7a98 <+115>:	xor    %esi,%esi
   0x00000001000a7a9a <+117>:	mov    %r14,%rdi
   0x00000001000a7a9d <+120>:	vzeroupper 
   0x00000001000a7aa0 <+123>:	callq  0x1000abc5b <kbd_buffer_store_event_hold>
   0x00000001000a7aa5 <+128>:	mov    0x10(%rbx),%eax
   0x00000001000a7aa8 <+131>:	dec    %eax
   0x00000001000a7aaa <+133>:	mov    %eax,0x10(%rbx)
   0x00000001000a7aad <+136>:	test   %eax,%eax
   0x00000001000a7aaf <+138>:	jg     0x1000a7a90 <gobble_input+107>
   0x00000001000a7ab1 <+140>:	mov    0x18(%rbx),%rbx
   0x00000001000a7ab5 <+144>:	test   %rbx,%rbx
   0x00000001000a7ab8 <+147>:	jne    0x1000a7a5b <gobble_input+54>
   0x00000001000a7aba <+149>:	lea    0x4509bf(%rip),%rax        # 0x1004f8480 <terminal_list>
   0x00000001000a7ac1 <+156>:	mov    (%rax),%r13
   0x00000001000a7ac4 <+159>:	xor    %r12d,%r12d
   0x00000001000a7ac7 <+162>:	lea    0x20(%rsp),%r14
   0x00000001000a7acc <+167>:	mov    %r12d,%r15d
   0x00000001000a7acf <+170>:	jmp    0x1000a7adb <gobble_input+182>
   0x00000001000a7ad1 <+172>:	xor    %esi,%esi
   0x00000001000a7ad3 <+174>:	mov    %r14,%rdi
   0x00000001000a7ad6 <+177>:	callq  0x1000abc5b <kbd_buffer_store_event_hold>
   0x00000001000a7adb <+182>:	mov    %r12b,%cl
   0x00000001000a7ade <+185>:	mov    %r13,%rbx
   0x00000001000a7ae1 <+188>:	test   %rbx,%rbx
   0x00000001000a7ae4 <+191>:	je     0x1000a7b96 <gobble_input+369>
   0x00000001000a7aea <+197>:	mov    0x20(%rbx),%r13
   0x00000001000a7aee <+201>:	cmpq   $0x0,0x130(%rbx)
   0x00000001000a7af6 <+209>:	je     0x1000a7ade <gobble_input+185>
   0x00000001000a7af8 <+211>:	lea    0x450bd5(%rip),%rax        # 0x1004f86d4 <interrupt_input_blocked>
   0x00000001000a7aff <+218>:	cmpl   $0x0,(%rax)
   0x00000001000a7b02 <+221>:	jg     0x1000a7b8c <gobble_input+359>
   0x00000001000a7b08 <+227>:	mov    %cl,0x1f(%rsp)
   0x00000001000a7b0c <+231>:	vxorps %ymm0,%ymm0,%ymm0
   0x00000001000a7b10 <+235>:	vmovaps %ymm0,0x40(%rsp)
   0x00000001000a7b16 <+241>:	vmovaps %ymm0,0x20(%rsp)
   0x00000001000a7b1c <+247>:	movl   $0x0,0x20(%rsp)
   0x00000001000a7b24 <+255>:	mov    %r15d,%ecx
   0x00000001000a7b27 <+258>:	mov    %ecx,%r15d
   0x00000001000a7b2a <+261>:	mov    %rbx,%rdi
   0x00000001000a7b2d <+264>:	mov    %r14,%rsi
   0x00000001000a7b30 <+267>:	vzeroupper 
   0x00000001000a7b33 <+270>:	callq  *0x130(%rbx)
   0x00000001000a7b39 <+276>:	lea    (%rax,%r15,1),%ecx
   0x00000001000a7b3d <+280>:	test   %eax,%eax
   0x00000001000a7b3f <+282>:	jg     0x1000a7b27 <gobble_input+258>
   0x00000001000a7b41 <+284>:	mov    $0x1,%r12b
   0x00000001000a7b44 <+287>:	cmp    $0xffffffff,%eax
   0x00000001000a7b47 <+290>:	je     0x1000a7b7c <gobble_input+343>
   0x00000001000a7b49 <+292>:	cmp    $0xfffffffe,%eax
   0x00000001000a7b4c <+295>:	jne    0x1000a7b75 <gobble_input+336>
   0x00000001000a7b4e <+297>:	lea    0x45092b(%rip),%rax        # 0x1004f8480 <terminal_list>
   0x00000001000a7b55 <+304>:	mov    (%rax),%rax
   0x00000001000a7b58 <+307>:	cmpq   $0x0,0x20(%rax)
   0x00000001000a7b5d <+312>:	je     0x1000a7bc3 <gobble_input+414>
   0x00000001000a7b5f <+314>:	or     $0x5,%rbx
   0x00000001000a7b63 <+318>:	lea    0x44f176(%rip),%rax        # 0x1004f6ce0 <Qnoelisp>
   0x00000001000a7b6a <+325>:	mov    (%rax),%rsi
   0x00000001000a7b6d <+328>:	mov    %rbx,%rdi
   0x00000001000a7b70 <+331>:	callq  0x100095e71 <Fdelete_terminal>
   0x00000001000a7b75 <+336>:	mov    0x1f(%rsp),%al
   0x00000001000a7b79 <+340>:	mov    %al,%r12b
   0x00000001000a7b7c <+343>:	cmpl   $0x0,0x20(%rsp)
   0x00000001000a7b81 <+348>:	je     0x1000a7adb <gobble_input+182>
   0x00000001000a7b87 <+354>:	jmpq   0x1000a7ad1 <gobble_input+172>
   0x00000001000a7b8c <+359>:	lea    0x450bad(%rip),%rax        # 0x1004f8740 <pending_signals>
   0x00000001000a7b93 <+366>:	movb   $0x1,(%rax)
   0x00000001000a7b96 <+369>:	test   $0x1,%cl
   0x00000001000a7b99 <+372>:	sete   %al
   0x00000001000a7b9c <+375>:	test   %r15d,%r15d
   0x00000001000a7b9f <+378>:	setne  %cl
   0x00000001000a7ba2 <+381>:	or     %al,%cl
   0x00000001000a7ba4 <+383>:	mov    $0xffffffff,%ebx
   0x00000001000a7ba9 <+388>:	cmovne %r15d,%ebx
   0x00000001000a7bad <+392>:	callq  0x10001445b <frame_make_pointer_visible>
   0x00000001000a7bb2 <+397>:	mov    %ebx,%eax
   0x00000001000a7bb4 <+399>:	lea    -0x28(%rbp),%rsp
   0x00000001000a7bb8 <+403>:	pop    %rbx
   0x00000001000a7bb9 <+404>:	pop    %r12
   0x00000001000a7bbb <+406>:	pop    %r13
   0x00000001000a7bbd <+408>:	pop    %r14
   0x00000001000a7bbf <+410>:	pop    %r15
   0x00000001000a7bc1 <+412>:	pop    %rbp
   0x00000001000a7bc2 <+413>:	retq   
   0x00000001000a7bc3 <+414>:	mov    $0x1,%edi
   0x00000001000a7bc8 <+419>:	mov    $0xa,%esi
   0x00000001000a7bcd <+424>:	callq  0x1000a1d5f <terminate_due_to_signal>