Einstellungen Stacks [Erledigt]

Konzeptionelles, Technisches, Termine, Fragen zum Hersteller usw.

Moderator: Moderatoren

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Einstellungen Stacks [Erledigt]

Beitrag von Jan »

Hallo,

ich habe das Problem, das ein oFont:list() auf Rechnern mit vielen Schriften einen xppfatal auslöst wegen Stack-Problemen. Ich habe gut 240 Schriften installiert, das klappt mit den Standardeinstellungen sauber. Bei Kunden mit mehr als 1.100 Schriften knallt das aber reproduzierbar. Das ist eher kein Arrayproblem, denn das ist ca. 20x so groß wie die Anzahl der Schriften - bei mir jedenfalls. Käme also bei den betreffenden Kunden auf ca. 10.000 - 15.000 Einträgen, was erstmal noch nicht das große Problem wäre.

Die relevanten Zeilen sehen dann typischerweise so aus:
FATAL ERROR LOG
Stack Overflow
SYS Thread-ID: 1812
Module: EH
Error Codes: EH: 12 Sub: 0(0) OS: 0 XPP: 16
Der SYS-Thread ändert sich natürlich von Meldung zu Meldung, aber die Error-Codes-Zeile bleibt immer gleich.

Dazu zwei Fragen:

1) Hat es negative Auswirkungen, wenn ich die max. Stacks hoch setze? Wenn ja ab wann? Welche Nebenwirkungen gibt es?

2) Das Projekt besteht aus einer exe und mehreren dll. Die Schriften-Auslese-Funktion liegt in einer dll. Reicht es dann aus, die Stacks nur dort anzupassen? Oder nur in der exe? Oder in der exe und der betreffenden dll? Oder in allen Dateien des Projektes?

Jan
Zuletzt geändert von Jan am Fr, 18. Jan 2019 16:00, insgesamt 1-mal geändert.
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Einstellungen Stacks

Beitrag von ramses »

Hallo Jan

ich habe gerade jüngst erneut die Erfahrung gesammelt dass es am besten ist diesen Wert überhaupt nicht zu setzten.

Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Einstellungen Stacks

Beitrag von Jan »

Carlo,

naja. Aber wenn ich einen Stack Overflow bekomme, dann muß ich ja doch irgendwas machen, oder?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Einstellungen Stacks

Beitrag von Tom »

Du hast den Stack Overflow im Errorhandler (EH), nicht in Deiner Schriftenfunktion. Du siehst hier also das Symptom eines anderen Problems. Möglicherweise hilft es, testweise den Standard-Errorhandler zu linken und zu schauen, was der sagt.

Und zur Frage: Ich setze "STACK:5000000,100000", für das gesamte Projekt, also EXE und DLLs. Aber ob das was schadet oder bringt oder nichts von alledem - keine Ahnung.
Herzlich,
Tom
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Einstellungen Stacks

Beitrag von ramses »

Hallo Jan

ja, wenn du den Fehler auch ohne die Stackangabe bekommst hast du auch ein Problem.....

Mein Problem konnte ich durch gezieltes verwenden von sleep(0) entschärfen. Und natürlich sehr viel Zeitaufwand zum rumtesten.

Am schlimmsten aufgetreten waren die Fehlermeldungen und Probleme während 100% Auslastung des benutzen Prozessor Kerns. Den habe ich nun durch einen 3.6 GHz ersetzt und komme nun auf die beim Test geforderte Performance ohne den Kern länger auf 100% Auslastung zu fahren so sind die kuriosen Fehlermeldungen vorerst mal temporär beseitigt.

Sämtliche Stack Werte mit denen Ich experimentiert habe haben meine Probleme nur immer verstärkt. Sie sind öfter und z.T. schon Sekunden nach dem Start aufgetreten.

Irgendwie scheint es schierig oder unmöglich mit XBase eine High Performance App zu bauen so dass die Leistung auch über einen längeren Zeitraum verfügbar ist.... ohne dass es zu Fehlern kommt. Ausser deinem gibts noch einige andere wie "Fataler Fehler" usw. usw.

Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Einstellungen Stacks

