[fpc-devel]Internal error error: 55665566 ?

Peter Vreman peter at freepascal.org
Thu Nov 21 23:44:20 CET 2002


At 23:04 21-11-2002, you wrote:
>Hi,
>
>I get a 'magic' number:
>
>Compiling ./synmemo.pas
>synmemo.pas(179,1) Fatal: Internal error 55665566
>
>The position(179,1) points to the start of the 'implementation' keyword.
>The interface of the unit itself looks pretty normal, so I have no clue, how
>to report this bug.
>Maybe it has something to do with the published properties.
>
>The unit looks something like this:
>----- snip -----
>unit SynMemo;
>
>interface
>
>uses
>   Classes, LCLLinux, SynEdit;
>
>type
>   TSynMemo = class(TCustomSynEdit)
>   public
>     // TCustomSynMemo properties
>   published
>     // inherited properties
>     property Align;
>     [... lots of properties]
>     property MaxUndo;
>     property Options;
>     property OverwriteCaret;
>     property ReadOnly;
>   end;
>
>implementation
>----- snap -----
>
>When commenting the published properties it compiles fine. So, I have
>committed it to the lazarus cvs. Any ideas?
>I'm using the 1.0.7. compiler from today.

I guess that there is a reference to a field/procedure that is defined in 
an unit loaded from synedit. The current unit will try to load a reference 
to the definition defined in that unit, but fails because the current unit 
does not have mapping entry available for that unit

Small example:

unit a
   uses b
   cl3=class(cl2)
     property f;
   end;

unit b
   uses c
   cl2=class(cl1)
     property f : longint read f1;
   end;

unit c
   cl1=class
     f1 : longint;
   end;

unit a knows in this example only about the interface of unit b. Therefor 
it is not possible to create a reference to f1 directly from unit a to unit 
c. And for the 1.0.x compilers that is the problem.

This problem is fixed in 1.1 and will never be fixed in 1.0.x.


Peter





More information about the fpc-devel mailing list