So now that longjmp works, the vm fails when returning from snapshot, somewhere during startup: I'm stuck there...(gdb) run ../../image/trunk50-64-15711.image Program received signal SIGSEGV, Segmentation fault. 0x00000000000008d4 in ?? () (gdb) call printCallStack() 0xefaf40 M FilePath class(Behavior)>new 0x4611330: a(n) FilePath class 0xefaf70 M FilePath class>pathName:isEncoded: 0x4611330: a(n) FilePath class 0xefafc0 I FilePath class>pathName: 0x4611330: a(n) FilePath class 0xefb010 I FileDirectory class>setDefaultDirectory: 0x45fac80: a(n) FileDirectory class 0xefb058 I FileDirectory class>startUp 0x45fac80: a(n) FileDirectory class 0xefb088 M FileDirectory class(Behavior)>startUp: 0x45fac80: a(n) FileDirectory class 0xefb0e0 M [] in SmalltalkImage>send:toClassesNamedIn:with: 0x4653d18: a(n) SmalltalkImage 0xefb130 I OrderedCollection>do: 0x49a81d8: a(n) OrderedCollection 0xefb180 I SmalltalkImage>send:toClassesNamedIn:with: 0x4653d18: a(n) SmalltalkImage 0xefb1d8 I SmalltalkImage>processStartUpList: 0x4653d18: a(n) SmalltalkImage 0xefb230 I SmalltalkImage>snapshot:andQuit:withExitCode:embedded: 0x4653d18: a(n) SmalltalkImage 0x52187b0 s SmalltalkImage>snapshot:andQuit:embedded: 0x489ee20 s SmalltalkImage>snapshot:andQuit: (gdb) i r rax 0x8d4 2260 rbx 0x6d8018 7176216 rcx 0xefaf18 15707928 rdx 0xefaf20 15707936 rsi 0x506ae18 84323864 rdi 0x6d98f0 7182576 rbp 0xefaf40 0xefaf40 rsp 0xefaf20 0xefaf20 r8 0x3801f27 58728231 r9 0x4611330 73470768 r10 0x5029af8 84056824 r11 0x43fa9a8 71281064 r12 0xffffffff 4294967295 r13 0x10 16 r14 0x3b61540 62264640 r15 0x5654fa0 90525600 rip 0x8d4 0x8d4 eflags 0x10206 [ PF IF RF ] cs 0x33 51 ss 0x2b 43 ds 0x2b 43 es 0x2b 43 fs 0x53 83 gs 0x2b 43 (gdb) x /8lx $rax 0x8d4: Cannot access memory at address 0x8d4 (gdb) call shortPrintOop($r10) 0x5029af8: a(n) CompiledMethod$30 = 0 (gdb) call shortPrintOop($r11) 0x43fa9a8: a(n) ByteSymbol$31 = 0 (gdb) call printStringOf($r11) basicNew (gdb) call longPrintOop($r10) 0x5029af8: a(n) CompiledMethod (0x468=>0x45f8168) format 0x1d nbytes 99 hdr8 ..... hash 0xee279 0 0x3801ee0 0x3801ee0 327688(0x50008) hasPrim nLits 8 nArgs 0 nTemps 1 1 0x53b0ce8 #handleFailingBasicNew 2 0x4771ba8 #insufficient object memory 3 0x44031d8 #basicNew: 4 0x43fdff8 #isVariable 5 0x43f8f30 #primitiveFailed 6 0x43ffa00 #ifTrue: 7 0x539b810 a(n) AdditionalMethodState a(n) CompiledMethod -> 0x43fa9a8 8 0x4955a90 a(n) ClassBinding #Behavior -> 0x4614510 (gdb) call printFrame($rbp) 0xefaf40 M FilePath class(Behavior)>new 0x4611330: a(n) FilePath class 0xefaf50: rcvr/clsr: 0x4611330 =FilePath 0xefaf48: caller ip: 0x3820ab4=58854068 0xefaf40: saved fp: 0xefaf70=15708016 0xefaf38: method: 0x380e420 0x5025bd0: a(n) CompiledMethod 0xefaf38: mcfrm flags: 0x0 numArgs: 0 noContext notBlock 0xefaf30: context: 0x41e78e0 =nil 0xefaf28: receiver: 0x4611330 =FilePath 0xefaf20: stck: 0x380e4a2 =$▒(0x701c94) 0xefaf18: stck: 0x4611330 =FilePath$19 = 0 (gdb) x /16lx $rsp 0xefaf20: 0x0380e4a2 0x00000000 0x04611330 0x00000000 0xefaf30: 0x041e78e0 0x00000000 0x0380e420 0x00000000 0xefaf40: 0x00efaf70 0x00000000 0x03820ab4 0x00000000 0xefaf50: 0x04611330 0x00000000 0x04611330 0x00000000 (gdb) x /11i 0x3820ab4 0x3820ab4: push %r9 0x3820ab6: mov 0x10(%rbp),%rdx 0x3820aba: mov 0x18(%rbp),%rcx 0x3820abe: mov $0x0,%r8 0x3820ac5: callq 0x3800118 0x3820aca: pop %r9 0x3820acc: mov $0x1,%r8 0x3820ad3: callq 0x3800080 0x3820ad8: mov %rbp,%rsp 0x3820adb: pop %rbp 0x3820adc: retq $0x18 (gdb) x /20i 0x3800118 0x3800118: mov (%rsp),%r10 0x380011c: mov %r9,(%rsp) 0x3800120: push %rcx 0x3800121: push %rdx 0x3800122: push %r10 0x3800124: callq 0x3800028 0x3800129: mov %rbp,0x48(%rbx) 0x380012d: mov %rsp,0x40(%rbx) 0x3800131: mov 0xc3140(%rbx),%rsp 0x3800138: sub $0x20,%rsp 0x380013c: mov %r8,%rcx 0x380013f: xor %rdx,%rdx 0x3800142: mov %r9,%r8 0x3800145: mov $0x2,%r9 0x380014c: movabs $0x442a90,%rax 0x3800156: callq *%rax 0x3800158: add $0x20,%rsp 0x380015c: mov 0x40(%rbx),%rsp 0x3800160: mov 0x48(%rbx),%rbp 0x3800164: retq (gdb) x /16i 0x442a90 0x442a90 <ceSendsupertonumArgs>: sub $0x238,%rsp 0x442a97 <ceSendsupertonumArgs+7>: mov %rcx,0x228(%rsp) 0x442a9f <ceSendsupertonumArgs+15>: mov %rdx,0x220(%rsp) 0x442aa7 <ceSendsupertonumArgs+23>: mov %r8,0x218(%rsp) 0x442aaf <ceSendsupertonumArgs+31>: mov %r9,0x210(%rsp) 0x442ab7 <ceSendsupertonumArgs+39>: cmpq $0x0,0x3585d9(%rip) # 0x79b098 <cFramePointerInUse> 0x442abf <ceSendsupertonumArgs+47>: je 0x442b24 <ceSendsupertonumArgs+148> 0x442ac5 <ceSendsupertonumArgs+53>: mov %rbp,%rax 0x442ac8 <ceSendsupertonumArgs+56>: mov $0x1,%cl 0x442aca <ceSendsupertonumArgs+58>: mov %rax,0x140(%rsp) 0x442ad2 <ceSendsupertonumArgs+66>: mov 0x140(%rsp),%rax 0x442ada <ceSendsupertonumArgs+74>: mov %rax,0x138(%rsp) 0x442ae2 <ceSendsupertonumArgs+82>: mov 0x138(%rsp),%rax 0x442aea <ceSendsupertonumArgs+90>: and $0xf,%rax 0x442aee <ceSendsupertonumArgs+94>: cmp $0x0,%rax 0x442af2 <ceSendsupertonumArgs+98>: mov %cl,0x127(%rsp) (gdb) x /18i 0x3800080 0x3800080: mov (%rsp),%r10 0x3800084: mov %r9,(%rsp) 0x3800088: push %r10 0x380008a: callq 0x3800028 0x380008f: mov %rbp,0x48(%rbx) 0x3800093: mov %rsp,0x40(%rbx) 0x3800097: mov 0xc3140(%rbx),%rsp 0x380009e: sub $0x20,%rsp 0x38000a2: mov %r8,%rcx 0x38000a5: xor %rdx,%rdx 0x38000a8: mov %r9,%r8 0x38000ab: xor %r9,%r9 0x38000ae: movabs $0x442a90,%rax 0x38000b8: callq *%rax 0x38000ba: add $0x20,%rsp 0x38000be: mov 0x40(%rbx),%rsp 0x38000c2: mov 0x48(%rbx),%rbp 0x38000c6: retq (gdb) x /5i 0x380e4a2 0x380e4a2: mov $0x0,%r8 0x380e4a9: callq 0x381ef60 0x380e4ae: mov %rbp,%rsp 0x380e4b1: pop %rbp 0x380e4b2: retq $0x8 |
Free forum by Nabble | Edit this page |