[ https://issues.apache.org/jira/browse/DAEMON-366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16062038#comment-16062038 ]
Bernd Eckenfels commented on DAEMON-366: ---------------------------------------- I just diffed the releases and there is a change in this area, the global shutdown event which terminates the main service loop is set only after the JVM has exited. http://svn.apache.org/viewvc/commons/proper/daemon/tags/COMMONS_DAEMON_1_0_15/src/native/windows/apps/prunsrv/prunsrv.c?r1=1460101&r2=1461070&diff_format=h This is I guess a bugfix for a similiar issue (DAEMON-288) to allow a clean shutdown. It might be possible that the shutdown event might be missed and the shutdown wont be forcefully. Can you provide us with a debug-level logfile of procrun? (--LogLevel=Debug) This is expected: "Waiting 1 minute for all threads to exit" http://svn.apache.org/viewvc/commons/proper/daemon/branches/1.0.x/src/native/windows/apps/prunsrv/prunsrv.c?diff_format=h&revision=1461070&view=markup#l1559 this would block: "Waiting for all threads to exit" http://svn.apache.org/viewvc/commons/proper/daemon/branches/1.0.x/src/native/windows/apps/prunsrv/prunsrv.c?diff_format=h&revision=1461070&view=markup#l1559 , but it has the consequence that it wont anymore forcefully terminate your service. If I see it right it will set the event after the stop timeout, so try setting the stop timeout to something a bit smaller than the windows service manager timeout of 30s. > Windows service fails to stop with error code 1053 (using Windows 7 service > manager) > ------------------------------------------------------------------------------------ > > Key: DAEMON-366 > URL: https://issues.apache.org/jira/browse/DAEMON-366 > Project: Commons Daemon > Issue Type: Bug > Components: Procrun > Affects Versions: 1.0.15 > Environment: Windows 7 64bit - using 64-bit prunsrv.exe in jvm mode > Using 64-bit Java JRE 1.8.0_73 > Reporter: Consultant Leon > Assignee: Guillaume Chauvet > Labels: prunsrv, stop, windows > > Using Windows services manager (services.msc) to start/stop service. > Service installed with the following start/stop settings. > --StartMode=jvm --StartClass=com.myorg.MyClass --StartMethod=start > --StopMode=jvm --StopClass=com.myorg.MyClass --StopMethod=stop > Service starts OK. > When I use services manager to stop the service, the application stops > running but the prunsrv.exe process does not terminate. > Eventually the services manager reports that: > "Windows could not stop the <MyServiceName> service on Local Computer. Error > 1053: The service did not respond to the start or control request in a timely > fashion." > The service then stays at status "stopping" & cannot be restarted without > first killing the prunsrv.exe process. > Looking at the application logs I can see that the application's stop() > method gets called - the final line in this method is a logging call which is > executing OK. > The commons-daemon-<date>.log file has the following entries: > [2013-05-09 17:18:02] [info] [10944] Commons Daemon procrun (1.0.15.0 > 32-bit) started > [2013-05-09 17:18:02] [info] [10944] Running '<MyServiceName>' Service... > [2013-05-09 17:18:02] [info] [ 9224] Starting service... > [2013-05-09 17:18:11] [info] [ 9224] Service started in 9202 ms. > [2013-05-09 17:18:23] [info] [10780] Stopping service... > [2013-05-09 17:18:24] [info] [10780] Service stop thread completed. > This problem does not occur in daemon versions 11->14. > I have only seen it in daemon-1.0.15 -- This message was sent by Atlassian JIRA (v6.4.14#64029)