I have a D2006 app that uses FastMM4 (like, it has "FastMM4" in the start of the uses clause in the DPR file). I know Delphi uses FastMM4 as it's memory manager anyway, but the downloaded version has more debug dump options.
I recently tried to run the app on a single-board tablet type industrial PC running Windows XP embedded. The processor is a non-Intel "Vortex" chip. The app fails with a memory error on startup and then exits with a complaint from FastMM4 about accessing memory after it has been freed.
Removing all traces of FastMM4 from the source code seems to cure it - the app runs fine.
My question. What is it about the downloaded version of FastMM4 that causes this problem? I have seen anecdotal stuff about crashes with FastMM4 and non-Intel processors that seem to be related to the use of ASM code. FastMM4 includes a directive to force the generation of non-ASM code, but that doesn't cure the problem.
I'm a bit worried that problems might still exist with the integral D2006 version of FastMM4 and I just haven't seen it yet.
Rule #1: Blame your code first before blaming others.
Articles to find bug in your code: using memory manager in debug mode and memory problems in Delphi.