Qpid
  1. Qpid
  2. QPID-4602

Java broker fails to start if the default log4j configuration is used

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.21
    • Fix Version/s: 0.21
    • Component/s: Java Tests
    • Labels:
      None

      Description

      The commit in revision https://svn.apache.org/repos/asf/qpid/trunk@1448306 broke java system tests. The log4j configuration location is not correctly passed into the spawn broker command line if it contains spaces. As result, a default log4j configuration is used but LoggingManagementFacade is not created for it and NullPointerException is thrown from JMXManagement on trying to create LoggingManagementMBean:

      Exception during startup: java.lang.NullPointerException
      java.lang.NullPointerException
      	at org.apache.qpid.server.jmx.mbeans.LoggingManagementMBean.buildAllAvailableLoggerLevelsWithInheritedPsuedoLogLevel(LoggingManagementMBean.java:323)
      	at org.apache.qpid.server.jmx.mbeans.LoggingManagementMBean.<init>(LoggingManagementMBean.java:87)
      	at org.apache.qpid.server.jmx.JMXManagement.start(JMXManagement.java:190)
      	at org.apache.qpid.server.jmx.JMXManagement.setState(JMXManagement.java:110)
      	at org.apache.qpid.server.model.adapter.AbstractAdapter.setDesiredState(AbstractAdapter.java:94)
      	at org.apache.qpid.server.model.adapter.BrokerAdapter.changeState(BrokerAdapter.java:707)
      	at org.apache.qpid.server.model.adapter.BrokerAdapter.setState(BrokerAdapter.java:675)
      	at org.apache.qpid.server.model.adapter.AbstractAdapter.setDesiredState(AbstractAdapter.java:94)
      	at org.apache.qpid.server.configuration.updater.ChangeStateTask.call(ChangeStateTask.java:59)
      	at org.apache.qpid.server.configuration.updater.ChangeStateTask.call(ChangeStateTask.java:28)
      	at org.apache.qpid.server.configuration.updater.TaskExecutor.executeTask(TaskExecutor.java:213)
      	at org.apache.qpid.server.configuration.updater.TaskExecutor.access$200(TaskExecutor.java:46)
      	at org.apache.qpid.server.configuration.updater.TaskExecutor$CallableWrapper$1.run(TaskExecutor.java:252)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at javax.security.auth.Subject.doAs(Subject.java:396)
      	at org.apache.qpid.server.configuration.updater.TaskExecutor$CallableWrapper.call(TaskExecutor.java:247)
      	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      	at java.lang.Thread.run(Thread.java:662)
      

        Activity

        Alex Rudyy created issue -
        Alex Rudyy made changes -
        Field Original Value New Value
        Summary Fix java system tests caused by spaces in the path of broker log4j configurtaion Java broker fails to start if the default log4j configuration is used
        Alex Rudyy made changes -
        Status Open [ 1 ] In Progress [ 3 ]
        Alex Rudyy made changes -
        Status In Progress [ 3 ] Ready To Review [ 10006 ]
        Alex Rudyy made changes -
        Assignee Alex Rudyy [ alex.rufous ] Robbie Gemmell [ gemmellr ]
        Robbie Gemmell made changes -
        Status Ready To Review [ 10006 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]

          People

          • Assignee:
            Robbie Gemmell
            Reporter:
            Alex Rudyy
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development