Dies ist eine Auflistung von Fehlerlogs die ich aufgefunden habe, als ich mittels CPU Hopping den Adres Manager strapazierte, weil die Daten extrem fragmentiert wurden (hohe Frequenz).
+0x01 movq %rsp, %rbp
+0x04 pushq %r15
+0x06 pushq %r14
+0x08 pushq %r13
+0x0a pushq %r12
+0x0c pushq %rbx
+0x0d subq $1224, %rsp
+0x14 movq %r9, %rbx
+0x17 movq %rsi, %r14
+0x1a leaq 854988561(%rip), %rax
+0x21 movq (%rax), %rax
+0x24 movq %rax, -48(%rbp)
+0x28 testl %edx, %edx
+0x2a js "find_temp_path+0x9c"
+0x2c movq %r14, %r12
+0x2f cmpb $0, (%r12)
+0x34 leaq 1(%r12), %r12
+0x39 jne "find_temp_path+0x2f"
+0x3b leaq -1(%r12), %rax
+0x40 subq %r14, %rax
+0x43 cmpq $1024, %rax
+0x49 jl "find_temp_path+0x58"
+0x4b callq "DYLD-STUB$$__error"
+0x50 movl $63, (%rax)
+0x56 jmp "find_temp_path+0xa7"
+0x58 movl %ecx, -1088(%rbp)
+0x5e movl %edi, -1076(%rbp)
+0x64 movq %r8, -1120(%rbp)
+0x6b movslq %edx, %rcx
+0x6e movq %r12, %r15
+0x71 movq %rcx, %rax
+0x74 movq %rax, -1096(%rbp)
+0x7b subq %rcx, %r15
+0x7e leaq -2(%r15), %r13
+0x82 cmpq %r14, %r13
+0x85 jb "find_temp_path+0x9c"
+0x87 decq %r15
+0x8a movl $47, %esi
+0x8f movq %r15, %rdi
+0x92 callq "DYLD-STUB$$sigvec__"
+0x97 testq %rax, %rax
+0x9a je "find_temp_path+0xd3"
+0x9c callq "DYLD-STUB$$__error"
+0xa1 movl $22, (%rax)
+0xa7 xorl %r15d, %r15d
+0xaa leaq 854988417(%rip), %rax
+0xb1 movq (%rax), %rax
+0xb4 cmpq -48(%rbp), %rax
+0xb8 jne "find_temp_path+0x264"
+0xbe movl %r15d, %eax
+0xc1 addq $1224, %rsp
+0xc8 popq %rbx
+0xc9 popq %r12
+0xcb popq %r13
+0xcd popq %r14
+0xcf popq %r15
+0xd1 popq %rbp
+0xd2 retq
+0xd3 movq %rbx, -1112(%rbp)
+0xda leaq 281121(%rip), %rbx
+0xe1 cmpb $88, (%r13)
+0xe6 jne "find_temp_path+0x103"
+0xe8 movl $62, %edi
+0xed callq "arc4random_uniform"
+0xf2 movl %eax, %eax
+0xf4 movb (%rax,%rbx), %al
+0xf7 movb %al, (%r13)
+0xfb decq %r13
+0xfe cmpq %r14, %r13
+0x101 jae "find_temp_path+0xe1"
+0x103 leaq 1(%r13), %rsi
+0x107 subq %rsi, %r15
+0x10a leaq -1072(%rbp), %rdi
+0x111 movq %rsi, -1104(%rbp)
+0x118 movq %r15, %rdx
+0x11b callq "DYLD-STUB$$sigvec__"
+0x120 cmpq %r14, %r13
+0x123 jbe "find_temp_path+0x142"
+0x125 cmpb $0, -1088(%rbp)
+0x12c je "find_temp_path+0x142"
+0x12e movq %r13, %rbx
+0x131 cmpb $47, (%rbx)
+0x134 je "find_temp_path+0x20a"
+0x13a decq %rbx
+0x13d cmpq %r14, %rbx
+0x140 ja "find_temp_path+0x131"
+0x142 movq -1096(%rbp), %rax
+0x149 leaq 2(%r13,%rax), %rax
+0x14e movq %rax, -1088(%rbp)
+0x155 leaq 280998(%rip), %rbx
+0x15c movl -1076(%rbp), %edi
+0x162 movq %r14, %rsi
+0x165 movq -1112(%rbp), %rdx
+0x16c movq 16(%rbp), %rcx
+0x170 callq *-1120(%rbp)
+0x176 testl %eax, %eax
+0x178 je "find_temp_path+0x259"
+0x17e cmpl $2, %eax
+0x181 je "find_temp_path+0xa7"
+0x187 cmpq %r12, -1088(%rbp)
+0x18e je "find_temp_path+0x1ea"
+0x190 xorl %r15d, %r15d
+0x193 movq -1104(%rbp), %rax
+0x19a movsbl (%rax,%r15), %esi
+0x19f movl $63, %edx
+0x1a4 movq %rbx, %rdi
+0x1a7 callq "DYLD-STUB$$sigvec__"
+0x1ac testq %rax, %rax
+0x1af je "find_temp_path+0x1fa"
+0x1b1 movb 1(%rax), %cl
+0x1b4 movb $48, %al
+0x1b6 testb %cl, %cl
+0x1b8 je "find_temp_path+0x1bc"
+0x1ba movl %ecx, %eax
+0x1bc movq -1104(%rbp), %rcx
+0x1c3 movb %al, (%rcx,%r15)
+0x1c7 cmpb -1072(%rbp,%r15), %al
+0x1cf jne "find_temp_path+0x15c"
+0x1d1 leaq 1(%r15,%r13), %rax
+0x1d6 incq %r15
+0x1d9 movq -1096(%rbp), %rcx
+0x1e0 leaq 2(%rcx,%rax), %rax
+0x1e5 cmpq %r12, %rax
+0x1e8 jne "find_temp_path+0x193"
+0x1ea callq "DYLD-STUB$$__error"
+0x1ef movl $17, (%rax)
+0x1f5 jmp "find_temp_path+0xa7"
+0x1fa callq "DYLD-STUB$$__error"
+0x1ff movl $5, (%rax)
+0x205 jmp "find_temp_path+0xa7"
+0x20a movb $0, (%rbx)
+0x20d leaq -1264(%rbp), %rdx
+0x214 xorl %r15d, %r15d
+0x217 xorl %ecx, %ecx
+0x219 movl -1076(%rbp), %edi
+0x21f movq %r14, %rsi
+0x222 callq "DYLD-STUB$$fstatat$INODE64"
+0x227 movb $47, (%rbx)
+0x22a testl %eax, %eax
+0x22c jne "find_temp_path+0xaa"
+0x232 movzwl -1260(%rbp), %eax
+0x239 andl $61440, %eax
+0x23e cmpl $16384, %eax
+0x243 je "find_temp_path+0x142"
+0x249 callq "DYLD-STUB$$__error"
+0x24e movl $20, (%rax)
+0x254 jmp "find_temp_path+0xaa"
+0x259 movl $1, %r15d
+0x25f jmp "find_temp_path+0xaa"
+0x264 callq "__stack_chk_fail"
Memorycantgetreserved - Die meisten kennen es: Man programmiert wine App und plötzlich wird eine memoryexception angezeigt. Dann sind die Schritte meist relativ einfach gehalten, man purged den RAM und kompiliert die App erneut. Ein kleines Glückspiel also. Dabei muss es gar nicht an einem Hardware Fehler oder an einer Überlastung liegen, es kann auch einfach daran liegen, dass der Adress Manager der CPU überlastet wird, weil die Daten zu strukturiert bzw. fragmentiert gespeichert werden. So kann ein Gerät viel schneller auf aneinander liegende Daten zugreifen. Kommt es während dem Schreibeprozess zu Verzögerungen, kann es sein, dass ein anderer Prozess zuvor kommt und den Memory-Space weggeschnappt. Dabei kann im objektorientierten Denken ein Game dienen, welches in einem Chunk viele und in einem anderen kaum Daten enthält.