Re: FastMM 4.13 Exceptions



Hi Mark,

>> If you look at the code in that procedure you will see that a range check
>> error is only possible there if the data area of your application has
>> been corrupted or there was a compilation error (which is unlikely).
>> Since FastMM has not even been installed at that stage it cannot be the
>> fault of FastMM. I think perhaps there is another unit that is
>> initialized before FastMM4.pas that contains a buffer overrun bug.
>
> How should this happen? FastMM is the first unit in my project file.

My point is that it is not possible for a range check error to occur in the
following code:

....
for i := 0 to high(SmallBlockTypes) do
begin
if not Assigned(SmallBlockTypes[i].UpsizeMoveProcedure) then
....

The fact that you report a range check error on the second line leads me to
to the conclusion that your problems are not due to a bug in FastMM,
because:
(a) A range check error on these two lines is ordinarily impossible.
(b) This is the very first code that is executed in the initialization
section of FastMM4.pas, long before it is even installed.

Without having seen exactly what your application does I really can't tell
what is going wrong. Sorry.

Regards,
Pierre


.



Relevant Pages

  • Re: FastMM 4.13 Exceptions
    ... > Hi Mark, ... > to trace through the startup code. ... FastMM should be the first unit initialized. ... The RangeCheckError happens in the initialization part of FastMM ...
    (borland.public.delphi.language.basm)
  • Re: FastMM and memory leaks
    ... just don't know where to do the register. ... As the first thing in the .dpr project file. ... FastMM is installed, and works fine. ... It is the first unit in the DPR ...
    (borland.public.delphi.thirdpartytools.general)
  • Re: FastMM and memory leaks
    ... just don't know where to do the register. ... As the first thing in the .dpr project file. ... FastMM is installed, and works fine. ... It is the first unit in the DPR ...
    (borland.public.delphi.thirdpartytools.general)
  • Re: [FastMM] Invalid pointer operation
    ... FastMM.pas must be the very first unit in the .dpr file. ... FastMM raises this ... Regards, ...
    (borland.public.delphi.language.basm)
  • Re: FastMM and memory leaks
    ... just don't know where to do the register. ... As the first thing in the .dpr project file. ... FastMM must also be listed as ... first unit in the uses clause there. ...
    (borland.public.delphi.thirdpartytools.general)