Beitrag von Jan »

Hallo Tom,

öhm ... ich hatte die xppfatal an Alaska geschickt. Und die sind direkt auf die oFont:list() angesprungen, das ich die Anzahl der einzulesenden Schriften verkleinern solle. Die haben nix zu Errorhandler gesagt. Sind die jetzt Blind geworden, oder Versehen Deinerseits?

Zu Deinen Einstellungen: Ist es richtig, das Du die Min-Einstellung höher hast als die Max?

Ich habe inzwischen namentlich zwei Kunden, die das Problem haben - der mit den 1.000 Schriften, und jetzt neu einen mit gut 550. Ich werd mal erst die Standard-Errorsys wieder einbauen und schauen, was die bei denen dann sagt. Und dann denen eine Version mit erhöhten Stacks zukommen lassen und schauen, was danach passiert.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Einstellungen Stacks

Beitrag von Jan »

Carlo,

als Standard steht da ja immer die 1000000 drin. Sowohl als Min als auch als Max. Die habe ich bislang immer einfach so gelassen.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Einstellungen Stacks

Beitrag von ramses »

Hallo Jan

in den Samples steht z.B. nirgends eine Stack Angabe drin...... in meinen Anwendungs-Fällen läuft es so, ohne eine Stackangabe nachvollziehbar besser.


Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Einstellungen Stacks

Beitrag von Jan »

Carlo,

in der Doku steht, das als Standard immer 1000000 genommen wird für Min und max, wenn man nichts anderes angibt. Schau mal in die Linker-Schalter, da ist das aufgeführt.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Einstellungen Stacks

Beitrag von ramses »

Hallo Jan

wenn ich mit den Stack Werten experimentiere kommt etwa das heraus:
STACK:2000000,100000 --> 63 Min ERROR BASE/1005 Nicht genügend Speicher: init --> Programm hängt

STACK:3000000,100000 --> 4 Min ERROR BASE/1005 Nicht genügend Speicher: init --> Programm hängt

STACK:4000000,100000 --> 90 Sek ERROR BASE/1005 Nicht genügend Speicher: init --> Programm hängt

STACK:5000000,100000 --> 46 Sek ERROR BASE/1005 Nicht genügend Speicher: init --> Programm hängt

STACK:15000000,100000 --> 3 Sek ERROR BASE/1005 Nicht genügend Speicher: init --> Programm hängt

STACK:50000000,100000 --> Start nicht möglich, hängt bei Init List&Label --> Programm hängt
Programm hängt = Abbruch nur noch mit Taskmanager oder ALT-C

Sobald ich eine Stack Angabe mache ist die Performance relativ schlecht ohne Stack Angabe ist diese besser.

Ich finde diesen Wert (Stack) unglücklich weil ja nicht dokumentiert ist wo die Grenzen liegen was diese Werte bewirken und vorallen wie der Garbage Collector überhaupt funktioniert oder explizit zum Aufräumen beauftragt werden kann.........

Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Einstellungen Stacks

Beitrag von AUGE_OHR »

Jan hat geschrieben: Mi, 16. Jan 2019 14:19 Und die sind direkt auf die oFont:list() angesprungen, das ich die Anzahl der einzulesenden Schriften verkleinern solle.
haben die auch gesagt "wie" man die Anzahl verkleinert (ohne die zu deinstallieren) :?:

... was ist mit einem XbpFontDialog() ... knallt er da auch bei vielen Schriften :?:
gruss by OHR
Jimmy
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Einstellungen Stacks

Beitrag von Tom »

Hallo, Carlo.
Sobald ich eine Stack Angabe mache ist die Performance relativ schlecht ohne Stack Angabe ist diese besser.
Wie kommst Du zu dieser Aussage? Was hast Du wie gemessen? Hast Du ein Stück Beispielcode, mit dem man das nachvollziehen kann?

