[fpc-pascal] Access violation in an empty project declaring heaptrc

silvioprog silvioprog at gmail.com
Thu Mar 3 03:06:43 CET 2016


Hello,

Just create a project like this:

program project1;

{$mode objfpc}{$H+}

uses heaptrc;

begin
end.

Now, compile and try to run that, you will get this error:

Heap dump by heaptrc unit
0 memory blocks allocated : 0/0
0 memory blocks freed     : 0/0
0 unfreed memory blocks : 0
True heap size : 131072 (1856 used in System startup)
True free heap : 129216
An unhandled exception occurred at $770E8E19:
EAccessViolation: Access violation
  $770E8E19
  $770E8D28
  $0040A8C9
  $0040A456
  $00413BC2

Why an access violation in an empty project, is it a heaptrc bug?

Now, if you compile and run this project below with -gh:

program project1;

{$mode objfpc}{$H+}

begin
end.

You will get:

Heap dump by heaptrc unit
47 memory blocks allocated : 1173/1280
47 memory blocks freed     : 1173/1280
0 unfreed memory blocks : 0
True heap size : 163840 (112 used in System startup)
True free heap : 163728

What means "112 used in System startup"? I have a project that in some
cases I get:

Heap dump by heaptrc unit
90 memory blocks allocated : 2827/3072
90 memory blocks freed     : 2827/3072
0 unfreed memory blocks : 0
True heap size : 196608
True free heap : 196480
Should be : 196608

So it seems that the "Should be : 196608" in this case is related to the
128 used in the system startup, because when I comment all the code in this
project I get "128 used in System startup".

--
Silvio Clécio
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20160302/221abe9a/attachment.html>


More information about the fpc-pascal mailing list