[gelöst] Memoryleak in SQLite3db.TSqlite?

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2805
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

[gelöst] Memoryleak in SQLite3db.TSqlite?

Beitrag von m.fuchs »

Hallo,
ich spiele gerade ein bisschen mit SQLite3db herum und bin auf ein potenzielles Speicherleck gestoßen.

Code: Alles auswählen

program SqliteMemoryLeak;
{$mode objfpc}{$H+}
 
uses
  HeapTrc, {$IFDEF UNIX}{$IFDEF UseCThreads}CThreads,{$ENDIF}{$ENDIF}
  Classes, SysUtils, SQLite3db;
 
var
  X: TSQLite;
  S: TStringList;
 
begin
  try
    S := TStringList.Create;
    X := TSqlite.Create('test.sqlite');
    X.Query('SELECT * FROM FIRM', S);
  finally
    FreeAndNil(X);
    FreeAndNil(S);
  end;
end.
Das Programm funktioniert, aber es produziert einen Haufen nicht freigegeben Speicher im Heaptrace-Log:
http://michael-fuchs.net/newsgroups/fpc ... ryleak.trc

Sogar wenn ich nicht einmal eine Datenbankabfrage ablaufen lasse, sondern nur das TSqlite erzeuge und zerstöre, tritt eine unfreed memory - Message auf.

Code: Alles auswählen

begin
  try
    X := TSqlite.Create('test.sqlite');
  finally
    FreeAndNil(X);
  end;
end.
 
Mache ich irgendetwas falsch bei der Benutzung oder ist das Ganze mal einen Bugreport wert?

Michael
Zuletzt geändert von m.fuchs am Mo 11. Mär 2013, 17:16, insgesamt 1-mal geändert.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2805
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Memoryleak in SQLite3db.TSqlite?

Beitrag von m.fuchs »

Nur zur Info: eine Lösung habe ich bisher noch nicht gefunden.

Ich hab einen Eintrag im Bugtracker erstellt: http://bugs.freepascal.org/view.php?id=23247
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2805
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Memoryleak in SQLite3db.TSqlite?

Beitrag von m.fuchs »

Der Patch hat alle Probleme gelöst. Also zumindest die, die ich gefunden habe, da ich ihn selber geschrieben habe. Es kann also bei dir auch ein anderes Problem sein.

Entweder lädst du dir die .patch-Datei aus dem Bugtracker und wendest ihn auf die Datei an oder du wartest bis heute Abend. Dann stelle ich eine gepatchte Datei bereit.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Benutzeravatar
theo
Beiträge: 10865
Registriert: Mo 11. Sep 2006, 19:01

Re: Memoryleak in SQLite3db.TSqlite?

Beitrag von theo »

m.fuchs hat geschrieben:Der Patch hat alle Probleme gelöst. Also zumindest die, die ich gefunden habe, da ich ihn selber geschrieben habe. Es kann also bei dir auch ein anderes Problem sein.

Entweder lädst du dir die .patch-Datei aus dem Bugtracker und wendest ihn auf die Datei an oder du wartest bis heute Abend. Dann stelle ich eine gepatchte Datei bereit.
???
Mit wem sprichst du?

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2805
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Memoryleak in SQLite3db.TSqlite?

Beitrag von m.fuchs »

Mit dem inzwischen wieder entfernten Spammer. :oops:
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Antworten