bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#19303: 25.0.50; infinite loop (stack overflow) in mark_object


From: Sam Steingold
Subject: bug#19303: 25.0.50; infinite loop (stack overflow) in mark_object
Date: Tue, 09 Dec 2014 16:39:44 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (darwin)

> * Dmitry Antipov <qznagvcbi@lnaqrk.eh> [2014-12-09 20:29:53 +0300]:
>
> On 12/08/2014 04:42 PM, Sam Steingold wrote:
>
>> in a situation very similar to that of bug#19022 & bug#19133, I now get
>> this crash (this is git tip from dec 8 morning):
>> this seems to indicate an infinite recursion in GC.
>
>> Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
>> 0   libsystem_kernel.dylib           0x00007fff9555bc7e __kill + 10
>> 1   org.gnu.Emacs                    0x00000001000db933 emacs_abort + 19
>> 2   org.gnu.Emacs                    0x0000000100141c30 Fsignal + 1344
>> 3   org.gnu.Emacs                    0x0000000100141cd9 xsignal + 9
>> 4   org.gnu.Emacs                    0x000000010013fc6c xsignal1 + 28
>> 5   org.gnu.Emacs                    0x000000010010731d compile_pattern + 733
>> 6   org.gnu.Emacs                    0x0000000100107999 fast_string_match + 
>> 41
>> 7   org.gnu.Emacs                    0x00000001000f3acd 
>> Ffind_file_name_handler + 221
>> 8   org.gnu.Emacs                    0x00000001000f4389 Fexpand_file_name + 
>> 89
>> 9   org.gnu.Emacs                    0x00000001000fb7ae Fdo_auto_save + 286
>> 10  org.gnu.Emacs                    0x00000001000bdabf shut_down_emacs + 239
>> 11  org.gnu.Emacs                    0x00000001000bd8b9 
>> terminate_due_to_signal + 89
>> 12  org.gnu.Emacs                    0x00000001000dd3e6 
>> deliver_fatal_thread_signal + 134
>> 13  org.gnu.Emacs                    0x00000001000de166 handle_sigsegv + 150
>> 14  libsystem_platform.dylib         0x00007fff9789cf1a _sigtramp + 26
>> 15  ???                              000000000000000000 0 + 0
>> 16  org.gnu.Emacs                    0x0000000100124b19 mark_object + 1033
>> 17  org.gnu.Emacs                    0x0000000100124b19 mark_object + 1033
>> 18  org.gnu.Emacs                    0x0000000100124b19 mark_object + 1033
>> 19  org.gnu.Emacs                    0x0000000100124b19 mark_object + 1033
>> 20  org.gnu.Emacs                    0x0000000100124b19 mark_object + 1033
>
> Could you please disassemble mark_object? I think we can have nasty issue
> somewhat similar to http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16986#32.

here you go:

