none
Win-Service wirkt sich auf andere Instanzen aus. Service Control Manager Ereignis ID: 7034 RRS feed

  • Frage

  • Wenn mehr als ein Dienst "xxx" als Win-Service auf einem Computer installiert ist, ist es möglich, dass sie sich gegenseitig auswirken. Wenn das eine gestoppt wird, wird auch der andere gestoppt. Dies geschieht nicht jedes Mal, aber nach einigen Tests wird es passieren.

    Dienst "xxx" wurde unerwartet beendet. Dies ist bereits 1 Mal passiert.

    Service Control Manager

    Ereignis ID: 7034

    Donnerstag, 4. Juni 2020 09:14

Antworten

  • Hallo zusammen,
     den Fehler wurde mit hoher Wahrscheinlichkeit gefunden.
    Es war nicht klar, dass diese Events per Default Prozeß-Übergreifend verfügbar sind (es war fälschlicherweise davon ausgegangen, dass diese nur in-Prozeß bekannt sind). Zur internen Event-Steuerung hatte es daher einfach Events mit den Namen "stop', "shutdown" etc. definiert und im Prozeß verwendet. Da diese jedoch auch in andere Prozesse weitergeleitet werden, sind diese Events zur reinen Steuerung innerhalb eines Prozesses so nicht verwendbar.
    Es wurde jetzt an die Event-ID's einfach noch die jeweilig ProzessID angehängt um diese Events je Prozeß eindeutig zu machen. Ein Test mit einem speziellen Test-Service hat das gewünschte Resultat gezeigt.
    Mittwoch, 19. August 2020 08:36

Alle Antworten

  • Wenn mehr als ein Dienst "xxx" als Win-Service auf einem Computer installiert ist, ist es möglich, dass sie sich gegenseitig auswirken. Wenn das eine gestoppt wird, wird auch der andere gestoppt. Dies geschieht nicht jedes Mal, aber nach einigen Tests wird es passieren.

    Dienst "xxx" wurde unerwartet beendet. Dies ist bereits 1 Mal passiert.

    Service Control Manager

    Ereignis ID: 7034

    Moin,

    den Dienst "xxx" kenne ich nicht, aber in der IT ist alles grundsätzlich möglich. 7034 bedeutet, dass der Dienst quasi abstürzt, sprich: nicht sauber mit Meldung an den Service Control Manager beendet wird. Wenn der Dienst versucht, mit einem anderen Dienst zu kommunizieren, und Du diesen Beendest, kann es schon mal sein, dass bei schlechter Programmierung der Dienst abstürzt.

    Vielleicht willst Du ja mal konkreter werden ;-)


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Donnerstag, 4. Juni 2020 09:23
  • Danke für schnele Rückmeldung,

    Dienst "xxx" ist ja ein auf Java programmierter Service, welcher dann als xxx1.exe, xxx2.exe, xxx3.exe im Service Control Manager gestartet wird. Die Dienste selbst kommunizieren ein mit anderen nicht, aber laufen gleichzeitig.  Wenn mal ein Dienst xxx1.exe manuell gestoppt wird, dann kann passieren, dass auch andere Dienst xxx2.exe oder xxx3.exe mit Fehler gestoppt wird.

    Es scheint  dass Service Control Manager auch den anderen dienst stoppt xxx2.exe oder xxx3.exe, und dann auch die xxx1.exe eigentlich gestoppt werden soll.

    Gibt es welche Debug Möglichkeiten um es genauer zu protokolieren, beobachten?

    Donnerstag, 4. Juni 2020 09:49
  • Gibt es welche Debug Möglichkeiten um es genauer zu protokolieren, beobachten?

    Du kannst Grundsätzlich an nahezu jeden Prozess einen Debugger ranhängen. Sprich am besten mit dem Hersteller/Entwickler der Applikation - vielleicht gibt es da einen Debug Logging-Switch oder Ähnliches...

    Evgenij Smirnov

    http://evgenij.smirnov.de

    Donnerstag, 4. Juni 2020 10:13
  • Zumindest ist da die Abgrenzung der Java-Prozesse dann nicht sauber.

    Die Services sollte jeweils komplett mit einer eigenen JVM gestartet werden. Ansonsten teilen sich die Services die JVM und somit bedingt dann schon malö der Absturz des einen auch das Beenden der anderen.

    Ansonsten empfehle ich dann:
    https://www.tutorialspoint.com/log4j/index.htm

    um den Fehler einzugrenzen.

    Donnerstag, 4. Juni 2020 10:23
  • Hallo zusammen,
     den Fehler wurde mit hoher Wahrscheinlichkeit gefunden.
    Es war nicht klar, dass diese Events per Default Prozeß-Übergreifend verfügbar sind (es war fälschlicherweise davon ausgegangen, dass diese nur in-Prozeß bekannt sind). Zur internen Event-Steuerung hatte es daher einfach Events mit den Namen "stop', "shutdown" etc. definiert und im Prozeß verwendet. Da diese jedoch auch in andere Prozesse weitergeleitet werden, sind diese Events zur reinen Steuerung innerhalb eines Prozesses so nicht verwendbar.
    Es wurde jetzt an die Event-ID's einfach noch die jeweilig ProzessID angehängt um diese Events je Prozeß eindeutig zu machen. Ein Test mit einem speziellen Test-Service hat das gewünschte Resultat gezeigt.
    Mittwoch, 19. August 2020 08:36