For Schleife kommt durcheinander....

Für Fragen rund um die Ide und zum Debugger
pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

For Schleife kommt durcheinander....

Beitrag von pluto »

Hallo

Ich habe ein Problem, was ich nicht ganz nachvollziehen kann:

Starte ich meine Anwendung Außerhalb der Lazarus-IDE, sieht die Ausgabe meine Forschleife so aus:
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

Wichtig bis 27.... Ab 22 gibt es "Probleme"..

Nun wollte ich das Problem nachstellen und habe was eigenartiges bemerkt dabei:
Zwischendurch kommt die Forschleife durcheinander dann sieht es in etwa so aus:
0
1
2
3
4
5
0
1
2
3
40
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27


Der Punkt ist: Immer wenn ich versuche die Ausgabe zu markieren, wird die Ausgabe "richtig".
Dieses Verhalten kommt wohl auch nicht immer.... das macht es um so schwerer die Ursache zu finden...
Wenn das Ausgabe Fenster groß genug ist, dass nicht gescrollt werden muss, kommt der Fehler auch nicht...

Könnte es ein Ram Fehler sein?
Liegt es vielleicht am Standard Terminal von Lazrus?
Eine Neue-Lazarus Anwendung zeigt dieses Verhalten offenbar bisher nicht...
MFG
Michael Springwald

Mathias
Beiträge: 6146
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: For Schleife kommt durcheinander....

Beitrag von Mathias »

Welches OS, welches Terminal ?
Wie sieht deine Source aus ?
Wie wird ausgegeben, mit WriteLn ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: For Schleife kommt durcheinander....

Beitrag von pluto »

Stimmt gute Fragen:
1. Linux mit 18.1
2. Standard Terminal von Lazrus

3. Mein Soruce ist einfach eine For schleife:

Code: Alles auswählen

var
  i:Integer;
begin
  for i:=0 to 27 do begin
    writeln(i);
  end;
 
Ich habe sogar alles was mit meinem Programm zu tun hatte, raus genommen.
Es scheint sich aber um ein Buffer Fehler im Terminal Fenster zu handeln, warum weiß ich jedoch nicht.
MFG
Michael Springwald

Epcop
Beiträge: 140
Registriert: Di 29. Mai 2012, 09:36

Re: For Schleife kommt durcheinander....

Beitrag von Epcop »

Ich kenne das Problem auch.
Ich glaube das hängt nicht mit dem Source oder Lazarus zusammen. Dieses Phänomen kenne ich auch bei anderen Anwendungen z.B. Word, Browser u.ä.

Eine Lösung kenne ich allerdings nicht. Es scheint irgendwie ein Problem mit der "Anzeige" zu sein?! Ich kann da nur mutmaßen; Bisher ging meine Vermutung an Prozessorauslastung und RAM Auslastung. Sodass die Anzeige verzögert nachgeschoben wird oder gar "vergessen".

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: For Schleife kommt durcheinander....

Beitrag von pluto »

Auslastung. Sodass die Anzeige verzögert nachgeschoben wird oder gar "vergessen".

man könnte meinen, da "ist ein Programm", welches die "Daten" versteckt, Stichwort: Virus oder so?

Aber erst mal schön, dass ich nicht alleine mit dem Problem bin. Ich dachte schon, ich verstehe die Welt nicht mehr, als eine einfache Forschleife nicht klappen wollte.
MFG
Michael Springwald

Mathias
Beiträge: 6146
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: For Schleife kommt durcheinander....

Beitrag von Mathias »

2. Standard Terminal von Lazrus

Welches ist dies ? xterm ?

PS: Sowas ähnliches habe ich schon an mehreren Orten in meinem Mint gesehen, aber im Terminal bis jetzt nicht.
Zuletzt geändert von Mathias am Fr 18. Mai 2018, 22:02, insgesamt 1-mal geändert.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: For Schleife kommt durcheinander....

Beitrag von pluto »

Welches ist dies ? xterm ?

Wenn ich es herrausbekomme, schreibe ich es....
MFG
Michael Springwald

Mathias
Beiträge: 6146
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: For Schleife kommt durcheinander....

Beitrag von Mathias »

Wenn ich es herrausbekomme, schreibe ich es....

Start --> Startparameter... --> Lokal --> Startprogramm --> /usr/bin/......................
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: For Schleife kommt durcheinander....

