I've trapped one of the spurious exceptions when starting testOOrexx,
occurring while printing the "Searching for test containers...." dots.
I'm seeing the following (the "Stack frames" are a screen copy, as I don't
know how to export it to text). Any ideas from you
more-experienced-than-me debuggers?
The offending instruction is the JMP almost at the very bottom, obviously
giving the illegal address at the top of the stack frames)
Stack frames:
[image: Inline image 1]
[image: Inline image 3]
...
Address: MemoryObject::markObjectsMain(RexxInternalObject *)
000007FEEA50DB71 mov rdx,qword ptr [liveMark]
000007FEEA50DB76 mov rax,qword ptr [rsp+28h]
000007FEEA50DB7B mov rcx,qword ptr [rax+18h]
000007FEEA50DB7F call RexxInternalObject::isObjectMarked
(07FEEA413E4Fh)
000007FEEA50DB84 movzx eax,al
000007FEEA50DB87 test eax,eax
000007FEEA50DB89 jne MemoryObject::markObjectsMain+0D0h
(07FEEA50DBA0h)
000007FEEA50DB8B mov rax,qword ptr [rsp+28h]
000007FEEA50DB90 mov rdx,qword ptr [rax+18h]
000007FEEA50DB94 lea rcx,[memoryObject (07FEEA773DE0h)]
000007FEEA50DB9B call MemoryObject::mark (07FEEA41A010h)
// Mark other referenced obj. We can do this without checking
// the references flag because we only push the object on to
// the stack if it has references.
allocations++;
000007FEEA50DBA0 mov rax,qword ptr [this]
000007FEEA50DBA5 mov rax,qword ptr [rax+0B08h]
000007FEEA50DBAC inc rax
000007FEEA50DBAF mov rcx,qword ptr [this]
000007FEEA50DBB4 mov qword ptr [rcx+0B08h],rax
markObject->live(liveMark);
000007FEEA50DBBB mov rax,qword ptr [rsp+28h]
000007FEEA50DBC0 mov rax,qword ptr [rax]
000007FEEA50DBC3 mov rdx,qword ptr [liveMark]
000007FEEA50DBC8 mov rcx,qword ptr [rsp+28h]
000007FEEA50DBCD call qword ptr [rax+10h]
}
000007FEEA50DBD0 jmp MemoryObject::markObjectsMain+7Eh
(07FEEA50DB4Eh)
}
000007FEEA50DBD5 add rsp,30h
000007FEEA50DBD9 pop rdi
000007FEEA50DBDA ret
000007FEEA50DB71 mov rdx,qword ptr [liveMark]
000007FEEA50DB76 mov rax,qword ptr [rsp+28h]
000007FEEA50DB7B mov rcx,qword ptr [rax+18h]
000007FEEA50DB7F call RexxInternalObject::isObjectMarked
(07FEEA413E4Fh)
000007FEEA50DB84 movzx eax,al
000007FEEA50DB87 test eax,eax
000007FEEA50DB89 jne MemoryObject::markObjectsMain+0D0h
(07FEEA50DBA0h)
000007FEEA50DB8B mov rax,qword ptr [rsp+28h]
000007FEEA50DB90 mov rdx,qword ptr [rax+18h]
000007FEEA50DB94 lea rcx,[memoryObject (07FEEA773DE0h)]
000007FEEA50DB9B call MemoryObject::mark (07FEEA41A010h)
// Mark other referenced obj. We can do this without checking
// the references flag because we only push the object on to
// the stack if it has references.
allocations++;
000007FEEA50DBA0 mov rax,qword ptr [this]
000007FEEA50DBA5 mov rax,qword ptr [rax+0B08h]
000007FEEA50DBAC inc rax
000007FEEA50DBAF mov rcx,qword ptr [this]
000007FEEA50DBB4 mov qword ptr [rcx+0B08h],rax
markObject->live(liveMark);
000007FEEA50DBBB mov rax,qword ptr [rsp+28h]
000007FEEA50DBC0 mov rax,qword ptr [rax]
000007FEEA50DBC3 mov rdx,qword ptr [liveMark]
000007FEEA50DBC8 mov rcx,qword ptr [rsp+28h]
000007FEEA50DBCD call qword ptr [rax+10h]
}
*000007FEEA50DBD0 jmp MemoryObject::markObjectsMain+7Eh
(07FEEA50DB4Eh) *
}
000007FEEA50DBD5 add rsp,30h
000007FEEA50DBD9 pop rdi
000007FEEA50DBDA ret
------------------------------------------------------------------------------
_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel