Seltsamer Fehler beim Beenden des Programms

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Komoluna
Beiträge: 565
Registriert: So 26. Aug 2012, 09:03
OS, Lazarus, FPC: Windows(10), Linux(Arch)
CPU-Target: 64Bit

Seltsamer Fehler beim Beenden des Programms

Beitrag von Komoluna »

Liebes Forum,

wenn mein programm länger als 10s läuft wird beim Beenden immer eine Fehlermeldung (External: SIGSEGV) erzeugt.
Im Aufrufstack ist die letze Codestelle in der Unit WSLCLClasses, Zeile 549:

Code: Alles auswählen

 
  for n := 0 to MComponentIndex.Count - 1 do
  begin
    Node := PClassNode(MComponentIndex.Objects[n]);
    if not Assigned(Node) then Continue;
    if Node^.VClass <> nil
    then Freemem(Node^.VClass); //<- Zeile 549
    Dispose(Node);
  end;       

Aufrufstack:

Code: Alles auswählen

#0 SYSTEM_SYSFREEMEM$POINTER$$LONGWORD at :0
#1 ?? at :0
#2 ?? at :0
#3 U_SYSINITPAS_ENTRYINFORMATION at :0
#4 U_SYSTEM_ENTRYINFORMATION at :0
#5 SYSTEM_FREEMEM$POINTER$$LONGWORD at :0
#6 DOFINALIZATION at .\widgetset\wslclclasses.pp:550
#7 WSLCLCLASSES_finalize at .\widgetset\wslclclasses.pp:559
#8 SYSTEM_FINALIZEUNITS at :0
#9 EXCEPTIONOCCURRED(0x402c65, 0x40d2a5, 6341444, 0x163ff80) at forms.pp:1787
#10 SYSTEM_EXE_ENTRY$TENTRYINFORMATION at :0
 

leider habe ich keine Ahnung, was der Code an der Stelle macht, oder wo der Fehler liegt.

Wenn ich mein Programm starte und sofort(3s-7s) wieder beende tritt der Fehler nicht auf.
Hat wer ne Ahnung woran das liegen könnte?

MFG

Komoluna
Programmer: A device to convert coffee into software.

Rekursion: siehe Rekursion.

mark332
Beiträge: 202
Registriert: Do 16. Mai 2013, 13:49
OS, Lazarus, FPC: Windows 10 H.P. (x64) / Ubuntu 14.04.X
CPU-Target: AMD Octacore 4.0GHz

Re: Seltsamer Fehler beim Beenden des Programms

Beitrag von mark332 »

Der Fehler tritt ja anscheinend in der "forms.pp" auf, ich würde mich zuerst fragen, ob ich an einem Formular irgendetwas verändere, dass diese Ausnahme auslösen kann.
(Betrifft auch Komponenten der Formulare, da ich vermuten würde, dass hier die Komponenten freigegeben werden)
Hast du dazu eine Idee ?
------------------------------------------------------------
Warum gibt es hier eigentlich kein [SPOILER][/SPOILER] ?

wp_xyz
Beiträge: 4889
Registriert: Fr 8. Apr 2011, 09:01

Re: Seltsamer Fehler beim Beenden des Programms

Beitrag von wp_xyz »

Komoluna hat geschrieben:leider habe ich keine Ahnung, ... wo der Fehler liegt.

Ich auch nicht. Du musst schon mehr verraten, was du machst.

Komoluna
Beiträge: 565
Registriert: So 26. Aug 2012, 09:03
OS, Lazarus, FPC: Windows(10), Linux(Arch)
CPU-Target: 64Bit

Re: Seltsamer Fehler beim Beenden des Programms

Beitrag von Komoluna »

In Sachen Formular macht meine Anwendung nicht viel, es werden nicht einmal Komponenten dynamisch erzeugt/gelöscht.

Nachdem ich alle Memoryleaks gefixt habe, hält die Anwendung nun länger durch. Ganz behoben ist das Problem trotzdem nicht, der Fehler tritt nurnoch sporadisch auf, manchmal wenn die Anwendung gerade mal 60s läuft, und manchmal auch erst nach 10 Minuten(immer beim Programmende).

MFG

Komoluna
Programmer: A device to convert coffee into software.

Rekursion: siehe Rekursion.

Antworten