Uploaded image for project: 'SLF4J'
  1. SLF4J
  2. SLF4J-500

SLF4J LOG4J 12 Binding throws Null Pointer Exception starting with version 1.7.19

    XMLWordPrintable

Details

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Major Major
    • 2.0.0-alpha3, 1.7.33
    • 1.7.19, 1.7.20, 1.7.30
    • Unspecified
    • None

    Description

      I was using fluent-logger for logging and it worked well until version 1.7.18 for slf4j-log4j12.

      This is the offending commit introduced in 1.7.19. https://jira.qos.ch/browse/SLF4J-358
      which was done to fix a NullPointerException. Its force initializing rootLogger to fix a NPE in multithreaded scenarios looks like. The irony is this is the commit which is causing NullPointerException for us
      https://github.com/qos-ch/slf4j/commit/111b8e581e247b33bb2fe66bd0118399e0b49a90

      Here is the stack trace for my error:

      hdiuser@hn0-d0140a:/usr/hdp/4.1-0/spark2/jars$ spark-submit --version

      SPARK_MAJOR_VERSION is set to 2, using Spark2

      Unexpected problem occured during version sanity check

      Reported exception:

      java.lang.NullPointerException
              at org.slf4j.LoggerFactory.versionSanityCheck(LoggerFactory.java:267)
              at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:126)
              at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:412)
              at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:357)
              at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:383)
              at org.fluentd.logger.sender.RawSocketSender.<clinit>(RawSocketSender.java:34)
              at org.fluentd.logger.FluentLoggerFactory.getLogger(FluentLoggerFactory.java:72)
              at org.fluentd.logger.FluentLoggerFactory.getLogger(FluentLoggerFactory.java:51)
              at org.fluentd.logger.FluentLogger.getLogger(FluentLogger.java:40)
              at com.mdsdclient.MdsLogger.<init>(Unknown Source)
              at com.log4jappender.common.logger.HdInsightLoggerLinux.<init>(Unknown Source)
              at com.log4jappender.common.logger.HdInsightLoggerFactory.getLogger(Unknown Source)
              at com.log4jappender.common.appendercore.AnonymizeLogAppenderCommon.getLogger(Unknown Source)
              at com.log4jappender.common.appendercore.AnonymizeLogAppenderCommon.<init>(Unknown Source)
              at com.log4jappender.AnonymizeLogAppender.activateOptions(Unknown Source)
              at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:307)
              at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:172)
              at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:104)
              at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:842)
              at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:768)
              at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:648)
              at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:514)
              at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:580)
              at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:526)
              at org.apache.log4j.LogManager.<clinit>(LogManager.java:127)
              at org.slf4j.impl.Log4jLoggerFactory.<init>(Log4jLoggerFactory.java:66)
              at org.slf4j.impl.StaticLoggerBinder.<init>(StaticLoggerBinder.java:72)
              at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:45)
              at org.apache.spark.internal.Logging$.org$apache$spark$internal$Logging$$isLog4j12(Logging.scala:222)
              at org.apache.spark.internal.Logging.initializeLogging(Logging.scala:127)
              at org.apache.spark.internal.Logging.initializeLogIfNecessary(Logging.scala:111)
              at org.apache.spark.internal.Logging.initializeLogIfNecessary$(Logging.scala:105)
              at org.apache.spark.deploy.SparkSubmit.initializeLogIfNecessary(SparkSubmit.scala:75)
              at org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:83)
              at org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:1007)
              at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:1016)
              at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
      Exception in thread "main" java.lang.ExceptionInInitializerError
              at org.fluentd.logger.FluentLoggerFactory.getLogger(FluentLoggerFactory.java:72)
              at org.fluentd.logger.FluentLoggerFactory.getLogger(FluentLoggerFactory.java:51)
              at org.fluentd.logger.FluentLogger.getLogger(FluentLogger.java:40)

       

      Attachments

        Activity

          People

            ceki Ceki Gülcü
            anusri Anushree
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: