Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   Stacksize auf Windows Server 2016 (https://www.delphipraxis.net/197333-stacksize-auf-windows-server-2016-a.html)

Getox 31. Jul 2018 12:57

Stacksize auf Windows Server 2016
 
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.

himitsu 31. Jul 2018 13:23

AW: Stacksize auf Windows Server 2016
 
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.

hoika 31. Jul 2018 15:18

AW: Stacksize auf Windows Server 2016
 
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.

Getox 1. Aug 2018 07:18

AW: Stacksize auf Windows Server 2016
 
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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:40 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