Skip to content

PPULOAD Recompilation PPU Unhandled Exception minimized

FPC [main]

Compile1 (OK): fpc.exe -n -FuC:\fpclaztrunk\fpc\units\x86_64-win64\rtl kek.lpr
Compile2 (🐞FAIL): fpc.exe -n -FuC:\fpclaztrunk\fpc\units\x86_64-win64\rtl kek.lpr

kek.lpr:

program kek;
{$mode objfpc}

uses
  unit1;

begin
end.

unit1.pas:

unit unit1;
{$mode objfpc}

interface

uses
  unit2;

procedure unit1_proc2;

implementation

procedure unit1_proc1; inline;
begin
end;

procedure unit1_proc2; inline;
begin
  unit1_proc1;
end;

end.

unit2.pas:

unit unit2;
{$mode objfpc}

interface

uses
  unit3;

procedure unit2_proc3;

implementation

uses
  unit1;

procedure unit2_proc3;
begin
  unit1_proc2;
end;

end.

unit3.pas:

unit unit3;
{$mode objfpc}

interface

procedure unit3_proc4;

implementation

uses
  unit2;

procedure unit3_proc4;
begin
  unit2_proc3;
end;

end.

Archive: 📚 fpc_ppu_bug.zip

OUTPUT:

Error: Compilation raised exception internally
Fatal: Compilation aborted
An unhandled exception occurred at $000000010002E537:
EListError: List index exceeds bounds (7)
  $000000010002E537  RAISEINDEXERROR,  line 728 of cclasses.pas
  $0000000100043CDF  PPULOAD,  line 541 of symtable.pas
  $00000001000480FE  PPULOAD,  line 2723 of symtable.pas
  $0000000100192718  LOAD_USEDUNITS,  line 2086 of fppu.pas
  $0000000100192C28  TRY_LOAD_PPUFILE,  line 2263 of fppu.pas
  $000000010019304F  LOADPPU,  line 2406 of fppu.pas
  $0000000100192626  LOAD_USEDUNITS,  line 2057 of fppu.pas
  $0000000100192C28  TRY_LOAD_PPUFILE,  line 2263 of fppu.pas
  $000000010019304F  LOADPPU,  line 2406 of fppu.pas
  $0000000100192626  LOAD_USEDUNITS,  line 2057 of fppu.pas
  $0000000100192C28  TRY_LOAD_PPUFILE,  line 2263 of fppu.pas
  $000000010019304F  LOADPPU,  line 2406 of fppu.pas
  $0000000100192436  LOAD_USEDUNITS,  line 1996 of fppu.pas
  $0000000100192C28  TRY_LOAD_PPUFILE,  line 2263 of fppu.pas
  $000000010019304F  LOADPPU,  line 2406 of fppu.pas
  $0000000100192436  LOAD_USEDUNITS,  line 1996 of fppu.pas
  $0000000100192C28  TRY_LOAD_PPUFILE,  line 2263 of fppu.pas

Based on:
#41438 (closed)

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information