Ich tracke viele Performance-Parameter sehr intensiv, es gibt sogar für die Benutzer in der Anwendung Leistungsmess-/Vergleichssysteme und ähnliches. Ich kann an keiner Stelle einen Performanceunterschied feststellen, wenn ich die STACK-Einstellungen aktiviere, deaktiviere oder ändere. Wie sollte der auch entstehen? Das legt ja nur fest, wie groß der Speicherbereich ist, der hierfür reserviert wird. Die Performance könnte es höchstens beeinflussen, wenn das OS dadurch plötzlich swappen - also virtuellen RAM auf Platte oder SSD reservieren - müsste, aber schon der Gedanke daran ist heutzutage absurd.
Herzlich,
Tom
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Einstellungen Stacks

Beitrag von ramses »

Hallo Tom
Wie kommst Du zu dieser Aussage?
Anhand der Anzahl der abgearbeiteten Aufgaben pro Sekunde.
Ich kann an keiner Stelle einen Performanceunterschied feststellen, wenn ich die STACK-Einstellungen aktiviere, deaktiviere oder ändere.
Du musst Aufgaben parallel in mehreren Threads abarbeiten und für jede Aufgabe den Lebenszyklus mehrerer Klassen durchlaufen.

Und zwar so viele dass der Prozessorkern welcher das Xbase Programm benutzt dauernd 100% ausgelastet ist!

Dann erst dann treten bei mir die Probleme auf. Ich vermute dass der Garbage Collector daran beteiligt ist. Denn duch sporadisches Aufrufen von sleep(0) alle 2-3 Sekunden hat sich die Zeit bis zum Programmcrash markant verbessert.


Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Einstellungen Stacks

Beitrag von Jan »

Nach dem Beispiel von Tom hab ich in allen von mir erstellen Projektdateien ein Stack:50000000,100000 eingebaut. Der erste Kunde (der mit den 1.100 Schriften) hat sich gerade zurück gemeldet - bei ihm läuft das jetzt.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Einstellungen Stacks

Beitrag von Jan »

Ich hatte Alaska Rückmeldung gegeben, das die Erhöhungen der Stacks gewirkt haben. Und hab darauf hingewiesen, das ich leider trotz mehrfacher Anfrage keine Antwort zu den Fragen Höhe oder Nebenwirkungen bei Erhöhung der Stacks erhalten habe. Und die Doku auch nicht wirklich etwas dazu hergibt.

Darauf gab es jetzt Antworten:

1) Es gibt in der Doku keine detaillierten Hinweise, weil es keine einfachen Antworten auf Nebenwirkungen gibt, die immer auch von der Anwendung abhängen.
2) Die Stacks-Einstellungen sind Eigenschaft der Anwendung und haben bei dll keinen Effekt.
3) Hier zitiere ich mal auszugsweise und original Alaska Support:
"Alaska Support" hat geschrieben:Jeder Thread bekommt einen Stack zugewiesen. Wenn der zu groß ist, dann schränkt das die Anzahl der Threads ein, Wenn er zu klein ist, dann genügt er vielliecht nicht für die notwendige Schachteltiefe des Callstacks oder auf dem Stack angelegter temporären Speichers. Wenn der Stackspeicher nicht genügt kommt es zu Stack Overflow Fehlern. Wenn Threads nicht mehr erzeugt werden können, dann kommt es zu Out of memory Fehlern.
Gerade der dritte Absatz ist ja wohl genau das Problem von Carlo - viele Threads, und bei vielen Stacks knallt es dann.

Der zweite Punkt ist interessant für Tom, der ja (wie ich auch) die Stacks auch in den dll gesetzt hat. Wobei ich sagen muß: Schaden tut es ja wohl eher nicht, wenn man die da drin hat. Also letztendlich vermutlich vollkommen egal.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Einstellungen Stacks [Erledigt]

Beitrag von Tom »

