Freepascall und Fehler auf Serverfarm

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Ronny58
Beiträge: 73
Registriert: So 27. Apr 2014, 20:35

Freepascall und Fehler auf Serverfarm

Beitrag von Ronny58 »

Hallo Zusammen,

ich bin Gelegenheitsentwickler und erstelle kleine Tools für meine Arbeit.
Wenn ich meine kompilierten Programme auf unserer Citrix-Serverfarm (Windows 2008, soweit ich weiß) ausführe, erhalte ich beim Beenden der Programme jedes mal ein Latte von Exception-Fehlermeldung. Auf meinem privaten PC oder Firmenlaptop passiert das nicht.
Ein Entwickler in unserem Haus, der sich das angesehen hat, ist der Meinung, dass es sich hierbei um Fehler bei der Freigabe von adressiertem Speicher handelt.
Delphi-Programme zeigen so ein Verhalten nicht. Allerdings steht mir Delphi nicht zur Verfügung.
Es ist im Prinzip nur störend, beeinträchtigt die Programmfunktionen aber nicht. Die Programme laufen einwandfrei. Da ich meine Tools auch anderen Mitarbeitern geben möchte sieht das halt etwas blöd aus, wenn man nach dem Beenden des Programm geschätzte 10 Fehlerdialoge wegklicken muss.
Kennt jemand das Problem ? Weiß jemand, wie ich das lösen kann ?

LG Ronny58

creed steiger
Beiträge: 954
Registriert: Mo 11. Sep 2006, 22:56

Re: Freepascall und Fehler auf Serverfarm

Beitrag von creed steiger »

Welche Fehlermeldung(en)?

Ronny58
Beiträge: 73
Registriert: So 27. Apr 2014, 20:35

Re: Freepascall und Fehler auf Serverfarm

Beitrag von Ronny58 »

so was wie anhängender Screenshot.
da kommen immer wieder kehrende Dialoge, die immer mehr Fehlermeldungen enthalten.
Der anhängende Screenshot ist so etwa unters Drittel. Ich Nutze dabei keine besonderen Strukturen oder Pointer.
Da ist ein TStringlist und eine paar Variablen drin. Ich hab zur Fehlermeldung mal auch die Unit angehängt.
Kein Hexenwerk, ein bisschen was lesen, Multiplizieren und weg schreiben.

LG Ronny58
Dateianhänge
unit1.pas
(8.87 KiB) 32-mal heruntergeladen
error.jpg

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

Re: Freepascall und Fehler auf Serverfarm

Beitrag von theo »

Passiert es auch, wenn man nichts tut und das Formular gleich wieder schliesst?

Schon mal mit FindClose probiert? http://lazarus-ccr.sourceforge.net/docs ... close.html

Ronny58
Beiträge: 73
Registriert: So 27. Apr 2014, 20:35

Re: Freepascall und Fehler auf Serverfarm

Beitrag von Ronny58 »

probiere ich heute mal aus

Ronny58
Beiträge: 73
Registriert: So 27. Apr 2014, 20:35

Re: Freepascall und Fehler auf Serverfarm

Beitrag von Ronny58 »

So, habe jetzt ein leeres Formular erzeugt, compiliert und gestartet.
Auch hier die gleich Situation. Nach dem Schließen des Dialoges über des X werden die gleichen Exceptions ausgelöst.
Ich hab jetzt mal mit gezählt. 17 Fehlermeldungen müssen weg geklickt werden.
Nochmals zu Erläuterung, wir arbeiten mit Thin-Clients auf Windows 2008 Server. Auf welchen physikalischen Server ich lande variert an deren Auslastung.

LG Ronny58

Michl
Beiträge: 2365
Registriert: Di 19. Jun 2012, 12:54

Re: Freepascall und Fehler auf Serverfarm

Beitrag von Michl »

Mit welcher Lazarus/Freepascal-Version entwickelst Du? Hast Du das Verhalten schon mal mit einer älteren/neueren Version verglichen?

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

Ronny58
Beiträge: 73
Registriert: So 27. Apr 2014, 20:35

Re: Freepascall und Fehler auf Serverfarm

Beitrag von Ronny58 »

aktuell verwende ich Lazarus 1.2.0 und FPC 2.6.2.
Ich hatte vor eine halben Jahr mit einer älteren Version des gleich Problem.
Wie gesagt, auf Standalone-Rechner Fehlerfrei (Firmenlaptop, privater PC), auf der Serverfarm diese Fehlermeldungen.
Ich vermute schon, dass dies mit dem Freigeben von Speicherbereich auf dem Server zu tun hat. Nur warum nicht der Fehler bereits beim Reservieren des Speichers.
Die Programme laufen ja sonst soweit Fehlerfrei und Delphi-Programme zeigen das Phänomen nicht.
Wenn mir das Tagesgeschäft heute Zeit lässt, werde ich mal versuchen ob ich das Debuggen kann. Ach Unsinn, geht ja nicht, hab auf dem Server keine IDE.

Michl
Beiträge: 2365
Registriert: Di 19. Jun 2012, 12:54

Re: Freepascall und Fehler auf Serverfarm

Beitrag von Michl »

Kann Dir zwar nicht sagen, woran das liegt, um den Fehler weiter einzugrenzen würde ich noch ein einfaches Programm, sowas wie

Code: Alles auswählen

program Project1;
 
begin
  Writeln('Hallo');
  Readln;
end.     
erstellen und testen. Falls das fehlerfrei funktioniert, würde ich den Fehler eher in TApplication von Lazarus als bei Freepascal vermuten. Weiss nicht, ob sich dann fpGUI oder MSEgui dort besser schlagen?!

Bevor Du den Bugtracker bemühst, ist es sinnvoll, die Quelle des Fehlverhaltens weiter einzugrenzen (möglichst auch mal Laz.1.2.2 mit FPC 2.6.4 und Laz.1.3 mit FPC 2.7.1 testen)!

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

Ronny58
Beiträge: 73
Registriert: So 27. Apr 2014, 20:35

Re: Freepascall und Fehler auf Serverfarm

Beitrag von Ronny58 »

Hallo Michl,

ich das Progamm, wie Du es empfohlen hast, getestet.
Keine Fehlermeldung mehr.

Ronny58
Beiträge: 73
Registriert: So 27. Apr 2014, 20:35

Re: Freepascall und Fehler auf Serverfarm

Beitrag von Ronny58 »

Hab mir gerade das neuste Release gezogen. FPC 2.6.4 und Lazarus 1.2.2
Die selben Fehler. Ältere Versionen als zuvor beschrieben habe ich nicht.

Michl
Beiträge: 2365
Registriert: Di 19. Jun 2012, 12:54

Re: Freepascall und Fehler auf Serverfarm

Beitrag von Michl »

Das nächste was ich testen würde, wäre eine einfache Konsolenanwendung.

z.B: Projekt -> neues Projekt -> Konsolenanwendung
und sowas wie

Code: Alles auswählen

procedure TMyApplication.DoRun;
...
  { add your program here }
  writeln('Hallo nochmals');
  Readln;
...
einfügen und probieren...

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

martin_frb
Beiträge: 507
Registriert: Mi 25. Mär 2009, 21:12
OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
CPU-Target: mostly 32 bit

Re: Freepascall und Fehler auf Serverfarm

Beitrag von martin_frb »

Nach den Adressen zu urteilen, 64 bit? Google die wiki: SEH

Andernfalls: http://forum.lazarus.freepascal.org/ind ... #msg147140

Finde heraus wo in der app die Adresse ist. Du must ggf mehr als die Top Adresse haben. Das ist, mit logfile arbeiten, und eine stackdump erzeugen (falls das nicht eh passiert)

Ronny58
Beiträge: 73
Registriert: So 27. Apr 2014, 20:35

Re: Freepascall und Fehler auf Serverfarm

Beitrag von Ronny58 »

Jup, alles 64-Bit aber wie gesagt, ich kann mit Lazarus nicht debuggen.
Die Entwicklungsumgebung ist auf meinen Laptop installiert (Window 7 Professionell 64-Bit). Da läuft alles ohne Fehler.
Unsere Systemtechniker würden mich Lynchen, wenn ich mit der Bitte käme, Lazarus auf dem Server zu installieren. Zumal sie dies auf ca. 30 Servern machen müsste, da ich ja bei der Anmeldung nie weiß, auf welchem Server ich lande :). Mit etwas Glück dürfte ich mir dabei noch den Fahnenmast aussuchen, an dem ich hänge.

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: Freepascall und Fehler auf Serverfarm

Beitrag von Bauer321 »

guck mal hier: http://wiki.freepascal.org/Logging_exceptions
Such nach "unhandled". Die dort beschriebene Methode könnte abhilfe schaffen. Standard scheint zu sein, dass eine Meldung angezeigt wird, du könntest die Meldungen dann entweder verwerfen oder loggen
www.mcpatcher.net | www.hoeper.me

Antworten