Summary: | Tomcat 5.0.27-r4 fails to startup correctly | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | John Shaw <jtshaw> |
Component: | Current packages | Assignee: | Java team <java> |
Status: | RESOLVED INVALID | ||
Severity: | normal | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
John Shaw
2005-01-23 13:10:35 UTC
I noticed from the log file that tomcat was looking for jmx but not finding it. So I decided install jmx. Now I'm at least getting errors in the log: WARNING: Unexpected exception resolving reference java.io.FileNotFoundException: /opt/tomcat5/conf/tomcat-users.xml (Permission denied) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:106) at org.apache.catalina.users.MemoryUserDatabase.open(MemoryUserDatabase.java:354) at org.apache.catalina.users.MemoryUserDatabaseFactory.getObjectInstance(MemoryUserDatabaseFactory.java:97) at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:129) at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:301) at org.apache.naming.NamingContext.lookup(NamingContext.java:791) at org.apache.naming.NamingContext.lookup(NamingContext.java:151) at org.apache.catalina.realm.UserDatabaseRealm.start(UserDatabaseRealm.java:252) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1075) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478) at org.apache.catalina.core.StandardService.start(StandardService.java:480) at org.apache.catalina.core.StandardServer.start(StandardServer.java:2313) at org.apache.catalina.startup.Catalina.start(Catalina.java:556) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:284) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:422) javax.naming.NamingException: /opt/tomcat5/conf/tomcat-users.xml (Permission denied) at org.apache.naming.NamingContext.lookup(NamingContext.java:803) at org.apache.naming.NamingContext.lookup(NamingContext.java:151) at org.apache.catalina.realm.UserDatabaseRealm.start(UserDatabaseRealm.java:252) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1075) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478) at org.apache.catalina.core.StandardService.start(StandardService.java:480) at org.apache.catalina.core.StandardServer.start(StandardServer.java:2313) at org.apache.catalina.startup.Catalina.start(Catalina.java:556) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:284) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:422) Jan 23, 2005 5:12:37 PM org.apache.catalina.startup.Catalina start SEVERE: Catalina.start: LifecycleException: No UserDatabase component found under key UserDatabase at org.apache.catalina.realm.UserDatabaseRealm.start(UserDatabaseRealm.java:259) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1075) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478) at org.apache.catalina.core.StandardService.start(StandardService.java:480) at org.apache.catalina.core.StandardServer.start(StandardServer.java:2313) at org.apache.catalina.startup.Catalina.start(Catalina.java:556) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:284) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:422) Jan 23, 2005 5:12:37 PM org.apache.catalina.startup.Catalina start INFO: Server startup in 356 ms I was trying to reproduce your problem on my machine, and I wasn't able to. To me, it seems tomcat is looking for /opt/tomcat5/conf/tomcat-users.xml, and either it doesn't exist, or you don't have the correct permission. Are you running /etc/init.d/tomcat5 start as root? You should run that script as root. Permissions/Ownership of /etc/tomcat5/ (aka /opt/tomcat5/conf)
drwxr-x--- 3 tomcat tomcat 304 Jan 24 11:58 .
drwxr-xr-x 55 root root 4040 Jan 24 10:21 ..
drwxr-xr-x 3 tomcat tomcat 80 Jan 22 17:11 Catalina
-rw-r--r-- 1 tomcat tomcat 6954 Jan 22 17:11 catalina.policy
-rw-r--r-- 1 tomcat tomcat 2754 Jan 22 17:11 catalina.properties
-rw-r--r-- 1 tomcat tomcat 778 Jan 22 17:11 jk2.properties
-rw-r--r-- 1 tomcat tomcat 1128 Jan 22 17:11 server-minimal.xml
-rw-r--r-- 1 tomcat tomcat 18715 Jan 22 17:11 server.xml
-rw------- 1 tomcat tomcat 296 Jan 24 11:58 tomcat-users.xml
-rw-r--r-- 1 tomcat tomcat 38706 Jan 22 17:11 web.xml
I did have a problem with my tomcat-users.xml owner/group which is now fixed. I no longer get the crash messages. However, it still doesn't correctly startup. Here is what the output looks like from the log file:
Jan 24, 2005 12:32:49 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
Jan 24, 2005 12:32:49 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 3248 ms
Jan 24, 2005 12:32:50 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Jan 24, 2005 12:32:50 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.0.27
Jan 24, 2005 12:32:50 PM org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
Jan 24, 2005 12:32:50 PM org.apache.catalina.core.StandardHost getDeployer
INFO: Create Host deployer for direct deployment ( non-jmx )
Jan 24, 2005 12:32:50 PM org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL file:/etc/tomcat5/Catalina/local
I can see java processes startup for a second, but they all shut down eventually. When I change the config to run tomcat5 with the debugger I get this output:
run org.apache.catalina.startup.Bootstrap start
Set uncaught java.lang.Throwable
Set deferred uncaught java.lang.Throwable
>
VM Started: Jan 24, 2005 12:37:50 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
Jan 24, 2005 12:37:51 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 5580 ms
Jan 24, 2005 12:37:52 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Jan 24, 2005 12:37:52 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.0.27
Jan 24, 2005 12:37:52 PM org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
Jan 24, 2005 12:37:52 PM org.apache.catalina.core.StandardHost getDeployer
INFO: Create Host deployer for direct deployment ( non-jmx )
Jan 24, 2005 12:37:52 PM org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL file:/etc/tomcat5/Catalina/localhost/manager.xml
The application has been disconnected [ ok ]
I'm also getting some grsec output... grsec: From 24.98.197.246: signal 11 sent to /opt/blackdown-jdk-1.4.2.01/jre/bin/java[java:31475] uid/euid:103/103 gid/egid:429/429, parent /opt/blackdown-jdk-1.4.2.01/bin/jdb[jdb:13412] uid/euid:103/103 gid/egid:429/429 and that is exactly your problem, grsecurity kills the java binaries at runtime. you have 2 options, either disable grsecurity completly or disable the grsecurity features on your java binaries using chpax or paxctl (see manpages of them how to do this). Ah... that makes sense. Disabling the memory protection for the java executable worked. |