Skip to content

FastMM4 states there are memory leaks #111

@vesnx

Description

@vesnx

Hi,

Mybe I am doing it wrong but I am trying to have the logs flush and so I made a method:

implementation uses Quick.Logger, Quick.Logger.Provider.Files, Quick.Logger.ExceptionHook; procedure FinalizeLogger; stdcall; var count: Integer; begin Log('Logger shutdown', etInfo); // Force the logger to flush any buffered messages. if Assigned(Logger) then begin count := Logger.QueueCount; Log('There are %d log items in queue.', [count], etInfo); end; if Assigned(GlobalLogFileProvider) then begin GlobalLogFileProvider.Drain; GlobalLogFileProvider.Stop; end; end; procedure FinalizeLogger; stdcall; var count: Integer; begin Log('Logger shutdown', etInfo); // Force the logger to flush any buffered messages. if Assigned(Logger) then begin count := Logger.QueueCount; Log('There are %d log items in queue.', [count], etInfo); end; if Assigned(GlobalLogFileProvider) then begin GlobalLogFileProvider.Drain; GlobalLogFileProvider.Stop; end; end; 

In my test I initialize and Finalize the log to make sure i capture it all:

 [TestFixture] EncyptionTest = class public [Setup] procedure Setup; [TearDown] procedure TearDown; [Test] procedure DeriveKeyFromPasswordTest; [Test] procedure DeriveSameKeyFromPasswordTest; [Test] procedure RoundTripTest; end; procedure EncyptionTest.Setup; begin InitializeLogger; end; procedure EncyptionTest.TearDown; begin FinalizeLogger; end; 

When the test ends I get a warning box
image

I enabled the detail logs and attached them

WalterNativeTests_MemoryManager_EventLog.txt

Am I doing something wrong, what am I missing?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions