FPC still give me error and shows Fatal:Internal Error 2006012304 lazarus / 64-FPC development ---------------------------------------------------------------------- TYDQ · 2024-05-26 10:49 With friends' instruction,I make a minimal code to reproduce the error(My FPC Version is 3.3.1,Which is the newest version in gitlab and whatever the CPU target is,it still give me the same error which is on the title). null.pas:Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i unit null; interface implementation end.system.pas(Same as in the fpc wiki):Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i unit system; {$MODE FPC} interface   type    cardinal = 0..$FFFFFFFF;    hresult = cardinal;    dword = cardinal;    integer = longint;     pchar = ^char;     { That part comes from fpc 3.2.0 as nessesary}    TTypeKind = (tkUnknown, tkInteger, tkChar, tkEnumeration, tkFloat, tkSet,    tkMethod, tkSString, tkLString, tkAString, tkWString, tkVariant, tkArray,    tkRecord, tkInterface, tkClass, tkObject, tkWChar, tkBool, tkInt64, tkQWord,    tkDynArray, tkInterfaceRaw, tkProcVar, tkUString, tkUChar, tkHelper, tkFile,    tkClassRef, tkPointer);     jmp_buf = packed record      rbx, rbp, r12, r13, r14, r15, rsp, rip: QWord;      {$IFDEF win64}      rsi, rdi: QWord;      xmm6, xmm7, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15: record         m1, m2: QWord;      end;       mxcsr: LongWord;      fpucw: word;      padding: word;      {$ENDIF win64}    end;     Pjmp_buf = ^jmp_buf;    PExceptAddr = ^TExceptAddr;    TExceptAddr = record       buf: Pjmp_buf;      next: PExceptAddr;      {$IFDEF CPU16}      frametype: SmallInt;      {$ELSE CPU16}      frametype: LongInt;      {$ENDIF CPU16}    end;     PGuid = ^TGuid;    TGuid = packed record      case Integer of      1:      (Data1: DWord;        Data2: word;        Data3: word;        Data4: array [0 .. 7] of byte;      );      2:      (D1: DWord;        D2: word;        D3: word;        D4: array [0 .. 7] of byte;      );      3:      ( { uuid fields according to RFC4122 }        time_low: DWord; // The low field of the timestamp        time_mid: word; // The middle field of the timestamp        time_hi_and_version: word;        // The high field of the timestamp multiplexed with the version number        clock_seq_hi_and_reserved: byte;        // The high field of the clock sequence multiplexed with the variant        clock_seq_low: byte; // The low field of the clock sequence        node: array [0 .. 5] of byte; // The spatially unique node identifier      );    end; { --- End of nessesary part --- } implementation end.And my command is:Code: Bash  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i tydq@192:~/Test$ /home/tydq/source/compiler/ppcrossa64 -n -O- -Si -Sc -Sg -Xd -CX -XXs -Tlinux -Cg null.pas (/home/tydq/source/compiler/ppcrossa64 is the path of the compiler) And this is the error shown: null.pas(3,10) Fatal: Internal error 2006012304 Fatal: Compilation aborted Does anyone know how to edit the symbase.pas and make it correct or other ways to solve the error? ---------------------------------------------------------------------- Thaddy · 2024-05-26 13:15 Do NOT touch symbase, please. EVER. Do what I told you. All other compilers rely on it being sound code. It is back-end independent. Search for your error elsewhere. You made a logic error, now go and find it! Again, do not touch symbase, because the error is not there. It only reveals your bug and that is what that code is supposed to do. The error is somewhere in YOUR code! Focussing on symbase is the wrong approach and doomed, deemed to fail. And I still don't see a stack-trace from the FPC call stack, not this particular stack. Did you even make a stack trace? Because that can reveal where the faulty call comes from. (I assume you built your compiler in debug mode?) ---------------------------------------------------------------------- marcov · 2024-05-26 15:00 That probably means your system unit is incomplete. It is better to shave down the existing unit bit by bit than to make your own one. ---------------------------------------------------------------------- TYDQ · 2024-05-27 04:14 Quote from: Thaddy on May 26, 2024, 03:15:42 pmDo NOT touch symbase, please. EVER. Do what I told you. All other compilers rely on it being sound code. It is back-end independent. Search for your error elsewhere. You made a logic error, now go and find it! Again, do not touch symbase, because the error is not there. It only reveals your bug and that is what that code is supposed to do. The error is somewhere in YOUR code! Focussing on symbase is the wrong approach and doomed, deemed to fail. And I still don't see a stack-trace from the FPC call stack, not this particular stack. Did you even make a stack trace? Because that can reveal where the faulty call comes from. (I assume you built your compiler in debug mode?) I never touch symbase because I don't understand how to symbase.pas works. I built my compiler is in debug mode,maybe that's where error occurs? ---------------------------------------------------------------------- TYDQ · 2024-05-27 04:16 Quote from: marcov on May 26, 2024, 05:00:09 pmThat probably means your system unit is incomplete. It is better to shave down the existing unit bit by bit than to make your own one. OK,so the lazarus wiki for self written system.pas should not be referred to?(the wiki uses FPC 3.2.0) ---------------------------------------------------------------------- TYDQ · 2024-05-27 06:37 Quote from: marcov on May 26, 2024, 05:00:09 pmThat probably means your system unit is incomplete. It is better to shave down the existing unit bit by bit than to make your own one. I solved the problem interal error 2006012304.Compiling system.pas is a must to build the project. ---------------------------------------------------------------------- Key-Real · 2024-06-04 06:51 Yes, compiling the system unit is a must. I had simelar issue. I think is very unlucky compiler drops an internal error insteed of telling us "please compile the system unit first"