AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Betriebssysteme Stacksize auf Windows Server 2016
Thema durchsuchen
Ansicht
Themen-Optionen

Stacksize auf Windows Server 2016

Ein Thema von Getox · begonnen am 31. Jul 2018 · letzter Beitrag vom 1. Aug 2018
Antwort Antwort
Getox

Registriert seit: 28. Dez 2012
155 Beiträge
 
Delphi XE3 Professional
 
#1

Stacksize auf Windows Server 2016

  Alt 31. Jul 2018, 12:57
Hallo,

ich habe ein Problem wo ich nicht weiterkomme. Im Grunde läuft unsere Software reibungslos. Ein Kunde hat jedoch sein Betriebssystem auf Windows Server 2016 aktualisiert. Seit dem bekommen die Anwender beim öffnen eines unserer Programm-Module einen Stack-Überlauf Fehler. Das ist nur bei diesem einen Kunden so und auch erst seit dem Update des Betriebssystems. Der Kunde arbeitet mit Terminal-Server.

Kann es sein, dass Windows Server 2016 die Stacksize der Threads irgendwie limitiert? Ich bin schon seit heute Früh am recherchieren und komme kein Stück voran.
Ist ein Nilpferd ein Pferd, das nicht vorhanden ist?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#2

AW: Stacksize auf Windows Server 2016

  Alt 31. Jul 2018, 13:23
Die von deinem Programm erforderte StackSize des Hauptthreads und die Standardgrenze der anderen Threads ist im Programm einkompiliert.
http://docwiki.embarcadero.com/RADSt...ierung_(Delphi)
http://docwiki.embarcadero.com/RADSt...cherverwaltung
Und dann kann beim Erstellen der Threads (
Zitat:
CreateThread
) nochmal explizit ein Wert angegeben werden.

Wenn dieses MINIMUM nicht reicht, dann ist grundsätzlich erstmal diese Option bei dir falsch eingestellt.



https://docs.microsoft.com/en-us/win...ead-stack-size

Seit Windows 8 gibt es eine API dafür
https://blogs.msdn.microsoft.com/ely...017/10/04/265/
https://docs.microsoft.com/de-de/win...eadstacklimits
Ansonsten könnte man das vermutlich auch aus dem PE-Header auslesen.


Wenn du nirgendwo zu viele/große lokale Variablen und/oder eine zu große Recursionstiefe hast, dann sollten die Standardlimits meistens ausreichen.
Also erstmal müsstes du rausfinden wo es knallt und warum und dann diesen Fehler beheben, welcher zu viel anfordern will.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (31. Jul 2018 um 13:30 Uhr)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Stacksize auf Windows Server 2016

  Alt 31. Jul 2018, 15:18
Hallo,
Zitat:
beim öffnen eines unserer Programm-Module einen Stack-Überlauf Fehler.
Was ist denn bei diesem Programm anders als bei denen, die funktionieren?

Ich würde erst mal einen Programmfehler ausschließen wollen,
und eine MadExcept-Variante des Programms starten.

Vielleicht ist ja irgendwas bei diesem Server "komisch" und Dein Programm kommt damit nicht klar.
Eine Log-Datei ist auch nicht verkehrt.
Heiko

Geändert von hoika (31. Jul 2018 um 18:02 Uhr)
  Mit Zitat antworten Zitat
Getox

Registriert seit: 28. Dez 2012
155 Beiträge
 
Delphi XE3 Professional
 
#4

AW: Stacksize auf Windows Server 2016

  Alt 1. Aug 2018, 07:18
Alle Kunden haben die selbe Version bekommen. Bei allen anderen (mehreren hundert) Kunden funktioniert das. Auch bei dem einen besagten Kunden hat alles funktioniert, bis das neue Server OS kam. Das ist ja das komische.
Ist ein Nilpferd ein Pferd, das nicht vorhanden ist?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz