QuickLogger icon indicating copy to clipboard operation
QuickLogger copied to clipboard

FastMM4 states there are memory leaks

Open vesnx opened this issue 1 year ago • 4 comments

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?

vesnx avatar Mar 14 '24 20:03 vesnx

Are you using it in a dll?

exilon avatar Oct 08 '24 21:10 exilon

Yes

vesnx avatar Oct 09 '24 08:10 vesnx

Could you show me InitializeLogger function code?

exilon avatar Oct 09 '24 14:10 exilon

I have already removed the component, it has been quite some time that I reported it.

vesnx avatar Oct 10 '24 07:10 vesnx