Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-23742

slave complaining about log4j-configuration , namely FileNotFoundException referencing /logs/.catalina.log

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • core, maven-plugin

      Tomcat has been configured to use log4j as logging-implementation, using tomcat/lib/log4j.xml relying on environment variables for path and file resolution
      We get the following StackTrace in the build logs of some of our Maven3 projects.
      This happens on Windows and Linux, regardless of release or snapshot build.

      We suspect this to be caused by the Tomcat configuration, forcing Tomcat to use log4j instead of Juli.

      The master seems to push its log4j.xml to the slave to provide log4j.xml as configuration media.

      The master's log4j.xml in tomcat/lib/log4j.xml is absolutely identical to the slave's log4j.xml in /tmp/jenkins-remoting88201907393997867/log4j.xml

      The (Linux-)slaves get reverted to a blank vmware-snapshot containing only the JRE 1.7.0_17 and afterwards powered on before the master connects.
      Therefore we're absolutely sure there never was any log4j.xml on the slaves before the master connects.

      log message containing StackTrace:

      maven3-agent.jar already up to date
      maven3-interceptor.jar already up to date
      maven3-interceptor-commons.jar already up to date
      [common] $ /work/tools/hudson.model.JDK/lnx64ora7u51/bin/java -Dlog4j.debug -Djava.awt.headless=true -cp /work/maven3-agent.jar:/work/tools/hudson.tasks.Maven_MavenInstallation/Maven_3.0.4/boot/plexus-classworlds-2.4.jar org.jvnet.hudson.maven3.agent.Maven3Main /work/tools/hudson.tasks.Maven_MavenInstallation/Maven_3.0.4 /work/slave.jar /work/maven3-interceptor.jar /work/maven3-interceptor-commons.jar 39496
      <===[JENKINS REMOTING CAPACITY]===>channel started
      log4j: Trying to find [log4j.xml] using context classloader sun.misc.Launcher$AppClassLoader@713c817.
      log4j: Trying to find [log4j.xml] using hudson.remoting.RemoteClassLoader@48bfba23 class loader.
      log4j: Using URL file:/tmp/jenkins-remoting88201907393997867/log4j.xml for automatic log4j configuration.
      log4j: Preferred configurator class: org.apache.log4j.xml.DOMConfigurator
      log4j: System property is :null
      log4j: Standard DocumentBuilderFactory search succeded.
      log4j: DocumentBuilderFactory is: com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
      log4j: debug attribute= "null".
      log4j: Ignoring debug attribute.
      log4j: Threshold ="null".
      log4j: Level value for root is [INFO].
      log4j: root level set to INFO
      log4j: Class name: [org.apache.log4j.DailyRollingFileAppender]
      log4j: Setting property [file] to [/logs/.catalina.log].
      log4j: Setting property [append] to [true].
      log4j: Setting property [encoding] to [UTF-8].
      log4j: Setting property [datePattern] to ['.'yyyy-MM-dd].
      log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
      log4j: Setting property [conversionPattern] to [%d %-5p [%t] %m%n].
      log4j: setFile called: /logs/.catalina.log, true
      log4j:ERROR setFile(null,true) call failed.
      java.io.FileNotFoundException: /logs/.catalina.log (Datei oder Verzeichnis nicht gefunden)
      at java.io.FileOutputStream.open(Native Method)
      at java.io.FileOutputStream.<init>(FileOutputStream.java:221)
      at java.io.FileOutputStream.<init>(FileOutputStream.java:142)
      at org.apache.log4j.FileAppender.setFile(FileAppender.java:273)
      at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:152)
      at org.apache.log4j.DailyRollingFileAppender.activateOptions(DailyRollingFileAppender.java:206)
      at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:247)
      at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:210)
      at org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:140)
      at org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:153)
      at org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement(DOMConfigurator.java:415)
      at org.apache.log4j.xml.DOMConfigurator.parseRoot(DOMConfigurator.java:384)
      at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:783)
      at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:666)
      at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:616)
      at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:602)
      at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:460)
      at org.apache.log4j.LogManager.<clinit>(LogManager.java:113)
      at org.apache.log4j.Logger.getLogger(Logger.java:94)
      at org.apache.commons.logging.impl.Log4JLogger.getLogger(Log4JLogger.java:262)
      at org.apache.commons.logging.impl.Log4JLogger.<init>(Log4JLogger.java:108)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
      at org.apache.commons.logging.impl.LogFactoryImpl.createLogFromClass(LogFactoryImpl.java:1025)
      at org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:844)
      at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:541)
      at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:292)
      at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:269)
      at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:657)
      at org.apache.commons.beanutils.ConvertUtilsBean.<init>(ConvertUtilsBean.java:157)
      at org.kohsuke.stapler.Stapler.<clinit>(Stapler.java:1062)
      at hudson.model.Result.<clinit>(Result.java:205)
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Class.java:190)
      at com.sun.proxy.$Proxy7.<clinit>(Unknown Source)
      at sun.reflect.GeneratedSerializationConstructorAccessor47.newInstance(Unknown Source)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
      at java.io.ObjectStreamClass.newInstance(ObjectStreamClass.java:967)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1782)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
      at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
      at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
      at java.util.HashMap.readObject(HashMap.java:1184)
      at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:606)
      at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
      at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
      at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
      at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
      at hudson.remoting.UserRequest.deserialize(UserRequest.java:182)
      at hudson.remoting.UserRequest.perform(UserRequest.java:98)
      at hudson.remoting.UserRequest.perform(UserRequest.java:48)
      at hudson.remoting.Request$2.run(Request.java:328)
      at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
      at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:744)
      log4j:ERROR Either File or DatePattern options are not set for appender [catalina].
      log4j: Adding appender named [catalina] to category [root].
      Executing Maven: -B -f /work/workspace/project-name-tr/common/pom.xml -e --fail-fast clean install
      [INFO] Error stacktraces are turned on.
      [INFO] Scanning for projects...

            Unassigned Unassigned
            tcb_xy Tim-Christian Bloss
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: