Recent

Author Topic: Fatal: Internal error 200410231 using -O2 or -O3 option  (Read 4972 times)

Turbonobo

  • New member
  • *
  • Posts: 23
Fatal: Internal error 200410231 using -O2 or -O3 option
« on: May 26, 2014, 05:23:41 pm »
I was trying the lazarus example
(Numerics055.zip\Demos\Lazarus\PiBench\PiBench.lpr)
 for this library:
http://sergworks.wordpress.com/2013/12/20/numerics-0-55-released/

Everything worked fine and it ran perfectly.  :)
But if I set the optimisation level project settings to -O2 or -O3 FPC refuses to compile the example
and gives me this error:

Code: [Select]
...\Numerics055\Source\Pascal\Numerics.pas(1085,1) Fatal: Internal error 200410231
 :(

This is where the error happens in the Numerics.pas file:
Code: [Select]
class function BigCardinal.DivRem(const Dividend: BigCardinal;
               Divisor: Cardinal; var Remainder: Cardinal): BigCardinal;
begin
  HResCheck(Dividend.FNumber.DivRemLimbU(Divisor, Result.FNumber, Remainder));
end;

class function BigCardinal.DivRem(const Dividend: Cardinal;
               Divisor: BigCardinal; var Remainder: Cardinal): Cardinal;
begin {error on this line}
  HResCheck(Divisor.FNumber.DivRemLimbU2(Dividend, Result, Remainder));
end;

class operator BigCardinal.IntDivide(const A: BigCardinal; const B: Cardinal): BigCardinal;
var
  Remainder: Cardinal;

begin
  HResCheck(A.FNumber.DivRemLimbU(B, Result.FNumber, Remainder));
end;
 

This file is part of the library itself, not the example.

What might cause this error? is there a way to solve this besides not using level 2 or 3 optimisations?

I am using 32-bit lazarus 1.2.2 and FPC 2.6.4 on 64-bit Windows 7

Leledumbo

  • Hero Member
  • *****
  • Posts: 8075
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: Fatal: Internal error 200410231 using -O2 or -O3 option
« Reply #1 on: May 26, 2014, 05:55:30 pm »
Quote
What might cause this error?
Bug in the compiler
Quote
is there a way to solve this besides not using level 2 or 3 optimisations?
Figure out what triggers the error, and change the code to something equivalent but different syntactically. Or check bugtracker whether the bug has been reported and fixed, if yes then use fixes version of the compiler. Otherwise, report and wait for the fix, or fix the bug yourself.

Turbonobo

  • New member
  • *
  • Posts: 23
Re: Fatal: Internal error 200410231 using -O2 or -O3 option
« Reply #2 on: May 26, 2014, 07:29:35 pm »
I reported the bug on the bugtracker.

Just curious, how can the errornumber give the debuggers a clue what the cause could be?
The wiki page http://wiki.freepascal.org/Lazarus_Faq
mentions 'Fatal: Internal error XXXXYYZZW'
what is the meaning of X, Y ,Z and W ?

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: Fatal: Internal error 200410231 using -O2 or -O3 option
« Reply #3 on: May 26, 2014, 07:34:21 pm »
It looks to me as a date in ISO8601 notation followed by a serial number.
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: Fatal: Internal error 200410231 using -O2 or -O3 option
« Reply #4 on: May 26, 2014, 07:38:56 pm »
Just curious, how can the errornumber give the debuggers a clue what the cause could be?
Try searching for that number inside the fpc source code using e.g. grep ;)
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

Leledumbo

  • Hero Member
  • *****
  • Posts: 8075
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: Fatal: Internal error 200410231 using -O2 or -O3 option
« Reply #5 on: May 27, 2014, 03:09:23 am »
Quote
Just curious, how can the errornumber give the debuggers a clue what the cause could be?
That number is put on code branches that should NEVER execute.