Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2016-11

Error: Internal error 2014052302

3 messages · 3 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Tony Whyman

Any ideas as to what this means?

Seen on FPC 3.0.0 under AMD64 Linux Mint 17

The odd thing about this one is that :

a) Always on the same blank line just after a constructor

b) Goes away when you recompile clean

c) Seems to be fixed by just moving the constructor to the end of the unit.

Pierre Free Pascal
to Tony Whyman

Hi,

Show quoted text 8 lines
-----Message d'origine----- De : [mailto:fpc-pascal- De la part de Tony Whyman Envoyé : dimanche 20 novembre 2016 15:13 À : FPC-Pascal users discussions Objet : [fpc-pascal] Error: Internal error 2014052302 Any ideas as to what this means?

As a general rule, internal errors are consistency checks that are made inside the compile.
You will need to look into the compiler sources
themselves to get more precise information.

  Here searching using grep gives:
in directory fpcbuild-3.0.0/fpcsrc/compiler
$ grep -n 2014052302 *pas *inc */*pas */*inc
symdef.pas:1959:              internalerror(2014052302);
symdef.pas-1946-    procedure tstoreddef.deref;
symdef.pas-1947-      var
symdef.pas-1948-        symderef : pderef;
symdef.pas-1949-        i : longint;
symdef.pas-1950-      begin
symdef.pas-1951-        typesym:=ttypesym(typesymderef.resolve);
symdef.pas-1952-        if df_specialization in defoptions then
symdef.pas-1953-          genericdef:=tstoreddef(genericdefderef.resolve);
symdef.pas-1954-        if assigned(genconstraintdata) then
symdef.pas-1955-          genconstraintdata.deref;
symdef.pas-1956-        if assigned(genericparas) then
symdef.pas-1957-          begin
symdef.pas-1958-            if not assigned(genericparaderefs) then
symdef.pas:1959:              internalerror(2014052302);

So the problem here is apparently that genericparas is assigned but genericparaderefs is not!

From this, I can assume that your code is using generics feature, which is a part of the compiler that I really don't know...

Show quoted text 5 lines
Seen on FPC 3.0.0 under AMD64 Linux Mint 17 The odd thing about this one is that : a) Always on the same blank line just after a constructor

This constructor is a specialization of a generic class definition, no?

b) Goes away when you recompile clean

This might suggest a subtle problem with PPU
loading versus full recompilation.

Without a full ensemble of source files that
is able to reproduce the described behavior fully, it will be difficult to help you out.

Pierre Muller

Sven Barth
to Pierre Free Pascal
"Pierre Free Pascal" wrote 53 lines
Hi, > -----Message d'origine----- > De : [mailto:fpc-pascal- > De la part de Tony Whyman > Envoyé : dimanche 20 novembre 2016 15:13 > À : FPC-Pascal users discussions > Objet : [fpc-pascal] Error: Internal error 2014052302 > > Any ideas as to what this means? As a general rule, internal errors are consistency checks that are made inside the compile. You will need to look into the compiler sources themselves to get more precise information. Here searching using grep gives: in directory fpcbuild-3.0.0/fpcsrc/compiler $ grep -n 2014052302 *pas *inc */*pas */*inc symdef.pas:1959: internalerror(2014052302); symdef.pas-1946- procedure tstoreddef.deref; symdef.pas-1947- var symdef.pas-1948- symderef : pderef; symdef.pas-1949- i : longint; symdef.pas-1950- begin symdef.pas-1951- typesym:=ttypesym(typesymderef.resolve); symdef.pas-1952- if df_specialization in defoptions then symdef.pas-1953- genericdef:=tstoreddef(genericdefderef.resolve); symdef.pas-1954- if assigned(genconstraintdata) then symdef.pas-1955- genconstraintdata.deref; symdef.pas-1956- if assigned(genericparas) then symdef.pas-1957- begin symdef.pas-1958- if not assigned(genericparaderefs) then symdef.pas:1959: internalerror(2014052302); So the problem here is apparently that genericparas is assigned but genericparaderefs is not! From this, I can assume that your code is using generics feature, which is a part of the compiler that I really don't know... > Seen on FPC 3.0.0 under AMD64 Linux Mint 17 > > The odd thing about this one is that : > > a) Always on the same blank line just after a constructor This constructor is a specialization of a generic class definition, no? > b) Goes away when you recompile clean This might suggest a subtle problem with PPU loading versus full recompilation.

That had already been fixed in trunk and I think I also had the fix be merged to 3.0.1, so it would be in the 3.0.2 release as well.

Regards,
Sven