I have recently started seeing FPC internal error 200310221 when compiling a changed program with lazarus using the trunk fpc version. If I do a build, the problem goes away, only to recur after a random number of changes/recompiles. The program I am working on is quite large, so it is not obvious how to generate a simple test case for reporting. Suggestions?

I managed to catch the error in gdb, but the info is not that helpful:

Free Pascal Compiler version 3.1.1 [2016/08/23] for x86_64
Copyright (c) 1993-2016 by Florian Klaempfl and others
(1002) Target OS: Linux for x86-64
(3104) Compiling pgopher.lpr

Breakpoint 3, RESOLVE (this=...) at symtype.pas:823
823               internalerror(200310221);
(gdb) where
#0  RESOLVE (this=...) at symtype.pas:823
#1  0x0217000100000008 in ?? ()
#2  0x00007fff9e000000 in ?? ()
#3  0x00007ffff7754f00 in ?? ()
#4  0x00007fffe391fac0 in ?? ()
#5  0x0000000000000000 in ?? ()
(gdb) info locals
result = 0x0
RESOLVE = 0x0
RESULT = 0x0
PM = 0x7fffe6e2f2c0
TYP = 228
IDX = 929
I = 140737035875040
LEN = 8
DATA = {1, 0, 23, 2, 0, 0, 0, 158, 255, 127, 0, 0, 0, 79, 117, 247, 255, 127, 0, 0, 192, 250, 145, 227, 255, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, 232, 227, 211, 226, 255, 127, 0, 0, 121, 135, 65, 0, 0, 0, 0, 0, 224, 55, 255, 255, 255, 127, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 232, 227, 211, 226, 255, 127, 0, 0, 216, 25, 113, 231, 255, 127, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 254, 126, 65, 0, 0, 0, 0, 0, 224, 26, 0, 0, 0, 0, 0, 0, 236, 140, 65, 0, 0, 0, 0, 0, 1, 180, 206, 226, 255, 127, 0, 0, 249, 137, 65, 0, 0, 0, 0, 0, 48, 79, 117, 247, 255, 127, 0, 0, 64, 82, 175, 240, 255, 127, 0, 0, 86, 3, 0, 0, 0, 0, 0, 0, 216, 33, 0, 0, 0, 0, 0, 0, 104, 36, 113, 247, 255, 127, 0, 0, 129, 141, 65, 0, 0, 0, 0, 0, 86,
  3, 0, 0, 0, 0, 0, 0, 59, 4, 0, 0...}
(gdb) list
818             if dataidx<0 then
819               internalerror(200306067);
820             { read data }
821             current_module.derefdata.seek(dataidx);
822             if current_module.derefdata.read(len,1)<>1 then
823               internalerror(200310221);
824             if len>0 then
825               begin
826                 if current_module.derefdata.read(data,len)<>len then
827                   internalerror(200310222);

Colin
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to