SOS icon indicating copy to clipboard operation
SOS copied to clipboard

FileNotFoundException: catalina.base_IS_UNDEFINED/logs/52n-sos-webapp.log (No such file or directory)

Open johnjohndoe opened this issue 9 years ago • 1 comments

I just installed Jetty on my Ubuntu 14.10. machine to try out SOS. Here is my Jetty version:

Package: jetty                    
State: installed
Automatically installed: no
Version: 6.1.26-1ubuntu1.1
Priority: optional
Section: universe/web
Maintainer: Ubuntu Developers <[email protected]>
Architecture: all
Uncompressed Size: 1.043 k
Depends: libjetty-java (>= 6.1.26-1ubuntu1.1), adduser, jsvc, apache2-utils, 
 default-jre-headless | java5-runtime-headless
Suggests: libjetty-extra-java (>= 6.1.26-1ubuntu1.1), libjetty-extra (>= 6.1.26-1ubuntu1.1),
 libjetty-java-doc (>= 6.1.26-1ubuntu1.1)
Description: Java servlet engine and webserver
 Jetty is an Open Source HTTP Servlet Server written in 100% Java. 
 It is designed to be light weight, high performance, embeddable, extensible and flexible,
 thus making it an ideal platform for serving dynamic HTTP requests from any 
 Java application.
Homepage: http://jetty.mortbay.com/

I started Jetty. I built the project with maven clean install from commit 2c4d64f167ec9ae4a594a1b5b3cfc8cb538ee407 and copied it from webapp/target/52n-sos-webapp##4.3.0-SNAPSHOT.war to /var/lib/jetty/webapps/sos.war. When I visit http://localhost:8080/sos the following error is shown:

HTTP ERROR 500
Problem accessing /sos/WEB-INF/views/index.jsp. Reason:
    JSP support not configured
Powered by Jetty://

More information can be found in /var/log/jetty/2015_05_09.stderrout.log:

