Fisheye service wont stay running
Asked by Jeff Richard:

I have fisheye running on windows server 2008, and it was working fine. I came in today, and the service won't stay running. Here is the output from the wrapper.log:

STATUS \| wrapper \| 2013/06/21 12:03:31 \| --\> Wrapper Started as Service

STATUS \| wrapper \| 2013/06/21 12:03:32 \| Launching a JVM...

INFO \| jvm 1 \| 2013/06/21 12:03:32 \| java version "1.7.0_25"

INFO \| jvm 1 \| 2013/06/21 12:03:32 \| Java(TM) SE Runtime Environment (build 1.7.0_25-b16)

INFO \| jvm 1 \| 2013/06/21 12:03:32 \| Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)

INFO \| jvm 1 \| 2013/06/21 12:03:32 \|

INFO \| jvm 1 \| 2013/06/21 12:03:32 \| JDK 1.5 detected, registering Java Service Wrapper MBean

INFO \| jvm 1 \| 2013/06/21 12:03:32 \|

INFO \| jvm 1 \| 2013/06/21 12:03:32 \| WARNING - Unable to load the Wrapper's native library 'wrapper.dll'.

INFO \| jvm 1 \| 2013/06/21 12:03:32 \| The file is located on the path at the following location but

INFO \| jvm 1 \| 2013/06/21 12:03:32 \| could not be loaded:

INFO \| jvm 1 \| 2013/06/21 12:03:32 \| D:\\Atlassian\\fisheye\\wrapper\\lib\\wrapper.dll

INFO \| jvm 1 \| 2013/06/21 12:03:32 \| Please verify that the file is readable by the current user

INFO \| jvm 1 \| 2013/06/21 12:03:32 \| and that the file has not been corrupted in any way.

INFO \| jvm 1 \| 2013/06/21 12:03:32 \| System signals will not be handled correctly.

INFO \| jvm 1 \| 2013/06/21 12:03:32 \|

INFO \| jvm 1 \| 2013/06/21 12:03:32 \| Wrapper (Version 3.1.2) <http://wrapper.tanukisoftware.org>

INFO \| jvm 1 \| 2013/06/21 12:03:32 \|

INFO \| jvm 1 \| 2013/06/21 12:03:32 \| WARN: your default encoding (windows-1252) does not support unicode.

INFO \| jvm 1 \| 2013/06/21 12:03:32 \| This is likely to cause problems if any of the filenames, branch names or tag names in one of your repositories contain unicode characters.

INFO \| jvm 1 \| 2013/06/21 12:03:32 \| Update your locale settings or start with the -Dfile.encoding=UTF-8 option to avoid these problems.

INFO \| jvm 1 \| 2013/06/21 12:03:33 \| 2013-06-21 12:03:32,990 INFO - Using log4j configuration file: D:\\Atlassian\\fisheye\\log4j.xml

INFO \| jvm 1 \| 2013/06/21 12:03:33 \| 2013-06-21 12:03:33,005 INFO - FishEye arguments: \[\]

INFO \| jvm 1 \| 2013/06/21 12:03:33 \| 2013-06-21 12:03:33,005 INFO - FishEye/Crucible 2.10.3 (20130318234358), Built on 2013-03-19

INFO \| jvm 1 \| 2013/06/21 12:03:33 \| 2013-06-21 12:03:33,005 INFO - Logging started (Oracle Corporation\|23.25-b01\|C:\\Java\\jdk1.7.0_25\\jre\|Windows Server 2008 R2\|amd64\|6.1\|maxmem=910MB)

INFO \| jvm 1 \| 2013/06/21 12:03:35 \| 2013-06-21 12:03:35,158 INFO - UpgradeManager started.

INFO \| jvm 1 \| 2013/06/21 12:03:35 \| 2013-06-21 12:03:35,205 INFO - loading config from file: D:\\Atlassian\\fisheye\\config.xml

INFO \| jvm 1 \| 2013/06/21 12:03:35 \| 2013-06-21 12:03:35,595 INFO - FishEye: Evaluation License registered to Mainstream Technologies.

INFO \| jvm 1 \| 2013/06/21 12:03:35 \| 2013-06-21 12:03:35,611 INFO - Your license expires in 14 days

INFO \| jvm 1 \| 2013/06/21 12:03:36 \| 2013-06-21 12:03:36,375 INFO - System property fisheye.p4.disable.ancestry using value: false (default is false)

INFO \| jvm 1 \| 2013/06/21 12:03:36 \| 2013-06-21 12:03:36,375 INFO - System property fisheye.p4.disable.branchspecs using value: false (default is false)

INFO \| jvm 1 \| 2013/06/21 12:03:36 \| 2013-06-21 12:03:36,391 INFO - System property fisheye.disable.suffixpaths using value: false (default is false)

INFO \| jvm 1 \| 2013/06/21 12:03:36 \| 2013-06-21 12:03:36,391 INFO - System property fisheye.svn.index.trunk.content.only using value: false (default is false)

INFO \| jvm 1 \| 2013/06/21 12:03:36 \| 2013-06-21 12:03:36,391 INFO - System property fisheye.jira.activity.enable using value: false (default is false)

INFO \| jvm 1 \| 2013/06/21 12:03:36 \| 2013-06-21 12:03:36,391 INFO - System property fisheye.jetty.jmx.enable using value: false (default is false)

INFO \| jvm 1 \| 2013/06/21 12:03:36 \| 2013-06-21 12:03:36,422 INFO - Adding secondary content dir of D:\\Atlassian\\fisheye\\content

INFO \| jvm 1 \| 2013/06/21 12:03:36 \| 2013-06-21 12:03:36,453 INFO - Server started on solomonsvn.mainstream-tech.com:8060 (http) (control port on 127.0.0.1:8059)

INFO \| jvm 1 \| 2013/06/21 12:03:37 \| WARN: your default encoding (windows-1252) does not support unicode.

INFO \| jvm 1 \| 2013/06/21 12:03:37 \| This is likely to cause problems if any of the filenames, branch names or tag names in one of your repositories contain unicode characters.

INFO \| jvm 1 \| 2013/06/21 12:03:37 \| Update your locale settings or start with the -Dfile.encoding=UTF-8 option to avoid these problems.

INFO \| jvm 1 \| 2013/06/21 12:03:37 \| INFO - Using log4j configuration file: D:\\Atlassian\\fisheye\\log4j-client.xml

INFO \| jvm 1 \| 2013/06/21 12:03:37 \| INFO - FishEye arguments: \[\]

INFO \| jvm 1 \| 2013/06/21 12:03:38 \| 2013-06-21 12:03:38,075 ERROR - Failed to remove shutdown hook

INFO \| jvm 1 \| 2013/06/21 12:03:38 \| java.lang.IllegalStateException: Shutdown in progress

INFO \| jvm 1 \| 2013/06/21 12:03:38 \|at java.lang.ApplicationShutdownHooks.remove(ApplicationShutdownHooks.java:82)

INFO \| jvm 1 \| 2013/06/21 12:03:38 \|at java.lang.Runtime.removeShutdownHook(Runtime.java:239)

INFO \| jvm 1 \| 2013/06/21 12:03:38 \|at com.cenqua.fisheye.ctl.ShutdownService.stopImpl(ShutdownService.java:270)

INFO \| jvm 1 \| 2013/06/21 12:03:38 \|at com.cenqua.fisheye.ctl.ShutdownService.handleStop(ShutdownService.java:256)

INFO \| jvm 1 \| 2013/06/21 12:03:38 \|at com.cenqua.fisheye.ctl.ShutdownService.handleClient(ShutdownService.java:123)

INFO \| jvm 1 \| 2013/06/21 12:03:38 \|at com.cenqua.fisheye.ctl.ShutdownService.access$200(ShutdownService.java:37)

INFO \| jvm 1 \| 2013/06/21 12:03:38 \|at com.cenqua.fisheye.ctl.ShutdownService$3.run(ShutdownService.java:87)

INFO \| jvm 1 \| 2013/06/21 12:03:38 \|at java.lang.Thread.run(Thread.java:724)

INFO \| jvm 1 \| 2013/06/21 12:03:38 \| FishEye Shutdown successfully

ERROR \| wrapper \| 2013/06/21 12:04:10 \| Shutdown failed: Timed out waiting for signal from JVM.

ERROR \| wrapper \| 2013/06/21 12:04:10 \| JVM did not exit on request, terminated

STATUS \| wrapper \| 2013/06/21 12:04:11 \| \<-- Wrapper Stopped


Answers:
author: Jeff Richard
body: I corrected this by uninstalling and reinstalling Fisheye. I'm not sure why it got corrupt, but it is working now.


author: Daniel R
body: I'm happy to announce that the new version of FishEye/Crucible (3.4) now inlcudes an installer for both 32-bit and 64-bit Windows services:

<https://www.atlassian.com/software/fisheye/download>

comments: author: Micha? Wieczorek
body: If I want to use '.zip' package instead of installer, can I use 64bit?


author: Daniel R
body: A user reported that the solution presented here worked:

[](https://github.com/darianmiller/devmachine/wiki/Run-FishEye-as-a-Windows-Service-using-64-bit-Java-runtimes)<https://github.com/darianmiller/devmachine/wiki/Run-FishEye-as-a-Windows-Service-using-64-bit-Java-runtimes>


author: Anthony Pomtree
body: More info from one of the other logs. I looked at the FishEye web config file and didn't see any issue with the URL patterns.

2013-06-21 15:04:20,675 INFO \[WrapperStartStopAppMain \] fisheye BaseCommand-setupLogging - Using log4j configuration file: D:\\Atlassian\\fisheye\\log4j.xml  
2013-06-21 15:04:20,816 INFO \[WrapperStartStopAppMain \] fisheye BaseCommand-handleCommonArguments - FishEye arguments: \[\]  
2013-06-21 15:04:20,816 INFO \[WrapperStartStopAppMain \] fisheye Run-sysinfo - FishEye/Crucible 2.10.3 (20130318234358), Built on 2013-03-19  
2013-06-21 15:04:20,816 INFO \[WrapperStartStopAppMain \] fisheye Run-sysinfo - Logging started (Oracle Corporation\|23.7-b01\|C:\\Java\\jdk1.7.0_17\\jre\|Windows Server 2008 R2\|x86\|6.1\|maxmem=910MB)  
2013-06-21 15:04:30,771 INFO \[WrapperStartStopAppMain \] fisheye DefaultUpgradeManager-\<init\> - UpgradeManager started.  
2013-06-21 15:04:30,912 INFO \[WrapperStartStopAppMain \] fisheye RootConfig-load - loading config from file: D:\\Atlassian\\fisheye\\config.xml  
2013-06-21 15:04:32,082 INFO \[WrapperStartStopAppMain \] fisheye Run-mainImpl - FishEye: Evaluation License registered to Mainstream Technologies.  
2013-06-21 15:04:32,098 INFO \[WrapperStartStopAppMain \] fisheye Run-mainImpl - Your license expires in 14 days  
2013-06-21 15:04:34,548 INFO \[WrapperStartStopAppMain \] fisheye FishEyeSysProps-loadBooleanProperty - System property fisheye.p4.disable.ancestry using value: false (default is false)  
2013-06-21 15:04:34,548 INFO \[WrapperStartStopAppMain \] fisheye FishEyeSysProps-loadBooleanProperty - System property fisheye.p4.disable.branchspecs using value: false (default is false)  
2013-06-21 15:04:34,548 INFO \[WrapperStartStopAppMain \] fisheye FishEyeSysProps-loadBooleanProperty - System property fisheye.disable.suffixpaths using value: false (default is false)  
2013-06-21 15:04:34,548 INFO \[WrapperStartStopAppMain \] fisheye FishEyeSysProps-loadBooleanProperty - System property fisheye.svn.index.trunk.content.only using value: false (default is false)  
2013-06-21 15:04:34,548 INFO \[WrapperStartStopAppMain \] fisheye FishEyeSysProps-loadBooleanProperty - System property fisheye.jira.activity.enable using value: false (default is false)  
2013-06-21 15:04:34,548 INFO \[WrapperStartStopAppMain \] fisheye FishEyeSysProps-loadBooleanProperty - System property fisheye.jetty.jmx.enable using value: false (default is false)  
2013-06-21 15:04:34,688 INFO \[WrapperStartStopAppMain \] fisheye WebServer-\<init\> - Adding secondary content dir of D:\\Atlassian\\fisheye\\content  
2013-06-21 15:04:34,719 WARN \[WrapperStartStopAppMain \] org.mortbay.log Slf4jLog-warn - failed [ContextHandlerCollection@181754](mailto:ContextHandlerCollection@181754): java.lang.IllegalArgumentException: PathSpec 8060/\*. must start with '/' or '\*.'  
2013-06-21 15:04:34,719 WARN \[WrapperStartStopAppMain \] org.mortbay.log Slf4jLog-warn - failed [HandlerCollection@9e3cd4](mailto:HandlerCollection@9e3cd4): java.lang.IllegalArgumentException: PathSpec 8060/\*. must start with '/' or '\*.'  
2013-06-21 15:04:34,719 ERROR \[WrapperStartStopAppMain \] org.mortbay.log Slf4jLog-warn - Error starting handlers  
java.lang.IllegalArgumentException: PathSpec 8060/\*. must start with '/' or '\*.'  
at org.mortbay.jetty.servlet.PathMap.put(PathMap.java:159)  
at org.mortbay.jetty.handler.ContextHandlerCollection.mapContexts(ContextHandlerCollection.java:130)  
at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:155)  
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)  
at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)  
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)  
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)  
at org.mortbay.jetty.Server.doStart(Server.java:224)  
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)  
at com.cenqua.fisheye.web.WebServer.start(WebServer.java:292)  
at com.cenqua.fisheye.ctl.Run.mainImpl(Run.java:249)  
at com.cenqua.fisheye.ctl.Run.main(Run.java:78)  
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)  
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
at java.lang.reflect.Method.invoke(Method.java:601)  
at com.cenqua.fisheye.FishEyeCtl.mainImpl(FishEyeCtl.java:99)  
at com.cenqua.fisheye.FishEyeCtl.main(FishEyeCtl.java:42)  
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)  
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
at java.lang.reflect.Method.invoke(Method.java:601)  
at org.tanukisoftware.wrapper.WrapperStartStopApp.run(WrapperStartStopApp.java:159)  
at java.lang.Thread.run(Thread.java:722)  
2013-06-21 15:04:34,829 INFO \[WrapperStartStopAppMain \] fisheye Run-mainImpl - Server started on xxx.yyy.com:8060 (http) (control port on 127.0.0.1:8059)  
2013-06-21 15:04:34,875 INFO \[Thread-4 \] fisheye ShutdownService-stopImpl - Shutdown requested  
2013-06-21 15:04:34,875 INFO \[Thread-4 \] fisheye DefaultRepositoryManager-fullShutdown - shutdown XXX  
2013-06-21 15:04:34,875 INFO \[Thread-4 \] fisheye DefaultRepositoryManager-fullShutdown - shutdown YYY  
2013-06-21 15:04:34,875 INFO \[Thread-4 \] fisheye DefaultRepositoryManager-fullShutdown - shutdown YYY  
2013-06-21 15:04:37,154 INFO \[Thread-8 \] fisheye ShutdownService-stopImpl - Shutdown requested  
2013-06-21 15:04:37,154 ERROR \[Thread-8 \] fisheye ShutdownService-stopImpl - Failed to remove shutdown hook  
java.lang.IllegalStateException: Shutdown in progress  
at java.lang.ApplicationShutdownHooks.remove(ApplicationShutdownHooks.java:82)  
at java.lang.Runtime.removeShutdownHook(Runtime.java:237)  
at com.cenqua.fisheye.ctl.ShutdownService.stopImpl(ShutdownService.java:270)  
at com.cenqua.fisheye.ctl.ShutdownService.handleStop(ShutdownService.java:256)  
at com.cenqua.fisheye.ctl.ShutdownService.handleClient(ShutdownService.java:123)  
at com.cenqua.fisheye.ctl.ShutdownService.access$200(ShutdownService.java:37)  
at com.cenqua.fisheye.ctl.ShutdownService$3.run(ShutdownService.java:87)  
at java.lang.Thread.run(Thread.java:722)  
2013-06-21 15:04:37,169 INFO \[Thread-8 \] fisheye DefaultRepositoryManager-fullShutdown - shutdown XXX  
2013-06-21 15:04:37,169 INFO \[Thread-8 \] fisheye DefaultRepositoryManager-fullShutdown - shutdown YYY  
2013-06-21 15:04:37,169 INFO \[Thread-8 \] fisheye DefaultRepositoryManager-fullShutdown - shutdown ZZZ


