Skip to content

Compilation raised exception internally - Error 217

Original Reporter info from Mantis: ravi
  • Reporter name: ravi dion

Description:

Free Pascal Compiler version 3.2.1-r48511 [2021/02/07] for x86_64

Error: Compilation raised exception internally
Fatal: Compilation aborted
An unhandled exception occurred at $000000000048F18A:
EAccessViolation: Access violation
  $000000000048F18A  ADDDEPENDENCY,  line 917 of fmodule.pas
  $0000000000647124  LOADUNITS,  line 519 of pmodules.pas
  $0000000000648516  PROC_UNIT,  line 967 of pmodules.pas
  $0000000000548B70  COMPILE,  line 399 of parser.pas
  $000000000053A84F  LOADPPU,  line 2133 of fppu.pas
  $00000000006470F3  LOADUNITS,  line 514 of pmodules.pas
  $000000000064892B  PROC_UNIT,  line 1058 of pmodules.pas
  $0000000000548B70  COMPILE,  line 399 of parser.pas
  $000000000053A84F  LOADPPU,  line 2133 of fppu.pas
  $00000000006470F3  LOADUNITS,  line 514 of pmodules.pas
  $0000000000648516  PROC_UNIT,  line 967 of pmodules.pas
  $0000000000548B70  COMPILE,  line 399 of parser.pas
  $000000000053A84F  LOADPPU,  line 2133 of fppu.pas
  $00000000006470F3  LOADUNITS,  line 514 of pmodules.pas
  $000000000064892B  PROC_UNIT,  line 1058 of pmodules.pas
  $0000000000548B70  COMPILE,  line 399 of parser.pas
  $000000000053A84F  LOADPPU,  line 2133 of fppu.pas

make: *** [Makefile:30: prog] Error 217

Steps to reproduce:

Unfortunately it's a huge program and I wanted to add command line support and changed:

  • before in prog.lpr:
uses console;
begin
  ConsoleStart;
end.

- now which leads to compiler exception:
uses  commandlineutil, console;

var
  BinName: String;
  i: Integer;

begin
  BinName := ExtractFileName(ParamStr(0));
  if ParamCount > 3 then
  begin
    for i := 1 to ParamCount do
    begin
      CmdLine := CmdLine + ParamStr(i) + ' ';
    end;
    CmdLine := Trim(CmdLine);

    ParseCommandLine(BinName, CmdLine);
    Exit;
  end;

  ConsoleStart;
end.

Additional information:

- mode Delphi
- it should also raise an error because CmdLine isn't defined but it doesn't do that either
- happens with -O3 -Xs
- happens with -O- -Xs
- happens with -O-
-> just happens every time -.-

Mantis conversion info:

  • Mantis ID: 38451
  • OS: Linux
  • Version: 3.2.1
  • Monitored by: » @CuriousKit (J. Gareth Moreton)
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information