Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error Starting Jetty-Service (Solr)

Update: I installed the 32bit JDK and the service starts fine now. No idea why though. The machine it was failing on was 64bit...

Update2: So installing the 32bit JDK will allow the service to install, but solr will not run. There is a StackOverflowException and NullPointer Excpetions in the logs.

I am trying to run Jetty as a service on Windows 7 64bit. I have it running on a very similar machine just fine, but on the second I am getting errors I have not been able to resolve.

The service installs fine, however when you try to start it you get the message in the console: The Jetty6-Service service was launched, but failed to start.

enter image description here

This is the related contents in the jetty-service.log:

STATUS | wrapper  | 2011/02/16 12:50:07 | Starting the Jetty6-Service service...
STATUS | wrapper  | 2011/02/16 12:50:07 | --> Wrapper Started as Service
DEBUG  | wrapper  | 2011/02/16 12:50:07 | Using tick timer.
DEBUG  | wrapperp | 2011/02/16 12:50:07 | server listening on port 32000.
STATUS | wrapper  | 2011/02/16 12:50:07 | Launching a JVM...
DEBUG  | wrapper  | 2011/02/16 12:50:07 | command: "java" -Djetty.home=../ -Djetty.logs=../logs -Dsolr.solr.home=C:/solr/ -Xms5m -Xmx64m -Djava.library.path="../lib/win32/" -classpath "../lib/win32/jetty-win32-service-java-6.1.26.jar;../lib/win32/wrapper.jar;../lib/jetty-6.1.3.jar;../lib/jetty-util-6.1.3.jar;../lib/servlet-api-2.5-6.1.3.jar;../start.jar" -Dwrapper.key="c5CIhIjsO0gmMcTE" -Dwrapper.port=32000 -Dwrapper.jvm.port.min=31000 -Dwrapper.jvm.port.max=31999 -Dwrapper.debug="TRUE" -Dwrapper.pid=4708 -Dwrapper.version="3.2.3" -Dwrapper.native_library="wrapper" -Dwrapper.service="TRUE" -Dwrapper.cpu.timeout="10" -Dwrapper.jvmid=1 org.mortbay.jetty.win32service.JettyServiceWrapperListener ../etc/jetty.xml
FATAL  | wrapper  | 2011/02/16 12:50:07 | Unable to execute Java command.  The system cannot find the file specified. (0x2)
FATAL  | wrapper  | 2011/02/16 12:50:07 |     "java" -Djetty.home=../ -Djetty.logs=../logs -Dsolr.solr.home=C:/solr/ -Xms5m -Xmx64m -Djava.library.path="../lib/win32/" -classpath "../lib/win32/jetty-win32-service-java-6.1.26.jar;../lib/win32/wrapper.jar;../lib/jetty-6.1.3.jar;../lib/jetty-util-6.1.3.jar;../lib/servlet-api-2.5-6.1.3.jar;../start.jar" -Dwrapper.key="c5CIhIjsO0gmMcTE" -Dwrapper.port=32000 -Dwrapper.jvm.port.min=31000 -Dwrapper.jvm.port.max=31999 -Dwrapper.debug="TRUE" -Dwrapper.pid=4708 -Dwrapper.version="3.2.3" -Dwrapper.native_library="wrapper" -Dwrapper.service="TRUE" -Dwrapper.cpu.timeout="10" -Dwrapper.jvmid=1 org.mortbay.jetty.win32service.JettyServiceWrapperListener ../etc/jetty.xml
FATAL  | wrapper  | 2011/02/16 12:50:07 | Critical error: wait for JVM process failed
ERROR  | wrapper  | 2011/02/16 12:50:09 | The Jetty6-Service service was launched, but failed to start.

The one difference that I know of between the two machines is that the one that is not working had Tomcat installed at one point which it no longer does.

I have tried the following:

  1. Uninstalled all copies of the Java JDK and JRE
  2. Reinstalled the latest Java JDK - jdk1.6.0_24 which installs the associated JRE
  3. Tried setting JAVA_HOME to C:\Program Files\Java\jdk1.6.0_24
  4. Googled all error messages
  5. I can run java -version in the console without error

In case someone is looking for more information on running Jetty as a service, check out:

  1. http://docs.codehaus.org/display/JETTY/Win32Wrapper
  2. http://technologyenablingbusiness.blogspot.com/2010/12/solr-on-jetty-as-windows-service.html
like image 981
beckelmw Avatar asked Feb 16 '11 14:02

beckelmw


2 Answers

There seems to be issues with the Java Service Wrapper included as part of the Jetty Service on some x64 machines.

The community version of the Java Service Wrapper does not support x64 though. If I download and incorporate the standard or professional edition using method 4 on their website then things will work.

http://wrapper.tanukisoftware.com/doc/english/download.jsp

like image 195
beckelmw Avatar answered Oct 29 '22 07:10

beckelmw


This worked for me:

Added to top of bin\jetty-service.conf:

wrapper.java.command=%JAVA_HOME%\jre\bin\java.exe

Note that JAVA_HOME in my system is set:

JAVA_HOME=C:\Java\jdk1.6.0_35

and I'm using a 64 bit JVM:

C:\>java -version
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01, mixed mode)
like image 37
dkoper Avatar answered Oct 29 '22 05:10

dkoper