<div dir="ltr">Hello,<div><br></div><div>Just create a project like this:</div><div><br></div><div><div><font face="monospace, monospace">program project1;</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">{$mode objfpc}{$H+}</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">uses heaptrc;</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">begin</font></div><div><font face="monospace, monospace">end.</font></div><div><br></div><div>Now, compile and try to run that, you will get this error:</div><div><br></div><div><div><font face="monospace, monospace">Heap dump by heaptrc unit</font></div><div><font face="monospace, monospace">0 memory blocks allocated : 0/0</font></div><div><font face="monospace, monospace">0 memory blocks freed     : 0/0</font></div><div><font face="monospace, monospace">0 unfreed memory blocks : 0</font></div><div><font face="monospace, monospace">True heap size : 131072 (1856 used in System startup)</font></div><div><font face="monospace, monospace">True free heap : 129216</font></div><div><font face="monospace, monospace">An unhandled exception occurred at $770E8E19:</font></div><div><font face="monospace, monospace">EAccessViolation: Access violation</font></div><div><font face="monospace, monospace">  $770E8E19</font></div><div><font face="monospace, monospace">  $770E8D28</font></div><div><font face="monospace, monospace">  $0040A8C9</font></div><div><font face="monospace, monospace">  $0040A456</font></div><div><font face="monospace, monospace">  $00413BC2</font></div></div><div><br></div><div>Why an access violation in an empty project, is it a <span style="font-family:monospace,monospace">heaptrc</span> bug?</div><div><br></div><div>Now, if you compile and run this project below with -gh:</div><div><br></div><div><div><font face="monospace, monospace">program project1;</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">{$mode objfpc}{$H+}</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">begin</font></div><div><font face="monospace, monospace">end.</font></div></div><div><br></div><div>You will get:</div><div><br></div><div><div><font face="monospace, monospace">Heap dump by heaptrc unit</font></div><div><font face="monospace, monospace">47 memory blocks allocated : 1173/1280</font></div><div><font face="monospace, monospace">47 memory blocks freed     : 1173/1280</font></div><div><font face="monospace, monospace">0 unfreed memory blocks : 0</font></div><div><font face="monospace, monospace">True heap size : 163840 (112 used in System startup)</font></div><div><font face="monospace, monospace">True free heap : 163728</font></div></div><div><br></div><div>What means "112 used in System startup"? I have a project that in some cases I get:</div><div><br></div><div><div><font face="monospace, monospace">Heap dump by heaptrc unit</font></div><div><font face="monospace, monospace">90 memory blocks allocated : 2827/3072</font></div><div><font face="monospace, monospace">90 memory blocks freed     : 2827/3072</font></div><div><font face="monospace, monospace">0 unfreed memory blocks : 0</font></div><div><font face="monospace, monospace">True heap size : 196608</font></div><div><font face="monospace, monospace">True free heap : 196480</font></div><div><font face="monospace, monospace">Should be : 196608</font></div></div><div><br></div><div>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".</div><div><br></div>--<br><div><div dir="ltr"><div>Silvio Clécio</div></div></div>
</div></div>