Mantis Bugtracker

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0003943 [Resin] major always 03-13-10 12:08 08-03-10 12:21
Reporter iRideSnow View Status public  
Assigned To alex
Priority normal Resolution fixed  
Status closed   Product Version 4.0.4
Summary 0003943: Resin 4.x doesn't respond properly to Windows Service "stop" command.
Description In Resin 3.1, it's possible to install resin as a service and then use the Windows Service commands to stop and start it, e.g. from the DOS prompt one can issue "net stop resin" then go and replace jars or delete the logs, etc, then issue "net start resin" to start it again.

With Resin 4.x, this behavior seems to have changed. Issuing a "net stop resin" doesn't actually stop resin completely. A "net start resin" command says that resin is already started, but it's not really (maybe only the watchdog is? Not sure.)

It looks like the only way to completely shut down resin is to use resin.exe and say "resin shutdown". This means we wouldn't be able to use the Windows SC (Service Controller) commands with Resin 4.x to stop and start resin during our deployment process. SC doesn't recognize "shutdown" as a valid option.
Additional Information
Attached Files

- Relationships

- Notes
03-16-10 06:14

+1 for fixing this. This issue is causing some problems here as well. Thank you for reporting !
06-21-10 11:01

Can't reproduce on a fresh install of Resin 4.0.4. Please attach your log files for resin and watchdog.
07-13-10 17:33

Due to changes/restrictions in how our new network is configured, I can no longer create a test for this. Using 4.0.8, I can issue net stop and net start commands locally, and it does seem to work, though still not exactly the same as with 3.1 because it does still keep the watchdog process running. But I can no longer check to see if Windows SC commands work correctly over the network.

But for all I know, this is because I had to use the 3.1 httpd.exe program to install the 4.0.8 resin as a service because even though the 4.x documentation says that "resin -install" can be used to install resin as a service, it cannot. Instead, you have to issue just "resin" and it brings up a somewhat confusing GUI, which I could not figure out how to fill out correctly (e.g., what value is "Server" ???). In desperation, I brought the httpd.exe program over from 3.1 and luckily, it allowed me to install 4.0.8's resin as a service. But for all I know, using httpd changed how it responds to "net stop" and "net start" commands. :(

I realize this is now at least two bug reports, and I cannot give any additional helpful information at this time. I no longer have the freedom to experiment in our much more restrictive environment after our acquisition by a much larger company. Sorry.
07-26-10 13:31

I've fixed the first issue you saw, where by the service would report as started even though resin failed to start (although not all cases can be accounted for).

The watchdog issue can be a bit tricky, as one instance of watch dog is watching all servers defined in conf/resin.xml file. A 'shutdown' would shutdown all of the Resin servers/jvms (each server is a jvm). Also, it's OK to ignore the running watchdog and restart the OS anyways. Watchdog's function is restricted to making sure the instances of resin servers keep running.
08-03-10 07:02

I have done some fresh testing on a new install.

Resin 4.0.9
Windows 2008 R2 64-bit

I can confirm that the start/stop/restart through Services seems to work fine now. But you have to do a little dancing to get the Resin service installed.

resin.exe -install now tells you to use setup.exe. Nice :-)

setup.exe starts, but fails to pick up the location of the JVM, service name etc. If you try to point to the JDK it crashes on a fresh Windows 2008 R2 64-bit install.

************** Exception Text **************
System.IO.FileNotFoundException: Could not load file or assembly 'System.Core, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Core, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089'
   at Caucho.Util.FindJava()
   at Caucho.SetupForm.UpdateJavaHomes(String javaHome)
   at Caucho.SetupForm.SelectJavaHome(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
Seems that is needs version 3.0 of the .NET framework. If you look in:
C:\Windows\Microsoft.NET\Framework64 you will only find v2.0.50727.
Installing version 4 of the .NET framework will NOT do the trick. You have to go to Server Manager and choose .NET Framework 3.5.1 Features from the Add Features Wizard. That will give you a v3.0 dir in C:\Windows\Microsoft.NET\Framework64 (and a v3.5).

Now setup.exe picks up the JDK location and other settings, and you can add Resin as a service.
08-03-10 12:21

Thanks for checking the fixes out. Setup requires .NET 3.5, I included a check in the startup routine that should promptly notify programmer/sysadmin of that requirement. Running the app in .NET 4.0 will require declaring compatibility in setup.exe.config file. We might supply such a file in the future but hopefully MS fixes it in a way that 4.0 can silently run apps compiled against 3.5.

- Issue History
Date Modified Username Field Change
03-13-10 12:08 iRideSnow New Issue
03-13-10 12:09 iRideSnow Issue Monitored: iRideSnow
03-16-10 06:13 hans Issue Monitored: hans
03-16-10 06:14 hans Note Added: 0004469
04-26-10 11:22 mattp Issue Monitored: mattp
06-21-10 10:13 alex Status new => assigned
06-21-10 10:13 alex Assigned To  => alex
06-21-10 11:01 alex Note Added: 0004643
07-13-10 17:33 iRideSnow Note Added: 0004674
07-26-10 13:31 alex Note Added: 0004684
08-03-10 07:02 hans Note Added: 0004692
08-03-10 12:21 alex Status assigned => closed
08-03-10 12:21 alex Note Added: 0004694
08-03-10 12:21 alex Resolution open => fixed
08-03-10 12:21 alex Fixed in Version  => 4.0.10

Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
44 total queries executed.
33 unique queries executed.
Powered by Mantis Bugtracker