[tor-bugs] #13003 [Onionoo]: Figure out a better strategy to avoid concurrent Onionoo executions

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Sep 17 18:32:17 UTC 2014


#13003: Figure out a better strategy to avoid concurrent Onionoo executions
-------------------------+-----------------
     Reporter:  karsten  |      Owner:
         Type:  defect   |     Status:  new
     Priority:  normal   |  Milestone:
    Component:  Onionoo  |    Version:
   Resolution:           |   Keywords:
Actual Points:           |  Parent ID:
       Points:           |
-------------------------+-----------------

Comment (by iwakeh):

 > > For debugging, set the following in logback.xml:
 > > {{{
 > > - <configuration debug="false">
 > > + <configuration debug="true">
 > > }}}
 > > This will print a detailed logging setup at the beginning.
 > > I hope you'll find a ClassNotFound somewhere.
 >
 > Hmm, nothing in `onionoo-all.log`.  Weird.  Do you have an example of
 what should be logged?

 Well, at the beginning the logging setup is written to Stdout, if debug is
 enabled as above.
 Makes sense, b/c the logging is in the process of being configured.
 {{{
 vagrant at vagrant:/srv/onionoo.torproject.org/onionoo$ ant run
      [java] 11:22:25,917 |-INFO in
 ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource
 [logback.groovy]
      [java] 11:22:25,917 |-INFO in
 ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource
 [logback-test.xml]
      [java] 11:22:25,917 |-INFO in
 ch.qos.logback.classic.LoggerContext[default] - Found resource
 [logback.xml] at
 [file:/srv/onionoo.torproject.org/onionoo/classes/logback.xml]
      [java] 11:22:26,013 |-INFO in
 ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute
 not set
      [java] 11:22:26,021 |-INFO in
 ch.qos.logback.core.joran.action.AppenderAction - About to instantiate
 appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
      [java] 11:22:26,032 |-INFO in
 ch.qos.logback.core.joran.action.AppenderAction - Naming appender as
 [FILEALL]
      [java] 11:22:26,076 |-INFO in
 ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming
 default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for
 [encoder] property
      [java] 11:22:26,195 |-INFO in
 c.q.l.core.rolling.TimeBasedRollingPolicy - No compression will be used
      [java] 11:22:26,197 |-INFO in
 c.q.l.core.rolling.TimeBasedRollingPolicy - Will use the pattern
 ./onionoo-all.%d{yyyy-MM-dd}.%i.log for the active file
 ....
 }}}
  and a lot more.
 If an Exception is thrown even more lines.
 The exception I hope to see:
 {{{
 ...
      [java] 11:28:17,750 |-INFO in
 ch.qos.logback.core.joran.action.AppenderAction - About to instantiate
 appender of type [ch.qos.logback.classic.net.SMTPAppender]
      [java] 11:28:17,752 |-ERROR in
 ch.qos.logback.core.joran.action.AppenderAction - Could not create an
 Appender of type [ch.qos.logback.classic.net.SMTPAppender].
 ch.qos.logback.core.util.DynamicClassLoadingException: Failed to
 instantiate type ch.qos.logback.classic.net.SMTPAppender
      [java]     at ch.qos.logback.core.util.DynamicClassLoadingException:
 Failed to instantiate type ch.qos.logback.classic.net.SMTPAppender
      [java]     at      at
 ch.qos.logback.core.util.OptionHelper.instantiateByClassName(OptionHelper.java:54)
      [java]     at      at
 ch.qos.logback.core.util.OptionHelper.instantiateByClassName(OptionHelper.java:32)
      [java]     at      at
 ch.qos.logback.core.joran.action.AppenderAction.begin(AppenderAction.java:54)
      [java]     at      at
 ch.qos.logback.core.joran.spi.Interpreter.callBeginAction(Interpreter.java:276)
      [java]     at      at
 ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:148)
      [java]     at      at
 ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:130)
      [java]     at      at
 ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:50)
      [java]     at      at
 ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:147)
      [java]     at      at
 ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:133)
      [java]     at      at
 ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:96)
      [java]     at      at
 ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:55)
      [java]     at      at
 ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:75)
      [java]     at      at
 ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:148)
      [java]     at      at
 org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:84)
      [java]     at      at
 org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:54)
      [java]     at      at
 org.slf4j.LoggerFactory.bind(LoggerFactory.java:128)
      [java]     at      at
 org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:108)
      [java]     at      at
 org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:279)
      [java]     at      at
 org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:252)
      [java]     at      at
 org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:265)
      [java]     at      at
 org.torproject.onionoo.server.ServerMain.<clinit>(ServerMain.java:12)
      [java] Caused by: java.lang.NoClassDefFoundError: javax/mail/Message
      [java]     at      at java.lang.Class.getDeclaredConstructors0(Native
 Method)
      [java]     at      at
 java.lang.Class.privateGetDeclaredConstructors(Class.java:2532)
      [java]     at      at
 java.lang.Class.getConstructor0(Class.java:2842)
      [java]     at      at java.lang.Class.newInstance(Class.java:345)
      [java]     at      at
 ch.qos.logback.core.util.OptionHelper.instantiateByClassName(OptionHelper.java:50)
      [java]     at      ... 20 common frames omitted
      [java] Caused by: java.lang.ClassNotFoundException:
 javax.mail.Message
      [java]     at      at
 java.net.URLClassLoader$1.run(URLClassLoader.java:366)
      [java]     at      at
 java.net.URLClassLoader$1.run(URLClassLoader.java:355)
      [java]     at      at
 java.security.AccessController.doPrivileged(Native Method)
      [java]     at      at
 java.net.URLClassLoader.findClass(URLClassLoader.java:354)
      [java]     at      at
 java.lang.ClassLoader.loadClass(ClassLoader.java:425)
      [java]     at      at
 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
      [java]     at      at
 java.lang.ClassLoader.loadClass(ClassLoader.java:358)
      [java]     at      ... 25 common frames omitted
      [java] 11:28:17,752 |-ERROR in
 ch.qos.logback.core.joran.spi.Interpreter at 23:73 - ActionException in
 Action for tag [appender] ch.qos.logback.core.joran.spi.ActionException:
 ch.qos.logback.core.util.DynamicClassLoadingException: Failed to
 instantiate type ch.qos.logback.classic.net.SMTPAppender
  ...
 }}}

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/13003#comment:16>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list