Der zweite Punkt ist interessant für Tom
Eigentlich nicht. Die DLLs, die im fraglichen Projekt erzeugt werden, werden zwar (über LIB-Import) zuweilen auch in anderen Projekten verwendet, aber wichtig für mich ist nur, dass die Anwendung selbst reagiert.

Merkwürdig, dass Carlos Beispiele bei relativ hohen Stack-Werten trotzdem "Nicht genügend Speicher" generieren. Das sollte nach den Support-Ausführungen doch umgekehrt sein. :?:

Danke für Deine Recherche, Jan.
Herzlich,
Tom
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Einstellungen Stacks [Erledigt]

Beitrag von ramses »

MIr hat Alaska mitgeteilt dass der GC vermutlich "versäuft ...... Es handelt sich hier um ein Problem des Timings"

Mit verschiedenen 'Tricks' einbauen von Sleep(0) und anderem konnte ich das Verhalten auf Kosten der Performance ein wenig verbesseren.

Es gehen nun keine Threads mehr verloren.

Jedoch steigt nach wie vor der Speicherverbrauch "Angabe des TaskManagers" von 33MB beim Start bis ca. 65MB beim Crash.

WICHTIG dabei ist dass dies nur Auftritt wenn der Prozessor Kern dauernd auf über 90% Auslastung liegt. Bei tieferer Auslastung 10-20 % gibt es keine Sorgen auch der Seicherverbrauch im TaskMananger steigt nicht.

Das verwenden der "Stack" Angabe führt aber in jedem Fall zu einer Verschlechterung des Verhaltens (kürzerer Zeit bis Zum Absturz) oder bei hohen Werten lassen Sich nicht mal alle Fremd-DLL's Laden.

Irgendwann fragte ich mich dann wieso die APP den "Pen-Test" früher schaffte und nun nicht mehr.

Ein Versuch mit der Version 2.00.685 zeigte dann dass mit dieser Version das Problem auch existiert aber erst viel später zum Crash führt.
Da der Pen-Test kürzer war ist das damals nicht aufgefallen.

Hat jemand eine Idee wie sich dieses Problem den Kunden erklärt werden kann???? Bezw. die Frage: "Verwendest du das Falsche Werkzeug" beantwortet werden kann?

Die Performance ist nebensächlich, am wichtigtsen ist dass die App nicht Crasht abstürzt etc. sondern einfach nur läuft.


Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Einstellungen Stacks [Erledigt]

Beitrag von Werner_Bayern »

Servus Carlo,

Du solltest das kostenlose Angebot von Alaska annehmen und Deine Applikation bezügl. API-Aufrufe prüfen lassen.
es grüßt

Werner

<when the music is over, turn off the lights!>
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Einstellungen Stacks [Erledigt]

Beitrag von ramses »

Hallo Werner

Wenn das so einfach wäre!!!
Das ist aus verschiedenen Gründern nicht so einfach machbar. Dazu darf und kann ich dies nicht selbst entscheiden ......

Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: Einstellungen Stacks [Erledigt]

Beitrag von HaPe »

Hallo Carlo !
WICHTIG dabei ist dass dies nur Auftritt wenn der Prozessor Kern dauernd auf über 90% Auslastung liegt.
Da würde ich mir aber gewaltig Gedanken machen ob: :?
- die Hardware zu der Aufgabe passt. :oops:
- das Entwicklungswerkzeug zu der Aufgabe passt. :o

Der Hersteller einer Echtzeit-Hardware die wir nutzen empfiehlt eine maximale Auslastung von 90% (keine Intel-CPU).
--
Hans-Peter
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Einstellungen Stacks [Erledigt]

Beitrag von ramses »

Hallo Hans-Peter

Ja, ja Gedanken machen, das mach ich sehr Umfangreich ... die Sache bereitet mir bereits schlaflose Nächte in grösserer Anzahl....

- Die Hardware ist aktuell ein ML-350 G10 Server mit 2*3.6GHz Proc und 96GB Ram da ist kein Spielraum mehr
- Das Entwicklungswerkzeug ist vom aktuellen Standpunkt betrachtet evtl nicht passend, wechseln würde ja auch heissen irgenwie ganz von vorne zu beginnen.