Beitrag von pluto »

Das steht da
/usr/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)

Scheint also ein xterm zu sein....
MFG
Michael Springwald

Mathias
Beiträge: 6146
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: For Schleife kommt durcheinander....

Beitrag von Mathias »

Dieses habe ich auch, konnte aber bis jetzt nichts feststellen.

Was passiert, wen du die Unit Crt einbindest ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: For Schleife kommt durcheinander....

Beitrag von pluto »

Das ist komisch:
Im Moment bekomme ich den Fehler nicht mehr. Egal was ich mache. Ich habe die Unit Crt noch nicht eingebunden.
Tritt der Fehler wieder auf, werde ich es machen.

Es scheint wohl ein Temporäre Fehler zu sein.

Ich nutzte Lazarus ja schon seit 2006 und auch immer dieses Terminal Fenster.... sowas ist mir bisher noch nicht aufgefallen...
MFG
Michael Springwald

Epcop
Beiträge: 140
Registriert: Di 29. Mai 2012, 09:36

Re: For Schleife kommt durcheinander....

Beitrag von Epcop »

Vielleicht hängt das auch mit der Grafikkarte zusammen ("Nvidia Bug"). Je nach Beanspruchung tritt dann der Fehler eher sporadisch auf.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: For Schleife kommt durcheinander....

Beitrag von pluto »

Nun, ich habe keine Nvidia:
00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] BeaverCreek [Radeon HD 6530D]

Aber könnte auch damit zusammenhängen.... nur weil es nicht Nvidia ist, heißt es ja nicht, dass Radeon kein Bug hat oder?
MFG
Michael Springwald

Erwin
Beiträge: 286
Registriert: Mi 16. Sep 2009, 14:15
OS, Lazarus, FPC: Xubuntu 22.04 / x86_64_linux-gtk 2 / L 2.2.0 / FPC 3.2.2

Re: For Schleife kommt durcheinander....

Beitrag von Erwin »

Also wenn ich mir die Ausgabe genau ansehe, dann hat er sich etwas verschluckt. Statt 6 fängt er wieder mit 0 an. Und dort wo 10 Stehen sollte, steht 40. Aber dann hat er sich wieder gefangen.

Das erinnert mich an einen Autor, der meinte, der Computer kenne keine ganzen Zahlen und alles werde nur gerundet. Und dass es immer wieder vorkommen könnte, dass der Unterschied der gewünschten Zahl und der echten Zahl zu groß ist, als dass es noch zur gewünschten Zahl gerundet werden kann. Und dadurch dann Fehler auftreten. Würde vielleicht erklären, wieso ich in Browsergames paar mal Gegenstände mit 0 Zustand erlebt habe, die aber mit der Zahl 0 entfernt werden sollte. Würde auch sonst manches merkwürdige Verhalten erklären, wo von ich teils selber erlebt habe, aber auch von anderen hörte. Nur hat das einen kleinen Hacken, weshalb ich dem seine Ausführungen nicht wirklich folgen konnte: Es soll keine echte 1 (bzw. ganze Zahlen) geben, sondern nur 0,9999.... (weiß nicht mehr, wie viele Stellen er schrieb)? Also wenn, dann könnte ich es mir eher umgekehrt vorstellen. Außerdem gibt es da auch noch andere Dinge, die ich für wahrscheinlich für solche Fehler halte: Die wachsende Größe und die ständigen Nutzungen gleicher DLL von mehren Programmen. Wer weiß, vielleicht hat da ein anderes Programm die eine DLL nicht richtig 'sauber' gemacht (Speicher gelehrt) und das andere Programm hat deshalb dann Probleme bei dessen Nutzung? Also zumindest was Linux betrifft, da war (oder ist noch) eine Kernel-Version, die mit einigen Joysticks nicht klar kommt. Worum also sollte sich da nicht auch andere Fehler einschleichen?
Lazarus 2.2.0 / FP 3.2.4

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: For Schleife kommt durcheinander....

Beitrag von pluto »

Die wachsende Größe und die ständigen Nutzungen gleicher DLL von mehren Programmen

Sowas in der Richtung, wird es wohl auch gewesen sein. Aber so ein Fehler bringt einen komplett durcheinander, weil man ja die "Ursache" erst mal finden muss.
MFG
Michael Springwald

Antworten