Subject: bug#17171: closed (Re: bug#17171/18345: crash in ns_read_socket)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 03 Sep 2017 09:25:02 +0000

Your bug report

#17171: Non-reproable crash in ns_read_socket

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
17171: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17171
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#17171/18345: crash in ns_read_socket
From: Alan Third <[email-masked]>
To: Greg Smolyn <[email-masked]>
Cc: [email-masked]
Date: Sun, 03 Sep 2017 10:24:08 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Alan Third <[email-masked]> writes:

> Hi, sorry for taking so long to get back to you. Are you still
> experiencing these crashes and/or multiple character problems?

I believe these crashes were fixed in Emacs 26, if not 25. Since there's
been no response from either bug reporter, I'm going to close the bug.

If anyone is still seeing these crashes in Emacs 26, please let us know.
-- 
Alan Third

Subject: Non-reproable crash in ns_read_socket
From: Simon Carter <[email-masked]>
To: [email-masked]
Date: Wed, 2 Apr 2014 14:08:34 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

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>