Die Auslastung ist im normal Betrieb < 20% jedoch muss die App einen Pen-Test bestehen da geht die Auslastung auf 100% Hoch und die Probleme beginnen.

Was verwendet Ihr den für Prozessoren und Tools?

Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Einstellungen Stacks [Erledigt]

Beitrag von Werner_Bayern »

ramses hat geschrieben: So, 20. Jan 2019 18:55 Das ist aus verschiedenen Gründern nicht so einfach machbar. Dazu darf und kann ich dies nicht selbst entscheiden ......
Die API-Aufrufe isolieren und in eine extra kleine Applikation?
Ich weiß ja auch nicht, wie Alaska API-Aufrufe testen und verbessern will. Dazu bräuchten sie vermutl. ja die Fremd-Produkte, wenns nicht nur um die Win-APIs geht? Oder geht's nur ums drüberschauen und fehlerhafte Parameter identifizieren, bzw. sehen, ob die Ressourcen richtig genutzt und auch wieder korrekt freigegeben werden?
Ich an Deiner Stelle bei dem Verzweiflungsfaktor würde mich damit schon an Alaska wenden, selbstverständlich nachdem Du die Freigabe Deiner Vorgesetzten / Auftraggeber hast.

Datenverarbeitungsvereinbarung mit Alaska nicht vergessen...
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: Einstellungen Stacks [Erledigt]

Beitrag von HaPe »

Hallo Carlo !
Was verwendet Ihr den für Prozessoren und Tools?
Für die super schnelle Meßdatenerfassung setzen wir seit 20 Jahren die Produkte von http://www.adwin.de ein.

Die Kollegen von der Mechatronic verwenden https://www.dspace.com/de/gmb/home.cfm mit Matlab/Simulink.
https://de.mathworks.com/products/matlab.html
https://de.mathworks.com/products/simulink.html

Die verwendete Hardware und die Software sind kein Schnapper ...
--
Hans-Peter
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Einstellungen Stacks [Erledigt]

Beitrag von ramses »

Hi

@Hans-Peter Danke, die Links habe ich mir notiert. Gut zu wissen wenn dann mal schnellere Datenerfassung nötig wird. Uns reichen momentan noch herkömmliche "Schaltschrank" SPS aus.

@all

Durch konsequentes zuweisen von NIL an Local Variablen die Klassenobjekte enhalten haben hat sich das ganze Verhalten der App stabilisiert.
Auch die eingebauten Sleep(0) habe ich entfernt.
Das ganze kann ich mir zwar nicht erklären.
Als wichtiges Hilfsmittel habe ich eine zweite App entworfen die als Dienst die erste überwacht und wenn sich diese hängt den Prozess killt und neu startet. So besteht die App wenigstens problemlos den geforderten PEN-Test.

Nach wie vor wirken sich STACK Angaben für den Linker nur negativ aus.

Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Einstellungen Stacks [Erledigt]

Beitrag von Tom »

Ich habe jetzt mal die STACK-Angaben rausgenommen. Meine Hauptanwendung arbeitet mit umfangreichen, großen Modulen, die nach Aufruf in eigenen Threads laufen, so dass man Elemente beliebig oft - auch aus sich heraus - aufrufen kann, ohne dass es zu Workarea-Konflikten oder ähnlichem kommt. Wenn ich ohne die STACK-Anweisung damit ein bisschen herumspiele, bekomme ich ziemlich schnell einen Stack Overflow wie in Jans Ausgangsposting. Das geschieht mit 1.90SL1 und mit der 2.00, es ist sogar mit dem fast genau gleichen Ablauf provozierbar. Wenn ich die STACK-Anweisung wieder in die Link Flags nehme, schaffe ich es nicht, einen solchen Absturz zu provozieren. Alle Leistungsmessungen zeigen exakt die gleichen Werte.
Herzlich,
Tom
Antworten