author: rverschoor
body: The log shows that you have a 64-bit Java installed:

```
INFO | jvm 1 | 2013/06/21 12:03:32 | Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
```

However, the service wrapper supplied with FishEye is the free Community edition.  
The 64-bit Windows version is not available as a free Community edition, only as a paid commercial one.  
See also the site of the makers [Tanuki Software](http://wrapper.tanukisoftware.com/doc/english/download.jsp).

This is also addressed in the [Crucible documentation](https://confluence.atlassian.com/display/CRUCIBLE/Running+Crucible+as+a+Windows+service#RunningCrucibleasaWindowsservice-Warningwhenusing64-bitJavaJDK).

Your options are to switch to a 32-bit Java, buy the 64-bit Windows wrapper from Tanuki Software, or try one of the other Java service wrappers available.

comments: author: Anthony Pomtree
body: The same issue occurs with the 32-bit version of Java.

STATUS \| wrapper \| 2013/06/21 14:22:56 \| Launching a JVM...  
INFO \| jvm 1 \| 2013/06/21 14:22:57 \| java version "1.7.0_17"  
INFO \| jvm 1 \| 2013/06/21 14:22:57 \| Java(TM) SE Runtime Environment (build 1.7.0_17-b02)  
INFO \| jvm 1 \| 2013/06/21 14:22:57 \| Java HotSpot(TM) Server VM (build 23.7-b01, mixed mode)  
INFO \| jvm 1 \| 2013/06/21 14:22:57 \|   
INFO \| jvm 1 \| 2013/06/21 14:22:57 \| JDK 1.5 detected, registering Java Service Wrapper MBean  
INFO \| jvm 1 \| 2013/06/21 14:22:57 \| Wrapper (Version 3.1.2) <http://wrapper.tanukisoftware.org>


author: Jeff Richard
body: Guess I also don't understand why this product (Fisheye) would have this problem but Jira and Confluence don't. They are all 3 installed on the same server, and all 3 using the Windows Service wrappers. Jira and Confluence work just fine with the 64 bit version. Why is Fisheye different that we have to use the 32 bit client for it?


Tags: fisheye-crucible-administration