14:44:48,101 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
14:44:48,103 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
14:44:48,103 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/var/cache/jetty/data/Jetty__8090_sos.war__sos__eyrnlz/webapp/WEB-INF/classes/logback.xml]
14:44:48,406 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
14:44:48,420 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Setting ReconfigureOnChangeFilter scanning period to 30 seconds
14:44:48,420 |-INFO in ReconfigureOnChangeFilter{invocationCounter=0} - Will scan for changes in [[/var/cache/jetty/data/Jetty__8090_sos.war__sos__eyrnlz/webapp/WEB-INF/classes/logback.xml]] every 30 seconds. 
14:44:48,420 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Adding ReconfigureOnChangeFilter as a turbo filter
14:44:48,439 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
14:44:48,453 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [FILE]
14:44:48,574 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy - No compression will be used
14:44:48,576 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy - Will use the pattern catalina.base_IS_UNDEFINED/logs/52n-sos-webapp/%d{yyyy-MM-dd}-%i.log for the active file
14:44:48,580 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@3fcf8dad - The date pattern is 'yyyy-MM-dd' from file name pattern 'catalina.base_IS_UNDEFINED/logs/52n-sos-webapp/%d{yyyy-MM-dd}-%i.log'.
14:44:48,580 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@3fcf8dad - Roll-over at midnight.
14:44:48,584 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@3fcf8dad - Setting initial period to Sat May 09 14:44:48 CEST 2015
14:44:48,587 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
14:44:48,627 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - Active log file name: catalina.base_IS_UNDEFINED/logs/52n-sos-webapp.log
14:44:48,628 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - File property is set to [catalina.base_IS_UNDEFINED/logs/52n-sos-webapp.log]
14:44:48,629 |-ERROR in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - Failed to create parent directories for [/catalina.base_IS_UNDEFINED/logs/52n-sos-webapp.log]
14:44:48,630 |-ERROR in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - 
    openFile(catalina.base_IS_UNDEFINED/logs/52n-sos-webapp.log,true) call failed. 
    java.io.FileNotFoundException: catalina.base_IS_UNDEFINED/logs/52n-sos-webapp.log (No such file or directory)

    at java.io.FileNotFoundException: catalina.base_IS_UNDEFINED/logs/52n-sos-webapp.log (No such file or directory)
    at  at java.io.FileOutputStream.open(Native Method)
    at  at java.io.FileOutputStream.<init>(FileOutputStream.java:221)
    at  at ch.qos.logback.core.recovery.ResilientFileOutputStream.<init>(ResilientFileOutputStream.java:28)
    at  at ch.qos.logback.core.FileAppender.openFile(FileAppender.java:149)
    at  at ch.qos.logback.core.FileAppender.start(FileAppender.java:108)
    at  at ch.qos.logback.core.rolling.RollingFileAppender.start(RollingFileAppender.java:86)
    at  at ch.qos.logback.core.joran.action.AppenderAction.end(AppenderAction.java:96)
    at  at ch.qos.logback.core.joran.spi.Interpreter.callEndAction(Interpreter.java:317)
    at  at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:196)
    at  at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:182)
    at  at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:62)
    at  at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:149)
    at  at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:135)
    at  at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:99)
    at  at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:49)
    at  at ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:75)
    at  at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:148)
    at  at org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:85)
    at  at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:55)
    at  at org.slf4j.LoggerFactory.bind(LoggerFactory.java:128)
    at  at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:107)
    at  at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:295)
    at  at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:269)
    at  at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:281)
    at  at org.n52.sos.service.SosContextListener.<clinit>(SosContextListener.java:60)
    at  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at  at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at  at java.lang.Class.newInstance(Class.java:379)
    at  at org.mortbay.jetty.webapp.WebXmlConfiguration.newListenerInstance(WebXmlConfiguration.java:650)
    at  at org.mortbay.jetty.webapp.WebXmlConfiguration.initListener(WebXmlConfiguration.java:631)
    at  at org.mortbay.jetty.webapp.WebXmlConfiguration.initWebXmlElement(WebXmlConfiguration.java:368)
    at  at org.mortbay.jetty.webapp.WebXmlConfiguration.initialize(WebXmlConfiguration.java:289)
    at  at org.mortbay.jetty.webapp.WebXmlConfiguration.configure(WebXmlConfiguration.java:222)
    at  at org.mortbay.jetty.webapp.WebXmlConfiguration.configureWebApp(WebXmlConfiguration.java:180)
    at  at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1279)
    at  at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:519)
    at  at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
    at  at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at  at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
    at  at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
    at  at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at  at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
    at  at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at  at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
    at  at org.mortbay.jetty.Server.doStart(Server.java:224)
    at  at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at  at org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:985)
    at  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at  at java.lang.reflect.Method.invoke(Method.java:606)
    at  at org.mortbay.start.Main.invokeMain(Main.java:194)
    at  at org.mortbay.start.Main.start(Main.java:534)
    at  at org.mortbay.jetty.start.daemon.Bootstrap.start(Bootstrap.java:30)
    at  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at  at java.lang.reflect.Method.invoke(Method.java:606)
    at  at org.apache.commons.daemon.support.DaemonLoader.start(DaemonLoader.java:243)

14:44:48,630 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
14:44:48,632 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT]
14:44:48,636 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
14:44:48,641 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.n52] to INFO
14:44:48,641 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.springframework] to WARN
14:44:48,641 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO
14:44:48,641 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [FILE] to Logger[ROOT]
14:44:48,642 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
14:44:48,643 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@2656681b - Registering current configuration as safe fallback point

ClassLoaderLeakPreventor: Settings for se.jiderhamn.classloader.leak.prevention.ClassLoaderLeakPreventor (CL: 0x75247397):
ClassLoaderLeakPreventor:   stopThreads = true
ClassLoaderLeakPreventor:   stopTimerThreads = true
ClassLoaderLeakPreventor:   executeShutdownHooks = true
ClassLoaderLeakPreventor:   threadWaitMs = 5000 ms
ClassLoaderLeakPreventor:   shutdownHookWaitMs = 10000 ms
ClassLoaderLeakPreventor: Initializing context by loading some known offenders with system classloader

johnjohndoe avatar May 09 '15 13:05 johnjohndoe

These are actually two independent problems. The first sound like a Jetty configuration problem (have a look at the Jetty docs). JSP Support should be enabled by default, by I don't know the Ubuntu setup...

The exception in the Jetty log is caused by the fact that the SOS tries to log to $CATALINA_BASE/logs. As this isn't a Tomcat, the variable is not set. You could try setting the catalina.base system property when starting Jetty or change the path in WEB-INF/classes/logback.xml.

autermann avatar May 11 '15 07:05 autermann