Recent

Author Topic: Fatal: Internal error 200305106  (Read 1789 times)

Thaddy

  • Hero Member
  • *****
  • Posts: 16419
  • Censorship about opinions does not belong here.
Re: Fatal: Internal error 200305106
« Reply #15 on: February 22, 2024, 07:09:41 pm »
The source Paule32, the source... That's the advantage over Delphi, we have the source..
blatant paraphrase in action...
« Last Edit: February 22, 2024, 07:12:15 pm by Thaddy »
There is nothing wrong with being blunt. At a minimum it is also honest.

Thaddy

  • Hero Member
  • *****
  • Posts: 16419
  • Censorship about opinions does not belong here.
Re: Fatal: Internal error 200305106
« Reply #16 on: February 22, 2024, 07:29:56 pm »
About the internal errors:
Actually that is a format chosen by the compiler developers to avoid assertions in the COMPILER code, not everywhere else. It works just like an assertion but without the possible overhead. The number is usually year/month/number but I understand that is not strictly adhered to.
I usually grep the compiler sources when I encounter an internal error and work my way backwards to see why.
If you encounter a internal error, always report it, unless you are writing your own compiler, that is.. O:-) ;) :D

The compiler devs try their best to give us a working compiler, but if push comes to shove they need a marker in the code without assertions: because that is a language feature and that is not there yet, without a compiler...
That is the easiest I can explain it.

You did not implement assertions either......
« Last Edit: February 22, 2024, 07:44:10 pm by Thaddy »
There is nothing wrong with being blunt. At a minimum it is also honest.

rvk

  • Hero Member
  • *****
  • Posts: 6643
Re: Fatal: Internal error 200305106
« Reply #17 on: February 22, 2024, 07:43:27 pm »
I usually grep the compiler sources when I encounter an internal error.
8)

https://gitlab.com/search?search=200305106&nav_source=navbar&project_id=28644964&group_id=12463123&search_code=true&repository_ref=main

https://github.com/fpc/FPCSource/blob/9c5bfbeb780c296556b6317bdc517079c42e390a/compiler/psub.pas#L761

Which brings you to the missing afterconstruction.

Code: Pascal  [Select][+][-]
  1. srsym:=search_struct_member(procdef.struct,'AFTERCONSTRUCTION');
  2. if not assigned(srsym) or
  3.      (srsym.typ<>procsym) then
  4.      internalerror(200305106);
  5.  

Thaddy

  • Hero Member
  • *****
  • Posts: 16419
  • Censorship about opinions does not belong here.
Re: Fatal: Internal error 200305106
« Reply #18 on: February 22, 2024, 07:46:09 pm »
Yes, good example, but bad try... :D The golden egg is further up in the sources.... :D ;D
There is nothing wrong with being blunt. At a minimum it is also honest.

rvk

  • Hero Member
  • *****
  • Posts: 6643
Re: Fatal: Internal error 200305106
« Reply #19 on: February 22, 2024, 08:00:20 pm »
Yes, good example, but bad try... :D The golden egg is further up in the sources.... :D ;D
You mean the "Fatal: Internal error 200305106" didn't come from that line? Really?

Adding AfterConstruction in the self created TObject does fix that error.

But if you have more insight... please share.

I'm not saying anything about the correctness of the code.. Just the error message.

Thaddy

  • Hero Member
  • *****
  • Posts: 16419
  • Censorship about opinions does not belong here.
Re: Fatal: Internal error 200305106
« Reply #20 on: February 22, 2024, 09:14:00 pm »
procdef.struct See how it is filled and completed.
There is nothing wrong with being blunt. At a minimum it is also honest.

 

TinyPortal © 2005-2018