(lldb) di -n mark_object
emacs`mark_object at alloc.c:6157:
emacs[0x100124710]:  pushq  %rbp
emacs[0x100124711]:  movq   %rsp, %rbp
emacs[0x100124714]:  pushq  %r15
emacs[0x100124716]:  pushq  %r14
emacs[0x100124718]:  pushq  %r13
emacs[0x10012471a]:  pushq  %r12
emacs[0x10012471c]:  pushq  %rbx
emacs[0x10012471d]:  pushq  %rax
emacs[0x10012471e]:  xorl   %r8d, %r8d
emacs[0x100124721]:  leaq   0x820(%rip), %r14         ; mark_object + 2104
emacs[0x100124728]:  movabsq $0x4000000000000000, %rbx
emacs[0x100124732]:  leaq   0x83f(%rip), %r9          ; mark_object + 2152
emacs[0x100124739]:  leaq   0x443cc8(%rip), %r10      ; mark_object_loop_halt
emacs[0x100124740]:  xorl   %eax, %eax
emacs[0x100124742]:  movq   %rax, %r15
emacs[0x100124745]:  movq   %rdi, %r13
emacs[0x100124748]:  movq   %r13, %rax
emacs[0x10012474b]:  andq   $-0x8, %rax
emacs[0x10012474f]:  subq   0x4c8262(%rip), %rax      ; purebeg
emacs[0x100124756]:  cmpq   0x4c8263(%rip), %rax      ; pure_size
emacs[0x10012475d]:  jbe    0x100124eff               ; mark_object + 2031 at 
alloc.c:6471
emacs[0x100124763]:  movl   0x4c82af(%rip), %eax      ; last_marked_index
emacs[0x100124769]:  incl   %eax
emacs[0x10012476b]:  cmpl   $0x1f4, %eax
emacs[0x100124770]:  cmovel %r8d, %eax
emacs[0x100124774]:  movl   %eax, 0x4c829e(%rip)      ; last_marked_index
emacs[0x10012477a]:  movl   %r13d, %eax
emacs[0x10012477d]:  andl   $0x7, %eax
emacs[0x100124780]:  cmpl   $0x7, %eax
emacs[0x100124783]:  ja     0x100124b27               ; mark_object + 1047 at 
alloc.c:6465
emacs[0x100124789]:  movslq (%r14,%rax,4), %rax
emacs[0x10012478d]:  addq   %r14, %rax
emacs[0x100124790]:  jmpq   *%rax
emacs[0x100124792]:  movq   -0x5(%r13), %r12
emacs[0x100124796]:  testq  %r12, %r12
emacs[0x100124799]:  js     0x100124eff               ; mark_object + 2031 at 
alloc.c:6471
emacs[0x10012479f]:  addq   $-0x5, %r13
emacs[0x1001247a3]:  movq   %r12, %rax
emacs[0x1001247a6]:  andq   %rbx, %rax
emacs[0x1001247a9]:  je     0x100124adf               ; mark_object + 975 at 
alloc.c:6458
emacs[0x1001247af]:  movq   %r12, %rcx
emacs[0x1001247b2]:  shrq   $0x18, %rcx
emacs[0x1001247b6]:  andq   $0x3f, %rcx
emacs[0x1001247ba]:  leaq   -0x1(%rcx), %rdx
emacs[0x1001247be]:  cmpq   $0xd, %rdx
emacs[0x1001247c2]:  ja     0x100124adf               ; mark_object + 975 at 
alloc.c:6458
emacs[0x1001247c8]:  movslq (%r9,%rdx,4), %rdx
emacs[0x1001247cc]:  addq   %r9, %rdx
emacs[0x1001247cf]:  jmpq   *%rdx
emacs[0x1001247d1]:  movq   %r13, %rdi
emacs[0x1001247d4]:  movq   %r9, %r12
emacs[0x1001247d7]:  movq   %r10, %r13
emacs[0x1001247da]:  callq  0x100125140               ; mark_compiled at 
alloc.c:6004
emacs[0x1001247df]:  movq   %r13, %r10
emacs[0x1001247e2]:  movq   %r12, %r9
emacs[0x1001247e5]:  xorl   %r8d, %r8d
emacs[0x1001247e8]:  movq   %rax, %r13
emacs[0x1001247eb]:  leaq   0x453f56(%rip), %rax      ; Qnil
emacs[0x1001247f2]:  cmpq   %r13, (%rax)
emacs[0x1001247f5]:  jne    0x100124748               ; mark_object + 56 
[inlined] XPNTR at alloc.c:6167
mark_object + 56 at alloc.c:6167
emacs[0x1001247fb]:  jmp    0x100124eff               ; mark_object + 2031 at 
alloc.c:6471
emacs[0x100124800]:  addq   $-0x6, %r13
emacs[0x100124804]:  movq   %r13, %rcx
emacs[0x100124807]:  shrq   $0x4, %rcx
emacs[0x10012480b]:  movq   %r13, %rax
emacs[0x10012480e]:  andq   $-0x400, %rax
emacs[0x100124814]:  movq   0x3e0(%rax), %rdx
emacs[0x10012481b]:  movl   $0x1, %esi
emacs[0x100124820]:  shlq   %cl, %rsi
emacs[0x100124823]:  andb   $0x3f, %cl
emacs[0x100124826]:  movzbl %cl, %ecx
emacs[0x100124829]:  btq    %rcx, %rdx
emacs[0x10012482d]:  jb     0x100124eff               ; mark_object + 2031 at 
alloc.c:6471
emacs[0x100124833]:  orq    %rsi, %rdx
emacs[0x100124836]:  movq   %rdx, 0x3e0(%rax)
emacs[0x10012483d]:  movq   (%r13), %rdi
emacs[0x100124841]:  movq   0x8(%r13), %rax
emacs[0x100124845]:  leaq   0x453efc(%rip), %rcx      ; Qnil
emacs[0x10012484c]:  cmpq   (%rcx), %rax
emacs[0x10012484f]:  movl   $0x0, %eax
emacs[0x100124854]:  je     0x100124742               ; mark_object + 50 at 
alloc.c:6451
emacs[0x10012485a]:  movq   %r10, %r12
emacs[0x10012485d]:  callq  0x100124710               ; mark_object at 
alloc.c:6157
emacs[0x100124862]:  movq   %r12, %r10
emacs[0x100124865]:  leaq   0x70c(%rip), %r9          ; mark_object + 2152
emacs[0x10012486c]:  xorl   %r8d, %r8d
emacs[0x10012486f]:  movq   0x8(%r13), %rdi
emacs[0x100124873]:  incq   %r15
emacs[0x100124876]:  cmpq   (%r10), %r15
emacs[0x100124879]:  movq   %r15, %rax
emacs[0x10012487c]:  jne    0x100124742               ; mark_object + 50 at 
alloc.c:6451
emacs[0x100124882]:  jmp    0x100124f3c               ; mark_object + 2092 at 
alloc.c:6452
emacs[0x100124887]:  movq   %r12, %rax
emacs[0x10012488a]:  movabsq $-0x8000000000000000, %rcx
emacs[0x100124894]:  orq    %rcx, %rax
emacs[0x100124897]:  movq   %rax, (%r13)
emacs[0x10012489b]:  testw  $0xfff, %r12w
emacs[0x1001248a1]:  je     0x1001248c2               ; mark_object + 434 at 
alloc.c:6328
emacs[0x1001248a3]:  leaq   0x8(%r13), %r15
emacs[0x1001248a7]:  andq   $0xfff, %r12
emacs[0x1001248ae]:  movq   (%r15), %rax
emacs[0x1001248b1]:  movq   %rax, %rdi
emacs[0x1001248b4]:  callq  0x100124710               ; mark_object at 
alloc.c:6157
emacs[0x1001248b9]:  addq   $0x8, %r15
emacs[0x1001248bd]:  decq   %r12
emacs[0x1001248c0]:  jne    0x1001248ae               ; mark_object + 414 
[inlined] mark_vectorlike + 39 at alloc.c:6327
mark_object + 375 at alloc.c:6327
emacs[0x1001248c2]:  movq   0x50(%r13), %rax
emacs[0x1001248c6]:  movq   %rax, %rdi
emacs[0x1001248c9]:  callq  0x100124710               ; mark_object at 
alloc.c:6157
emacs[0x1001248ce]:  movq   0x58(%r13), %rax
emacs[0x1001248d2]:  movq   %rax, %rdi
emacs[0x1001248d5]:  callq  0x100124710               ; mark_object at 
alloc.c:6157
emacs[0x1001248da]:  movq   0x60(%r13), %rax
emacs[0x1001248de]:  movq   %rax, %rdi
emacs[0x1001248e1]:  callq  0x100124710               ; mark_object at 
alloc.c:6157
emacs[0x1001248e6]:  leaq   0x453e5b(%rip), %rax      ; Qnil
emacs[0x1001248ed]:  movq   (%rax), %rax
emacs[0x1001248f0]:  cmpq   0x8(%r13), %rax
emacs[0x1001248f4]:  movq   0x48(%r13), %rdi
emacs[0x1001248f8]:  movl   $0x0, %eax
emacs[0x1001248fd]:  movl   $0x0, %r8d
emacs[0x100124903]:  leaq   0x66e(%rip), %rcx         ; mark_object + 2152
emacs[0x10012490a]:  movq   %rcx, %r9
emacs[0x10012490d]:  leaq   0x443af4(%rip), %rcx      ; mark_object_loop_halt
emacs[0x100124914]:  movq   %rcx, %r10
emacs[0x100124917]:  je     0x100124742               ; mark_object + 50 at 
alloc.c:6451
emacs[0x10012491d]:  movabsq $-0x8000000000000000, %rax
emacs[0x100124927]:  orq    %rax, -0x5(%rdi)
emacs[0x10012492b]:  jmp    0x100124eff               ; mark_object + 2031 at 
alloc.c:6471
emacs[0x100124930]:  movq   -0x1(%r13), %rax
emacs[0x100124934]:  testq  %rax, %rax
emacs[0x100124937]:  js     0x100124eff               ; mark_object + 2031 at 
alloc.c:6471
emacs[0x10012493d]:  movabsq $-0x8000000000000000, %rcx
emacs[0x100124947]:  orq    %rcx, %rax
emacs[0x10012494a]:  movq   %rax, -0x1(%r13)
emacs[0x10012494e]:  movq   0xf(%r13), %rdi
emacs[0x100124952]:  testq  %rdi, %rdi
emacs[0x100124955]:  je     0x100124eff               ; mark_object + 2031 at 
alloc.c:6471
emacs[0x10012495b]:  testb  $0x2, 0x28(%rdi)
emacs[0x10012495f]:  jne    0x100124eff               ; mark_object + 2031 at 
alloc.c:6471
emacs[0x100124965]:  leaq   0x453ddc(%rip), %rax      ; Qnil
emacs[0x10012496c]:  movq   (%rax), %rdx
emacs[0x10012496f]:  leaq   0x63a(%rip), %rsi         ; mark_interval at 
alloc.c:1345
emacs[0x100124976]:  addq   $0x8, %rsp
emacs[0x10012497a]:  popq   %rbx
emacs[0x10012497b]:  popq   %r12
emacs[0x10012497d]:  popq   %r13
emacs[0x10012497f]:  popq   %r14
emacs[0x100124981]:  popq   %r15
emacs[0x100124983]:  popq   %rbp
emacs[0x100124984]:  jmp    0x100191960               ; 
traverse_intervals_noorder at intervals.c:231
emacs[0x100124989]:  addq   $-0x2, %r13
emacs[0x10012498d]:  leaq   0x5d4(%rip), %r15         ; mark_object + 2136
emacs[0x100124994]:  leaq   0x615(%rip), %r14         ; mark_interval at 
alloc.c:1345
emacs[0x10012499b]:  nopl   (%rax,%rax)
emacs[0x1001249a0]:  movzwl (%r13), %eax
emacs[0x1001249a5]:  testb  $0x1, %al
emacs[0x1001249a7]:  jne    0x100124eff               ; mark_object + 2031 at 
alloc.c:6471
emacs[0x1001249ad]:  orl    $0x1, %eax
emacs[0x1001249b0]:  movw   %ax, (%r13)
emacs[0x1001249b5]:  movq   0x18(%r13), %rdi
emacs[0x1001249b9]:  callq  0x100124710               ; mark_object at 
alloc.c:6157
emacs[0x1001249be]:  movq   0x20(%r13), %rdi
emacs[0x1001249c2]:  callq  0x100124710               ; mark_object at 
alloc.c:6157
emacs[0x1001249c7]:  movzwl (%r13), %eax
emacs[0x1001249cc]:  shrl   %eax
emacs[0x1001249ce]:  andl   $0x7, %eax
emacs[0x1001249d1]:  decl   %eax
emacs[0x1001249d3]:  cmpl   $0x3, %eax
emacs[0x1001249d6]:  ja     0x100124b2c               ; mark_object + 1052 at 
alloc.c:6393
emacs[0x1001249dc]:  movslq (%r15,%rax,4), %rax
emacs[0x1001249e0]:  addq   %r15, %rax
emacs[0x1001249e3]:  jmpq   *%rax
emacs[0x1001249e5]:  movq   0x10(%r13), %rdi
emacs[0x1001249e9]:  orq    $0x2, %rdi
emacs[0x1001249ed]:  jmp    0x100124a04               ; mark_object + 756 at 
alloc.c:6376
emacs[0x1001249ef]:  nop    
emacs[0x1001249f0]:  movq   %r13, %rdi
emacs[0x1001249f3]:  callq  0x100125500               ; mark_localized_symbol 
at alloc.c:6081
emacs[0x1001249f8]:  jmp    0x100124a09               ; mark_object + 761 at 
alloc.c:6395
emacs[0x1001249fa]:  nopw   (%rax,%rax)
emacs[0x100124a00]:  movq   0x10(%r13), %rdi
emacs[0x100124a04]:  callq  0x100124710               ; mark_object at 
alloc.c:6157
emacs[0x100124a09]:  movq   0x8(%r13), %rax
emacs[0x100124a0d]:  decq   %rax
emacs[0x100124a10]:  movq   %rax, %rcx
emacs[0x100124a13]:  subq   0x4c7f9e(%rip), %rcx      ; purebeg
emacs[0x100124a1a]:  cmpq   0x4c7f9f(%rip), %rcx      ; pure_size
emacs[0x100124a21]:  jbe    0x100124a30               ; mark_object + 800 
[inlined] string_intervals at alloc.c:6397
mark_object + 800 at alloc.c:6397
emacs[0x100124a23]:  movabsq $-0x8000000000000000, %rcx
emacs[0x100124a2d]:  orq    %rcx, (%rax)
emacs[0x100124a30]:  movq   0x10(%rax), %rdi
emacs[0x100124a34]:  testq  %rdi, %rdi
emacs[0x100124a37]:  je     0x100124a51               ; mark_object + 833 at 
alloc.c:6399
emacs[0x100124a39]:  testb  $0x2, 0x28(%rdi)
emacs[0x100124a3d]:  jne    0x100124a51               ; mark_object + 833 at 
alloc.c:6399
emacs[0x100124a3f]:  leaq   0x453d02(%rip), %rax      ; Qnil
emacs[0x100124a46]:  movq   (%rax), %rdx
emacs[0x100124a49]:  movq   %r14, %rsi
emacs[0x100124a4c]:  callq  0x100191960               ; 
traverse_intervals_noorder at intervals.c:231
emacs[0x100124a51]:  movq   0x28(%r13), %r13
emacs[0x100124a55]:  testq  %r13, %r13
emacs[0x100124a58]:  jne    0x1001249a0               ; mark_object + 656 at 
alloc.c:6366
emacs[0x100124a5e]:  jmp    0x100124eff               ; mark_object + 2031 at 
alloc.c:6471
emacs[0x100124a63]:  movl   -0x3(%r13), %eax
emacs[0x100124a67]:  testl  $0x10000, %eax
emacs[0x100124a6c]:  jne    0x100124eff               ; mark_object + 2031 at 
alloc.c:6471
emacs[0x100124a72]:  addq   $-0x3, %r13
emacs[0x100124a76]:  movzwl %ax, %ecx
emacs[0x100124a79]:  cmpl   $0x5eae, %ecx
emacs[0x100124a7f]:  je     0x100124b76               ; mark_object + 1126 at 
alloc.c:6421
emacs[0x100124a85]:  cmpl   $0x5ead, %ecx
emacs[0x100124a8b]:  je     0x100124b5d               ; mark_object + 1101 
[inlined] mark_overlay + 44 at alloc.c:6426
mark_object + 1057 at alloc.c:6426
emacs[0x100124a91]:  cmpl   $0x5eac, %ecx
emacs[0x100124a97]:  jne    0x100124f41               ; mark_object + 2097 at 
alloc.c:6430
emacs[0x100124a9d]:  orl    $0x10000, %eax
emacs[0x100124aa2]:  movl   %eax, (%r13)
emacs[0x100124aa6]:  jmp    0x100124eff               ; mark_object + 2031 at 
alloc.c:6471
emacs[0x100124aab]:  addq   $-0x7, %r13
emacs[0x100124aaf]:  movq   %r13, %rcx
emacs[0x100124ab2]:  shrq   $0x3, %rcx
emacs[0x100124ab6]:  movl   $0x1, %eax
emacs[0x100124abb]:  shlq   %cl, %rax
emacs[0x100124abe]:  movq   %r13, %rcx
emacs[0x100124ac1]:  shrq   $0x6, %rcx
emacs[0x100124ac5]:  andq   $-0x400, %r13
emacs[0x100124acc]:  andq   $0x8, %rcx
emacs[0x100124ad0]:  orq    %r13, %rcx
emacs[0x100124ad3]:  orq    %rax, 0x3e0(%rcx)
emacs[0x100124ada]:  jmp    0x100124eff               ; mark_object + 2031 at 
alloc.c:6471
emacs[0x100124adf]:  movabsq $-0x8000000000000000, %rcx
emacs[0x100124ae9]:  orq    %r12, %rcx
emacs[0x100124aec]:  movq   %r12, %rbx
emacs[0x100124aef]:  andq   $0xfff, %rbx
emacs[0x100124af6]:  testq  %rax, %rax
emacs[0x100124af9]:  movq   %rcx, (%r13)
emacs[0x100124afd]:  cmoveq %r12, %rbx
emacs[0x100124b01]:  testq  %rbx, %rbx
emacs[0x100124b04]:  jle    0x100124eff               ; mark_object + 2031 at 
alloc.c:6471
emacs[0x100124b0a]:  addq   $0x8, %r13
emacs[0x100124b0e]:  nop    
emacs[0x100124b10]:  movq   (%r13), %rdi
emacs[0x100124b14]:  callq  0x100124710               ; mark_object at 
alloc.c:6157
emacs[0x100124b19]:  addq   $0x8, %r13
emacs[0x100124b1d]:  decq   %rbx
emacs[0x100124b20]:  jne    0x100124b10               ; mark_object + 1024 
[inlined] mark_vectorlike + 39 at alloc.c:6357
mark_object + 985 at alloc.c:6357
emacs[0x100124b22]:  jmp    0x100124eff               ; mark_object + 2031 at 
alloc.c:6471
emacs[0x100124b27]:  callq  0x1000db920               ; emacs_abort at 
sysdep.c:2284
emacs[0x100124b2c]:  callq  0x1000db920               ; emacs_abort at 
sysdep.c:2284
emacs[0x100124b31]:  orl    $0x10000, %eax
emacs[0x100124b36]:  movl   %eax, (%r13)
emacs[0x100124b3a]:  movq   0x10(%r13), %rax
emacs[0x100124b3e]:  orl    $0x10000, -0x3(%rax)
emacs[0x100124b45]:  movq   0x18(%r13), %rax
emacs[0x100124b49]:  orl    $0x10000, -0x3(%rax)
emacs[0x100124b50]:  movq   0x20(%r13), %rdi
emacs[0x100124b54]:  callq  0x100124710               ; mark_object at 
alloc.c:6157
emacs[0x100124b59]:  movq   0x8(%r13), %r13
emacs[0x100124b5d]:  testq  %r13, %r13
emacs[0x100124b60]:  je     0x100124eff               ; mark_object + 2031 at 
alloc.c:6471
emacs[0x100124b66]:  movl   (%r13), %eax
emacs[0x100124b6a]:  testl  $0x10000, %eax
emacs[0x100124b6f]:  je     0x100124b31               ; mark_object + 1057 
[inlined] mark_overlay at alloc.c:6426
mark_object + 1057 at alloc.c:6426
emacs[0x100124b71]:  jmp    0x100124eff               ; mark_object + 2031 at 
alloc.c:6471
emacs[0x100124b76]:  orl    $0x10000, %eax
emacs[0x100124b7b]:  movl   %eax, (%r13)
emacs[0x100124b7f]:  movq   %r13, %rdi
emacs[0x100124b82]:  addq   $0x8, %rsp
emacs[0x100124b86]:  popq   %rbx
emacs[0x100124b87]:  popq   %r12
emacs[0x100124b89]:  popq   %r13
emacs[0x100124b8b]:  popq   %r14
emacs[0x100124b8d]:  popq   %r15
emacs[0x100124b8f]:  popq   %rbp
emacs[0x100124b90]:  jmp    0x100125590               ; mark_save_value at 
alloc.c:6099
emacs[0x100124b95]:  callq  0x1000db920               ; emacs_abort at 
sysdep.c:2284
emacs[0x100124b9a]:  movq   %rbx, %r14
emacs[0x100124b9d]:  movq   %r12, %rax
emacs[0x100124ba0]:  movabsq $-0x8000000000000000, %rcx
emacs[0x100124baa]:  orq    %rcx, %rax
emacs[0x100124bad]:  movq   %rax, (%r13)
emacs[0x100124bb1]:  testw  $0xfff, %r12w
emacs[0x100124bb7]:  je     0x100124bd8               ; mark_object + 1224 at 
alloc.c:6284
emacs[0x100124bb9]:  leaq   0x8(%r13), %rbx
emacs[0x100124bbd]:  andq   $0xfff, %r12
emacs[0x100124bc4]:  movq   (%rbx), %rax
emacs[0x100124bc7]:  movq   %rax, %rdi
emacs[0x100124bca]:  callq  0x100124710               ; mark_object at 
alloc.c:6157
emacs[0x100124bcf]:  addq   $0x8, %rbx
emacs[0x100124bd3]:  decq   %r12
emacs[0x100124bd6]:  jne    0x100124bc4               ; mark_object + 1204 
[inlined] mark_vectorlike + 39 at alloc.c:6283
mark_object + 1165 at alloc.c:6283
emacs[0x100124bd8]:  movq   0x90(%r13), %rax
emacs[0x100124bdf]:  movq   %rax, %rdi
emacs[0x100124be2]:  callq  0x1001251b0               ; mark_face_cache at 
alloc.c:6058
emacs[0x100124be7]:  movl   $0x3800000, %eax
emacs[0x100124bec]:  andq   0xc0(%r13), %rax
emacs[0x100124bf3]:  cmpq   $0x2800000, %rax
emacs[0x100124bf9]:  movq   %r14, %rdx
emacs[0x100124bfc]:  jne    0x100124eff               ; mark_object + 2031 at 
alloc.c:6471
emacs[0x100124c02]:  movq   0x178(%r13), %rax
emacs[0x100124c09]:  testq  %rax, %rax
emacs[0x100124c0c]:  je     0x100124eff               ; mark_object + 2031 at 
alloc.c:6471
emacs[0x100124c12]:  movq   0x80(%rax), %rbx
emacs[0x100124c19]:  testq  %rbx, %rbx
emacs[0x100124c1c]:  je     0x100124eff               ; mark_object + 2031 at 
alloc.c:6471
emacs[0x100124c22]:  movq   (%rbx), %rax
emacs[0x100124c25]:  testq  %rax, %rax
emacs[0x100124c28]:  js     0x100124eff               ; mark_object + 2031 at 
alloc.c:6471
emacs[0x100124c2e]:  movabsq $-0x8000000000000000, %rcx
emacs[0x100124c38]:  orq    %rax, %rcx
emacs[0x100124c3b]:  movq   %rcx, (%rbx)
emacs[0x100124c3e]:  movq   %rax, %r14
emacs[0x100124c41]:  andq   $0xfff, %r14
emacs[0x100124c48]:  testq  %rdx, %rax
emacs[0x100124c4b]:  cmoveq %rax, %r14
emacs[0x100124c4f]:  testq  %r14, %r14
emacs[0x100124c52]:  jle    0x100124eff               ; mark_object + 2031 at 
alloc.c:6471
emacs[0x100124c58]:  addq   $0x8, %rbx
emacs[0x100124c5c]:  movq   (%rbx), %rax
emacs[0x100124c5f]:  movq   %rax, %rdi
emacs[0x100124c62]:  callq  0x100124710               ; mark_object at 
alloc.c:6157
emacs[0x100124c67]:  addq   $0x8, %rbx
emacs[0x100124c6b]:  decq   %r14
emacs[0x100124c6e]:  jne    0x100124c5c               ; mark_object + 1356 
[inlined] mark_vectorlike + 36 at alloc.c:6291
mark_object + 1320 at alloc.c:6291
emacs[0x100124c70]:  jmp    0x100124eff               ; mark_object + 2031 at 
alloc.c:6471
emacs[0x100124c75]:  movabsq $-0x8000000000000000, %rax
emacs[0x100124c7f]:  orq    %r12, %rax
emacs[0x100124c82]:  movq   %rax, (%r13)
emacs[0x100124c86]:  testw  $0xfff, %r12w
emacs[0x100124c8c]:  je     0x100124cad               ; mark_object + 1437 at 
alloc.c:6306
emacs[0x100124c8e]:  leaq   0x8(%r13), %rbx
emacs[0x100124c92]:  andq   $0xfff, %r12
emacs[0x100124c99]:  movq   (%rbx), %rax
emacs[0x100124c9c]:  movq   %rax, %rdi
emacs[0x100124c9f]:  callq  0x100124710               ; mark_object at 
alloc.c:6157
emacs[0x100124ca4]:  addq   $0x8, %rbx
emacs[0x100124ca8]:  decq   %r12
emacs[0x100124cab]:  jne    0x100124c99               ; mark_object + 1417 
[inlined] mark_vectorlike + 26 at alloc.c:6301
mark_object + 1391 at alloc.c:6301
emacs[0x100124cad]:  movq   0xc0(%r13), %rax
emacs[0x100124cb4]:  testq  %rax, %rax
emacs[0x100124cb7]:  je     0x100124ec0               ; mark_object + 1968 at 
alloc.c:6317
emacs[0x100124cbd]:  movslq 0x18(%rax), %r14
emacs[0x100124cc1]:  testq  %r14, %r14
emacs[0x100124cc4]:  jle    0x100124dbb               ; mark_object + 1707 at 
alloc.c:6309
emacs[0x100124cca]:  movq   0x8(%rax), %r15
emacs[0x100124cce]:  shlq   $0x8, %r14
emacs[0x100124cd2]:  addq   %r15, %r14
emacs[0x100124cd5]:  testb  $0x4, 0xed(%r15)
emacs[0x100124cdd]:  je     0x100124dab               ; mark_object + 1691 
[inlined] mark_glyph_matrix + 238 at alloc.c:6308
mark_object + 1453 at alloc.c:6308
emacs[0x100124ce3]:  movswq 0x20(%r15), %rax
emacs[0x100124ce8]:  testq  %rax, %rax
emacs[0x100124ceb]:  jle    0x100124d25               ; mark_object + 1557 
[inlined] mark_glyph_matrix + 104 at alloc.c:6308
mark_object + 1453 at alloc.c:6308
emacs[0x100124ced]:  movq   (%r15), %r12
emacs[0x100124cf0]:  leaq   (%rax,%rax,2), %rbx
emacs[0x100124cf4]:  shlq   $0x4, %rbx
emacs[0x100124cf8]:  addq   %r12, %rbx
emacs[0x100124cfb]:  movq   0x8(%r12), %rax
emacs[0x100124d00]:  movq   %rax, %rcx
emacs[0x100124d03]:  andq   $0x7, %rcx
emacs[0x100124d07]:  cmpq   $0x1, %rcx
emacs[0x100124d0b]:  jne    0x100124d1c               ; mark_object + 1548 
[inlined] mark_glyph_matrix + 95 at alloc.c:6308
mark_object + 1453 at alloc.c:6308
emacs[0x100124d0d]:  cmpq   $0x0, -0x1(%rax)
emacs[0x100124d12]:  js     0x100124d1c               ; mark_object + 1548 
[inlined] mark_glyph_matrix + 95 at alloc.c:6308
mark_object + 1453 at alloc.c:6308
emacs[0x100124d14]:  movq   %rax, %rdi
emacs[0x100124d17]:  callq  0x100124710               ; mark_object at 
alloc.c:6157
emacs[0x100124d1c]:  addq   $0x30, %r12
emacs[0x100124d20]:  cmpq   %rbx, %r12
emacs[0x100124d23]:  jb     0x100124cfb               ; mark_object + 1515 
[inlined] mark_glyph_matrix + 62 at alloc.c:6308
mark_object + 1453 at alloc.c:6308
emacs[0x100124d25]:  movswq 0x22(%r15), %rax
emacs[0x100124d2a]:  testq  %rax, %rax
emacs[0x100124d2d]:  jle    0x100124d68               ; mark_object + 1624 
[inlined] mark_glyph_matrix + 171 at alloc.c:6308
mark_object + 1453 at alloc.c:6308
emacs[0x100124d2f]:  movq   0x8(%r15), %r12
emacs[0x100124d33]:  leaq   (%rax,%rax,2), %rbx
emacs[0x100124d37]:  shlq   $0x4, %rbx
emacs[0x100124d3b]:  addq   %r12, %rbx
emacs[0x100124d3e]:  movq   0x8(%r12), %rax
emacs[0x100124d43]:  movq   %rax, %rcx
emacs[0x100124d46]:  andq   $0x7, %rcx
emacs[0x100124d4a]:  cmpq   $0x1, %rcx
emacs[0x100124d4e]:  jne    0x100124d5f               ; mark_object + 1615 
[inlined] mark_glyph_matrix + 162 at alloc.c:6308
mark_object + 1453 at alloc.c:6308
emacs[0x100124d50]:  cmpq   $0x0, -0x1(%rax)
emacs[0x100124d55]:  js     0x100124d5f               ; mark_object + 1615 
[inlined] mark_glyph_matrix + 162 at alloc.c:6308
mark_object + 1453 at alloc.c:6308
emacs[0x100124d57]:  movq   %rax, %rdi
emacs[0x100124d5a]:  callq  0x100124710               ; mark_object at 
alloc.c:6157
emacs[0x100124d5f]:  addq   $0x30, %r12
emacs[0x100124d63]:  cmpq   %rbx, %r12
emacs[0x100124d66]:  jb     0x100124d3e               ; mark_object + 1582 
[inlined] mark_glyph_matrix + 129 at alloc.c:6308
mark_object + 1453 at alloc.c:6308
emacs[0x100124d68]:  movswq 0x24(%r15), %rax
emacs[0x100124d6d]:  testq  %rax, %rax
emacs[0x100124d70]:  jle    0x100124dab               ; mark_object + 1691 
[inlined] mark_glyph_matrix + 238 at alloc.c:6308
mark_object + 1453 at alloc.c:6308
emacs[0x100124d72]:  movq   0x10(%r15), %r12
emacs[0x100124d76]:  leaq   (%rax,%rax,2), %rbx
emacs[0x100124d7a]:  shlq   $0x4, %rbx
emacs[0x100124d7e]:  addq   %r12, %rbx
emacs[0x100124d81]:  movq   0x8(%r12), %rax
emacs[0x100124d86]:  movq   %rax, %rcx
emacs[0x100124d89]:  andq   $0x7, %rcx
emacs[0x100124d8d]:  cmpq   $0x1, %rcx
emacs[0x100124d91]:  jne    0x100124da2               ; mark_object + 1682 
[inlined] mark_glyph_matrix + 229 at alloc.c:6308
mark_object + 1453 at alloc.c:6308
emacs[0x100124d93]:  cmpq   $0x0, -0x1(%rax)
emacs[0x100124d98]:  js     0x100124da2               ; mark_object + 1682 
[inlined] mark_glyph_matrix + 229 at alloc.c:6308
mark_object + 1453 at alloc.c:6308
emacs[0x100124d9a]:  movq   %rax, %rdi
emacs[0x100124d9d]:  callq  0x100124710               ; mark_object at 
alloc.c:6157
emacs[0x100124da2]:  addq   $0x30, %r12
emacs[0x100124da6]:  cmpq   %rbx, %r12
emacs[0x100124da9]:  jb     0x100124d81               ; mark_object + 1649 
[inlined] mark_glyph_matrix + 196 at alloc.c:6308
mark_object + 1453 at alloc.c:6308
emacs[0x100124dab]:  addq   $0x100, %r15
emacs[0x100124db2]:  cmpq   %r14, %r15
emacs[0x100124db5]:  jb     0x100124cd5               ; mark_object + 1477 
[inlined] mark_glyph_matrix + 24 at alloc.c:6308
mark_object + 1453 at alloc.c:6308
emacs[0x100124dbb]:  movq   0xc8(%r13), %rax
emacs[0x100124dc2]:  movslq 0x18(%rax), %r14
emacs[0x100124dc6]:  testq  %r14, %r14
emacs[0x100124dc9]:  jle    0x100124ec0               ; mark_object + 1968 at 
alloc.c:6317
emacs[0x100124dcf]:  movq   0x8(%rax), %r15
emacs[0x100124dd3]:  shlq   $0x8, %r14
emacs[0x100124dd7]:  addq   %r15, %r14
emacs[0x100124dda]:  testb  $0x4, 0xed(%r15)
emacs[0x100124de2]:  je     0x100124eb0               ; mark_object + 1952 
[inlined] mark_glyph_matrix + 238 at alloc.c:6309
mark_object + 1714 at alloc.c:6309
emacs[0x100124de8]:  movswq 0x20(%r15), %rax
emacs[0x100124ded]:  testq  %rax, %rax
emacs[0x100124df0]:  jle    0x100124e2a               ; mark_object + 1818 
[inlined] mark_glyph_matrix + 104 at alloc.c:6309
mark_object + 1714 at alloc.c:6309
emacs[0x100124df2]:  movq   (%r15), %r12
emacs[0x100124df5]:  leaq   (%rax,%rax,2), %rbx
emacs[0x100124df9]:  shlq   $0x4, %rbx
emacs[0x100124dfd]:  addq   %r12, %rbx
emacs[0x100124e00]:  movq   0x8(%r12), %rax
emacs[0x100124e05]:  movq   %rax, %rcx
emacs[0x100124e08]:  andq   $0x7, %rcx
emacs[0x100124e0c]:  cmpq   $0x1, %rcx
emacs[0x100124e10]:  jne    0x100124e21               ; mark_object + 1809 
[inlined] mark_glyph_matrix + 95 at alloc.c:6309
mark_object + 1714 at alloc.c:6309
emacs[0x100124e12]:  cmpq   $0x0, -0x1(%rax)
emacs[0x100124e17]:  js     0x100124e21               ; mark_object + 1809 
[inlined] mark_glyph_matrix + 95 at alloc.c:6309
mark_object + 1714 at alloc.c:6309
emacs[0x100124e19]:  movq   %rax, %rdi
emacs[0x100124e1c]:  callq  0x100124710               ; mark_object at 
alloc.c:6157
emacs[0x100124e21]:  addq   $0x30, %r12
emacs[0x100124e25]:  cmpq   %rbx, %r12
emacs[0x100124e28]:  jb     0x100124e00               ; mark_object + 1776 
[inlined] mark_glyph_matrix + 62 at alloc.c:6309
mark_object + 1714 at alloc.c:6309
emacs[0x100124e2a]:  movswq 0x22(%r15), %rax
emacs[0x100124e2f]:  testq  %rax, %rax
emacs[0x100124e32]:  jle    0x100124e6d               ; mark_object + 1885 
[inlined] mark_glyph_matrix + 171 at alloc.c:6309
mark_object + 1714 at alloc.c:6309
emacs[0x100124e34]:  movq   0x8(%r15), %r12
emacs[0x100124e38]:  leaq   (%rax,%rax,2), %rbx
emacs[0x100124e3c]:  shlq   $0x4, %rbx
emacs[0x100124e40]:  addq   %r12, %rbx
emacs[0x100124e43]:  movq   0x8(%r12), %rax
emacs[0x100124e48]:  movq   %rax, %rcx
emacs[0x100124e4b]:  andq   $0x7, %rcx
emacs[0x100124e4f]:  cmpq   $0x1, %rcx
emacs[0x100124e53]:  jne    0x100124e64               ; mark_object + 1876 
[inlined] mark_glyph_matrix + 162 at alloc.c:6309
mark_object + 1714 at alloc.c:6309
emacs[0x100124e55]:  cmpq   $0x0, -0x1(%rax)
emacs[0x100124e5a]:  js     0x100124e64               ; mark_object + 1876 
[inlined] mark_glyph_matrix + 162 at alloc.c:6309
mark_object + 1714 at alloc.c:6309
emacs[0x100124e5c]:  movq   %rax, %rdi
emacs[0x100124e5f]:  callq  0x100124710               ; mark_object at 
alloc.c:6157
emacs[0x100124e64]:  addq   $0x30, %r12
emacs[0x100124e68]:  cmpq   %rbx, %r12
emacs[0x100124e6b]:  jb     0x100124e43               ; mark_object + 1843 
[inlined] mark_glyph_matrix + 129 at alloc.c:6309
mark_object + 1714 at alloc.c:6309
emacs[0x100124e6d]:  movswq 0x24(%r15), %rax
emacs[0x100124e72]:  testq  %rax, %rax
emacs[0x100124e75]:  jle    0x100124eb0               ; mark_object + 1952 
[inlined] mark_glyph_matrix + 238 at alloc.c:6309
mark_object + 1714 at alloc.c:6309
emacs[0x100124e77]:  movq   0x10(%r15), %r12
emacs[0x100124e7b]:  leaq   (%rax,%rax,2), %rbx
emacs[0x100124e7f]:  shlq   $0x4, %rbx
emacs[0x100124e83]:  addq   %r12, %rbx
emacs[0x100124e86]:  movq   0x8(%r12), %rax
emacs[0x100124e8b]:  movq   %rax, %rcx
emacs[0x100124e8e]:  andq   $0x7, %rcx
emacs[0x100124e92]:  cmpq   $0x1, %rcx
emacs[0x100124e96]:  jne    0x100124ea7               ; mark_object + 1943 
[inlined] mark_glyph_matrix + 229 at alloc.c:6309
mark_object + 1714 at alloc.c:6309
emacs[0x100124e98]:  cmpq   $0x0, -0x1(%rax)
emacs[0x100124e9d]:  js     0x100124ea7               ; mark_object + 1943 
[inlined] mark_glyph_matrix + 229 at alloc.c:6309
mark_object + 1714 at alloc.c:6309
emacs[0x100124e9f]:  movq   %rax, %rdi
emacs[0x100124ea2]:  callq  0x100124710               ; mark_object at 
alloc.c:6157
emacs[0x100124ea7]:  addq   $0x30, %r12
emacs[0x100124eab]:  cmpq   %rbx, %r12
emacs[0x100124eae]:  jb     0x100124e86               ; mark_object + 1910 
[inlined] mark_glyph_matrix + 196 at alloc.c:6309
mark_object + 1714 at alloc.c:6309
emacs[0x100124eb0]:  addq   $0x100, %r15
emacs[0x100124eb7]:  cmpq   %r14, %r15
emacs[0x100124eba]:  jb     0x100124dda               ; mark_object + 1738 
[inlined] mark_glyph_matrix + 24 at alloc.c:6309
mark_object + 1714 at alloc.c:6309
emacs[0x100124ec0]:  movq   0xd0(%r13), %rax
emacs[0x100124ec7]:  movq   %rax, %rdi
emacs[0x100124eca]:  callq  0x100125340               ; 
mark_discard_killed_buffers at alloc.c:6125
emacs[0x100124ecf]:  movq   %rax, 0xd0(%r13)
emacs[0x100124ed6]:  movq   0xd8(%r13), %rax
emacs[0x100124edd]:  movq   %rax, %rdi
emacs[0x100124ee0]:  callq  0x100125340               ; 
mark_discard_killed_buffers at alloc.c:6125
emacs[0x100124ee5]:  movq   %rax, 0xd8(%r13)
emacs[0x100124eec]:  jmp    0x100124eff               ; mark_object + 2031 at 
alloc.c:6471
emacs[0x100124eee]:  movabsq $-0x8000000000000000, %rax
emacs[0x100124ef8]:  orq    %rax, %r12
emacs[0x100124efb]:  movq   %r12, (%r13)
emacs[0x100124eff]:  addq   $0x8, %rsp
emacs[0x100124f03]:  popq   %rbx
emacs[0x100124f04]:  popq   %r12
emacs[0x100124f06]:  popq   %r13
emacs[0x100124f08]:  popq   %r14
emacs[0x100124f0a]:  popq   %r15
emacs[0x100124f0c]:  popq   %rbp
emacs[0x100124f0d]:  retq   
emacs[0x100124f0e]:  movq   %r13, %rdi
emacs[0x100124f11]:  addq   $0x8, %rsp
emacs[0x100124f15]:  popq   %rbx
emacs[0x100124f16]:  popq   %r12
emacs[0x100124f18]:  popq   %r13
emacs[0x100124f1a]:  popq   %r14
emacs[0x100124f1c]:  popq   %r15
emacs[0x100124f1e]:  popq   %rbp
emacs[0x100124f1f]:  jmp    0x100124fd0               ; mark_buffer at 
alloc.c:6033
emacs[0x100124f24]:  movq   %r13, %rdi
emacs[0x100124f27]:  movl   %ecx, %esi
emacs[0x100124f29]:  addq   $0x8, %rsp
emacs[0x100124f2d]:  popq   %rbx
emacs[0x100124f2e]:  popq   %r12
emacs[0x100124f30]:  popq   %r13
emacs[0x100124f32]:  popq   %r14
emacs[0x100124f34]:  popq   %r15
emacs[0x100124f36]:  popq   %rbp
emacs[0x100124f37]:  jmp    0x100125440               ; mark_char_table at 
alloc.c:5978
emacs[0x100124f3c]:  callq  0x1000db920               ; emacs_abort at 
sysdep.c:2284
emacs[0x100124f41]:  callq  0x1000db920               ; emacs_abort at 
sysdep.c:2284

(lldb) 



-- 
Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1343
http://www.childpsy.net/ http://dhimmi.org http://think-israel.org
http://www.dhimmitude.org http://islamexposedonline.com http://mideasttruth.com
Only a fool has no doubts.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]