Moin,
wir haben bei einem Kunden ein kleines Problemchen,
unser Service läuft irgendwie garnicht mehr und uns gehen langsam die Ideen aus, woran es liegen könnte.
Berechtigungen geprüft ... scheinbar alles erlaubt
andere Anmeldeoptionen ausprobieren ... Lokales Sysemkonto und Adminkonto
noch Delphi XE
Windows Server 2008 R2
DataSnap, idHTTPServer und Kleinkram, aber bis dahin kommt es nicht mehr.
Beim Logging scheint es so, als wenn es im
StartServiceCtrlDispatcher hängen bleibt.
Normaler Weise kommt nach dem
TServiceApplication.Run direkt
TService.OnStart und dann
TService.OnExecute, aber im OnStart kommt es nie an. (dachten erst unser eigener Code bleibt im OnStart hängen)
Der Service bleibt einfach hängen und macht nichts. Nur ein Logging-Thread, welcher im TService.OnCreate gesartet wurde, läuft freudig weiter. (loggt kontinuierlich CPU-Auslastung, Speicherverbrauch und sowas ... sieht aber normal aus ... nichts los <1% Virtual=250MB FastMM=70MB)
Delphi-Quellcode:
{SvcMgr.}Application.CreateForm(TMyService, MyService);
-> TMyService.OnCreate
{SvcMgr.}Application.Run;
-> TServiceStartThread.Create
-> WinSvc.StartServiceCtrlDispatcher
-> TMyService.OnStart
-> TMyService.OnExecute
...
Ach ja, seit einer ganzen Weile kommen auch
TService.LogMessage bei einigen Kunden nicht mehr in der Windows-Ereignisanzeige an.
Stattdessen taucht nur einmal eine
Exception mit dem Text dieser LogMessage im Eurakalog-LogFile auf. Aber das passiert auch auf Systemen, wo der Service noch läuft.
Ist aber nicht ganz so schlimm ... dort sollten nur die gröbsten Stati und Fehlermeldungen für den Systemadmin auftauchen ... aber im eigenen Logfile stehen die auch nochmal, zwischen all den kleinen Meldungen.