FullDebugMode and LogErrorsToFile ignored
Is there a way to force FastMM to release freed memory back to the OS? Using Delphi 2009 with buildin FastMM. Tried to change the build configuration to Release instead of Debug, but FastMM still keeps the memory instead of releasing it back. Back in Delphi 7, when you free something, it insta released it back to the OS. I know it might not be good for performance.
I have an application with about 10 DLLs. The program is made with C++Builder XE4 32 bit VCL. The DLLs are all created as VCL Dlls. When I include a call to a Dll using the code below the FastMM gives the ‘cannot be installed’ error seen below. How can I make FastMM work in an app which calls DLLs? Without the calls to the DLL functions FastMM4 works correctly. Is there a recommended way to setup DLL calls? FastMM4 cannot be installed since another third party memory manager has already installed...
I am using C++Builder XE4 with the VCL 32 bit platform. I have installed FastMM successfully into most of my projects but one project shows the error message below. I am running the program though the IDE in debug mode. I am not sure my project has a .dpr file which is a Delphi file. I have FastMM4.pas list as the top item in the Build Order for the Delphi files and FastMM4BCB.cpp as the top item in the Build Order for the C++ Files. What can I try to solve this problem? FastMM4 cannot be installed...
{----------------------------Public types------------------------------} type {Make sure all the required types are available} {$ifdef BCB6OrDelphi6AndUp} {$if CompilerVersion < 20} PByte = PAnsiChar; // <-- REMOVE COMPLETELY, PByte EXISTS IN D/CB 6+! ... {$ifend} ... {$else} PByte = PAnsiChar; // <-- PByte EXISTS IN D/CB 5, TOO! Not sure about D/CB 4, though... ... {$endif}
Redeclaring PByte when not needed
Delphi (x64) ACCESS Violation resulted by a Freed Object Class
I have an application that takes some time to open due to significant preloading of lists from a database. I implemented a splash screen, opening it in the project source file. This is the code: begin Application.Initialize; Application.MainFormOnTaskbar := True; frm_SplashScreen := Tfrm_SplashScreen.Create(Application); frm_SplashScreen.ProgramName := 'Garrett Customer Relations'; frm_SplashScreen.CopyrightYear := 2016; frm_SplashScreen.SplashImageRes := 'SPLASHIMAGE'; frm_SplashScreen.ProgressMessage...
Sorry. The >> did not display as I expected. The access violation error occurs in the call to LogStackTrace.
I have an application that takes some time to open due to significant preloading of lists from a database. I implemented a splash screen, opening it in the project source file. This is the code: begin Application.Initialize; Application.MainFormOnTaskbar := True; frm_SplashScreen := Tfrm_SplashScreen.Create(Application); frm_SplashScreen.ProgramName := 'Garrett Customer Relations'; frm_SplashScreen.CopyrightYear := 2016; frm_SplashScreen.SplashImageRes := 'SPLASHIMAGE'; frm_SplashScreen.ProgressMessage...
Small correction - 64-bit was added to C++Builder in XE3 Update 1, not in XE2. However, the memory manager functions do use NativeInt in XE2, so please make sure FastMM4.pas is handling that correctly, a least.
FastMM4BCB.cpp does not compile in XE2+ 64bit
FastMM4, by default, on thread contention, when one thread cannot acquire access to data, locked by another thread, calls Windows API function Sleep(0), and then, if the lock is still not available enters a loop by calling Sleep(1) after each check of the lock. Each call to Sleep(0) experiences the expensive cost of a context switch, which can be 10000+ cycles; it also suffers the cost of ring 3 to ring 0 transitions, which can be 1000+ cycles. As about Sleep(1) – besides the costs associated with...
What do you think about an option to fill freed (not actually used) pages with zero bytes? This may improve performance under Windows, and also under VMWare and other virtual machine environments? For example, VMWare and HyperV calculate hash of memory pages, and, if the contents is the same, mark this page as "shared" inside a virtual machine and between virtual machines on the same host, until the page is modified. It effectively decreases memory consumption. Windows does the same - it handles...
A similar problem. In search of memory leaks write a memory dump every 10 minutes...
A similar problem. In search of memory leaks write a memory dump every 10 minutes...
A similar problem. In search of memory leaks write a memory dump every 10 minutes...
In FastMM4BCB.cpp, change lines 507, 508 to the following: #if (__BORLANDC__ < 0x0560)...
Hello. I have an application made in Delphi 7 and had several problems with "out...
Mr. Muetze1. Thank you for advice. Firm to confirm the contents of the FastMM4Options.inc,...
Hi! Please take a look in the FastMM4Options.inc for the possible options. Inside...
Create a program to the memory leak, and run from the IDE to detect memory leaks,...
FastMM does not work in C++Builder 10.1 Berlin
Hi Bogdan, If you can whittle the issue down to a small test case I'll take a look....
Hi Pierre, Thank you for your answer. I've tried for a few hours and I enabled ShareMMIfLibrary...
Hi Pierre, Thank you for your answer. I've tried for a few hours and I enabled ShareMMIfLibrary...
Hi Pierre, Thank you for your answer. I've tried for a few hours and I enabled ShareMMIfLibrary...
Hi Bogdan, The important steps for sharing the memory manager between the main application...
I've changed a few weeks ago ShareMem to FastMM4 in our application that runs in...
I've changed a few weeks ago ShareMem to FastMM4 in our application that runs in...
I've changed a few weeks ago ShareMem to FastMM4 in our application that runs in...
I've changeda few weeks ago ShareMem to FastMM4 in our application that runs in Delphi2007....
I’m very new to FastMM. I installed the latest version and followed all the instructions....
I’m very new to FastMM. I installed the latest version and followed all the instructions....
Moved to GitHub
yes scalemm is much much more faster than fastmm on multithread scenario ! where...
warning is fixed. scalemm2 is used in production by some users, but there is in some...
yes i know ScaleMM, but is it really stable? for exemple just trying to compile under...
Btw: I made my own MM with almost perfect scaling: ScaleMM https://github.com/an...
I often hear people who are ready to pay to have a version of fastMM that work fast...
Please note that, from my preliminary testing, the patch for FPC does not work under...
Thanks Arnaud, much appreciated!
Added Kylix and other compatibility fixes by Ar...
The patch is great, but has some problems. Especially it broke Kylix compatibility....
Support added for Free Pascal's OS X and Linux ...
Thank you, that's awesome! I'll commit it to the repository shortly.
Free Pascal OS X & Linux 32/64-bit support
FastMM crash in XE5 RemoteDebugger
Manual fix for FastMM4: http://pastebin.com/fNkNvenp
D2007 compile library FastMM_FullDebugMode Version 1.63
Well (using D2007), My issue is using Eurekalog V7 on the App and using the FastMM_FullDebugMode.dll...
Now I'm thinking that all I see above is FastMM working PERFECTLY, and me being confused...
The other crash, that occurs though, is in FastMM4.pas itself, and this one reproduces...
The other crash, that occurs though, is in FastMM4.pas itself, and this one reproduces...
The other crash, that occurs though, is in FastMM4.pas itself: function DebugGetMem(ASize:...
Note: By phantom, I mean, that it is the nature of FastMM_FullDebugMode's code, which...
A self contained example/demo program is available (zip file, should open and build...
Answers: 1. Lack of .map file 4. With presence of .map file the translation is done....
Hi, It's my first experience with FastMM (FastMM4 in Delphi XE6 project (32bits)...
It's my first experience with FastMM (FastMM4 in Delphi XE6 project (32bits) on Win7...
Thanks Pierre, good you agree it is a useful change. I'm doing just fine, hope you...
Include the average block sizes when logging th...
Hi Hallvard, Hope you are well, and thanks for the patch! When I read this I immediately...
Hi Pierre, The (relatively) new LogMemoryManagerStateToFile function was a great...
FastMM LogAllocatedBlocksToFile in ShareMM
I know this is a very old trail, but I just ran into this issue with XE4 and I finally...
I know this is a very old trail, but I just ran into this issue with XE4 and I finally...
OS X FullDebugMode support added by Sebastian Z...
Hello Pierre, the suggested workaround has one problem: The ExitProc will not called...
Hi Pierre, this is a old thread but actually I have the same problem with FastMM4991....