[Oberon] FPGA - OberonV4 Dialogs

Jörg Straube joerg.straube at iaeth.ch
Sun Dec 2 14:47:54 CET 2018


ABORT tells you, you messed up with internal data structures possibly on the stack.
If you return from a procedure and on the stack is no longer the return address but 0 (as you e.g. accidentially overwrote the stack with 0s) the CPU will jump to address 0, where the Abort handler sits.

Or you call an unitialized procedure variable, you jump to 0 and get ABORT as well.

There are a myriad of root causes for this ABORT messages.

Jörg

> Am 02.12.2018 um 13:43 schrieb Tomas Kral <thomas.kral at email.cz>:
> 
> On Sun, 2 Dec 2018 10:42:32 +0100
> Tomas Kral <thomas.kral at email.cz> wrote:
> 
>> Linz has two byte SHORTS
>> x(short),y(short),w(short),h(short),overlapping(bool)
> 
> Ah, now I see,
> 
> Files.ReadLInt (r, o.x); Files.ReadLInt (r, o.y); Files.ReadLInt
> (r, o.w); Files.ReadLInt (r, o.h);
> 
> I changed to Files.ReadInt() first and then seeing that, changed to Files.ReadShort(). It is really meant to read 4-byte Int.
> 
> Now it makes sense to DIV by 10000.
> 
> Loading log now reports:
> 
> DialogButtons
> Open
> MyEdit.Print
> file 
> 1710000 -520000 400000 200000     0
> Syntax10.Scn.Fnt
> DialogStaticTexts
> File
> 
> 
> 300000 -500000 400000 200000     0
> DialogTexts
> file
> 
> 
> 720000 -510000 700000 220000     0
>  ABORT   00041F04
> 
> Now I am worried about ABORT, that is exactly when the viewer is comes up. Message handler not installed?  
> 
> -- 
> Tomas Kral <thomas.kral at email.cz>
> --
> Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
> https://lists.inf.ethz.ch/mailman/listinfo/oberon



More information about the Oberon mailing list