[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.
- bug#19303: 25.0.50; infinite loop (stack overflow) in mark_object, Sam Steingold, 2014/12/08
- bug#19303: 25.0.50; infinite loop (stack overflow) in mark_object, Dmitry Antipov, 2014/12/09
- bug#19303: 25.0.50; infinite loop (stack overflow) in mark_object,
Sam Steingold <=
- bug#19303: 25.0.50; infinite loop (stack overflow) in mark_object, Dmitry Antipov, 2014/12/10
- bug#19303: 25.0.50; infinite loop (stack overflow) in mark_object, Sam Steingold, 2014/12/10
- bug#19303: 25.0.50; infinite loop (stack overflow) in mark_object, Dmitry Antipov, 2014/12/10
- bug#19303: 25.0.50; infinite loop (stack overflow) in mark_object, Jan Djärv, 2014/12/11
- bug#19303: 25.0.50; infinite loop (stack overflow) in mark_object, Jan Djärv, 2014/12/11