Uploaded image for project: 'Jira Service Management Data Center'
  1. Jira Service Management Data Center
  2. JSDSERVER-12452

JSM >= 5.5 is not writing ServiceDesk and Insight/Assets logs in Windows

      Issue Summary

      JSM >= 5.5 is not writing ServiceDesk and Insight/Assets logs in Windows. Probably related to updates made in log4j2.

      This is reproducible on Data Center: (yes) 

      Steps to Reproduce

      1. Deploy JSM 5.5 or 5.6 in Windows (can be also an update)
      2. Perform any action in JSM or Insight that would be logged
        1. Insight example: export object schema.
        2. JSM example: Edit something in a project's SLA
      3. Logs aren't updated.

      Expected Results

      The logs atlassian-servicedesk.log and the Insight logs should be populated as they were up to JSM 5.4

      Actual Results

      The atlassian-servicedesk.log and the Insight logs aren't updated at all. The following stack trace was found at the startup and may be related:

      03-Mar-2023 08:35:00.486 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.70]
      ERROR StatusLogger Unable to create custom ContextSelector. Falling back to default.
       java.lang.ClassNotFoundException: org.apache.logging.log4j.core.selector.BasicContextSelector -Dlog4j2.disableJmx=true -Dlog4j2.garbagefree.threadContextMap=true -Dlog4j2.isWebapp=false -Djava.awt.headless=true
              at java.base/java.net.URLClassLoader.findClass(Unknown Source)
              at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
              at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
              at java.base/java.lang.Class.forName0(Native Method)
              at java.base/java.lang.Class.forName(Unknown Source)
              at org.apache.logging.log4j.util.LoaderUtil.loadClass(LoaderUtil.java:173)
              at org.apache.logging.log4j.util.LoaderUtil.newInstanceOf(LoaderUtil.java:211)
              at org.apache.logging.log4j.util.LoaderUtil.newCheckedInstanceOf(LoaderUtil.java:231)
              at org.apache.logging.log4j.util.LoaderUtil.newCheckedInstanceOfProperty(LoaderUtil.java:255)
              at org.apache.logging.log4j.core.util.Loader.newCheckedInstanceOfProperty(Loader.java:338)
              at org.apache.logging.log4j.core.impl.Log4jContextFactory.createContextSelector(Log4jContextFactory.java:100)
              at org.apache.logging.log4j.core.impl.Log4jContextFactory.<init>(Log4jContextFactory.java:61)
              at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
              at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
              at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
              at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
              at java.base/java.lang.Class.newInstance(Unknown Source)
              at org.apache.logging.log4j.LogManager.<clinit>(LogManager.java:95)
              at com.atlassian.logging.log4j.juli.JuliToLog4jHandler.publish(JuliToLog4jHandler.java:45)
              at java.logging/java.util.logging.Logger.log(Unknown Source)
              at java.logging/java.util.logging.Logger.doLog(Unknown Source)
              at java.logging/java.util.logging.Logger.logp(Unknown Source)
              at org.apache.juli.logging.DirectJDKLog.log(DirectJDKLog.java:173)
              at org.apache.juli.logging.DirectJDKLog.info(DirectJDKLog.java:116)
              at org.apache.jasper.servlet.TldScanner.scanJars(TldScanner.java:264)
              at org.apache.jasper.servlet.TldScanner.scan(TldScanner.java:104)
              at org.apache.jasper.servlet.JasperInitializer.onStartup(JasperInitializer.java:83)
              at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5211)
              at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
              at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1393)
              at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1383)
              at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
              at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
              at java.base/java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
              at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916)
              at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)
              at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
              at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1393)
              at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1383)
              at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
              at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
              at java.base/java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
              at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916)
              at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:265)
              at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
              at org.apache.catalina.core.StandardService.startInternal(StandardService.java:430)
              at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
              at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)
              at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
              at org.apache.catalina.startup.Catalina.start(Catalina.java:772)
              at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
              at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
              at java.base/java.lang.reflect.Method.invoke(Unknown Source)
              at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:347)
              at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:478) 

      Workaround

      https://confluence.atlassian.com/adminjiraserver/setting-properties-and-options-on-startup-938847831.html

      Follow the "Windows Service" steps here, but looks like they're outdated for the latest settings, so please use:

      tomcat9w.exe //ES//JIRA 

      The first line of the "Java options" are all on one line, this is what is causing the issue, they all need to be on their own line, their separator is the "-D", so seperate each of those options across multiple lines. Here's an example of the start of what the config should look like after you've made the change.

      -Dlog4j2.contextSelector=org.apache.logging.log4j.core.selector.BasicContextSelector
      -Dlog4j2.disableJmx=true
      -Dlog4j2.garbagefree.threadContextMap=true
      -Dlog4j2.isWebapp=false
      -Djava.awt.headless=true
      -Datlassian.standalone=JIRA 

      Then restart Jira via Windows services.msc.

      Alternatively, use the start-up.bat file to start Jira instead of running Jira as a service.

            [JSDSERVER-12452] JSM >= 5.5 is not writing ServiceDesk and Insight/Assets logs in Windows

            Binoy Nicholas made changes -
            Remote Link Original: This issue links to "Page (Confluence)" [ 912078 ]
            Binoy Nicholas made changes -
            Remote Link New: This issue links to "Page (Confluence)" [ 912078 ]
            Rakesh Kumar made changes -
            Affects Version/s New: 5.10.2 [ 105914 ]
            Satej Mirpagar made changes -
            Resolution New: Fixed [ 1 ]
            Status Original: Waiting for Release [ 12075 ] New: Closed [ 6 ]
            Mingyi Yang made changes -
            Remote Link New: This issue links to "Page (Confluence)" [ 798170 ]
            Maciej Szarecki made changes -
            Fix Version/s New: 5.11.0 [ 105890 ]
            Maciej Szarecki made changes -
            Status Original: In Review [ 10051 ] New: Waiting for Release [ 12075 ]
            SET Analytics Bot made changes -
            Support reference count Original: 4 New: 5
            Binoy Nicholas made changes -
            Description Original: h3. Issue Summary

            JSM >= 5.5 is not writing ServiceDesk and Insight/Assets logs in Windows. Probably related to updates made in log4j2.

            This is reproducible on Data Center: (yes) 
            h3. Steps to Reproduce
             # Deploy JSM 5.5 or 5.6 in Windows (can be also an update)
             # Perform any action in JSM or Insight that would be logged
             ## Insight example: export object schema.
             ## JSM example: Edit something in a project's SLA
             # Logs aren't updated.

            h3. Expected Results

            The logs atlassian-servicedesk.log and the Insight logs should be populated as they were up to JSM 5.4
            h3. Actual Results

            The atlassian-servicedesk.log and the Insight logs aren't updated at all. The following stack trace was found at the startup and may be related:
            {code:java}
            03-Mar-2023 08:35:00.486 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.70]
            ERROR StatusLogger Unable to create custom ContextSelector. Falling back to default.
             java.lang.ClassNotFoundException: org.apache.logging.log4j.core.selector.BasicContextSelector -Dlog4j2.disableJmx=true -Dlog4j2.garbagefree.threadContextMap=true -Dlog4j2.isWebapp=false -Djava.awt.headless=true
                    at java.base/java.net.URLClassLoader.findClass(Unknown Source)
                    at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
                    at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
                    at java.base/java.lang.Class.forName0(Native Method)
                    at java.base/java.lang.Class.forName(Unknown Source)
                    at org.apache.logging.log4j.util.LoaderUtil.loadClass(LoaderUtil.java:173)
                    at org.apache.logging.log4j.util.LoaderUtil.newInstanceOf(LoaderUtil.java:211)
                    at org.apache.logging.log4j.util.LoaderUtil.newCheckedInstanceOf(LoaderUtil.java:231)
                    at org.apache.logging.log4j.util.LoaderUtil.newCheckedInstanceOfProperty(LoaderUtil.java:255)
                    at org.apache.logging.log4j.core.util.Loader.newCheckedInstanceOfProperty(Loader.java:338)
                    at org.apache.logging.log4j.core.impl.Log4jContextFactory.createContextSelector(Log4jContextFactory.java:100)
                    at org.apache.logging.log4j.core.impl.Log4jContextFactory.<init>(Log4jContextFactory.java:61)
                    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
                    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
                    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
                    at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
                    at java.base/java.lang.Class.newInstance(Unknown Source)
                    at org.apache.logging.log4j.LogManager.<clinit>(LogManager.java:95)
                    at com.atlassian.logging.log4j.juli.JuliToLog4jHandler.publish(JuliToLog4jHandler.java:45)
                    at java.logging/java.util.logging.Logger.log(Unknown Source)
                    at java.logging/java.util.logging.Logger.doLog(Unknown Source)
                    at java.logging/java.util.logging.Logger.logp(Unknown Source)
                    at org.apache.juli.logging.DirectJDKLog.log(DirectJDKLog.java:173)
                    at org.apache.juli.logging.DirectJDKLog.info(DirectJDKLog.java:116)
                    at org.apache.jasper.servlet.TldScanner.scanJars(TldScanner.java:264)
                    at org.apache.jasper.servlet.TldScanner.scan(TldScanner.java:104)
                    at org.apache.jasper.servlet.JasperInitializer.onStartup(JasperInitializer.java:83)
                    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5211)
                    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1393)
                    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1383)
                    at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
                    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
                    at java.base/java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
                    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916)
                    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)
                    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1393)
                    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1383)
                    at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
                    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
                    at java.base/java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
                    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916)
                    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:265)
                    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:430)
                    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)
                    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                    at org.apache.catalina.startup.Catalina.start(Catalina.java:772)
                    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                    at java.base/java.lang.reflect.Method.invoke(Unknown Source)
                    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:347)
                    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:478) {code}
            h3. Workaround

            [https://confluence.atlassian.com/adminjiraserver/setting-properties-and-options-on-startup-938847831.html]

            Follow the "Windows Service" steps here, but looks like they're outdated for the latest settings, so please use:
            {code:java}
            tomcat9w.exe //ES//JIRA {code}
            The first line of the "Java options" are all on one line, this is what is causing the issue, they all need to be on their own line, their separator is the "-D", so seperate each of those options across multiple lines. Here's an example of the start of what the config should look like after you've made the change.
            {code:java}
            -Dlog4j2.contextSelector=org.apache.logging.log4j.core.selector.BasicContextSelector
            -Dlog4j2.disableJmx=true
            -Dlog4j2.garbagefree.threadContextMap=true
            -Dlog4j2.isWebapp=false
            -Djava.awt.headless=true
            -Datlassian.standalone=JIRA {code}
            Then restart Jira via Windows services.msc.
            New: h3. Issue Summary

            JSM >= 5.5 is not writing ServiceDesk and Insight/Assets logs in Windows. Probably related to updates made in log4j2.

            This is reproducible on Data Center: (yes) 
            h3. Steps to Reproduce
             # Deploy JSM 5.5 or 5.6 in Windows (can be also an update)
             # Perform any action in JSM or Insight that would be logged
             ## Insight example: export object schema.
             ## JSM example: Edit something in a project's SLA
             # Logs aren't updated.

            h3. Expected Results

            The logs atlassian-servicedesk.log and the Insight logs should be populated as they were up to JSM 5.4
            h3. Actual Results

            The atlassian-servicedesk.log and the Insight logs aren't updated at all. The following stack trace was found at the startup and may be related:
            {code:java}
            03-Mar-2023 08:35:00.486 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.70]
            ERROR StatusLogger Unable to create custom ContextSelector. Falling back to default.
             java.lang.ClassNotFoundException: org.apache.logging.log4j.core.selector.BasicContextSelector -Dlog4j2.disableJmx=true -Dlog4j2.garbagefree.threadContextMap=true -Dlog4j2.isWebapp=false -Djava.awt.headless=true
                    at java.base/java.net.URLClassLoader.findClass(Unknown Source)
                    at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
                    at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
                    at java.base/java.lang.Class.forName0(Native Method)
                    at java.base/java.lang.Class.forName(Unknown Source)
                    at org.apache.logging.log4j.util.LoaderUtil.loadClass(LoaderUtil.java:173)
                    at org.apache.logging.log4j.util.LoaderUtil.newInstanceOf(LoaderUtil.java:211)
                    at org.apache.logging.log4j.util.LoaderUtil.newCheckedInstanceOf(LoaderUtil.java:231)
                    at org.apache.logging.log4j.util.LoaderUtil.newCheckedInstanceOfProperty(LoaderUtil.java:255)
                    at org.apache.logging.log4j.core.util.Loader.newCheckedInstanceOfProperty(Loader.java:338)
                    at org.apache.logging.log4j.core.impl.Log4jContextFactory.createContextSelector(Log4jContextFactory.java:100)
                    at org.apache.logging.log4j.core.impl.Log4jContextFactory.<init>(Log4jContextFactory.java:61)
                    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
                    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
                    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
                    at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
                    at java.base/java.lang.Class.newInstance(Unknown Source)
                    at org.apache.logging.log4j.LogManager.<clinit>(LogManager.java:95)
                    at com.atlassian.logging.log4j.juli.JuliToLog4jHandler.publish(JuliToLog4jHandler.java:45)
                    at java.logging/java.util.logging.Logger.log(Unknown Source)
                    at java.logging/java.util.logging.Logger.doLog(Unknown Source)
                    at java.logging/java.util.logging.Logger.logp(Unknown Source)
                    at org.apache.juli.logging.DirectJDKLog.log(DirectJDKLog.java:173)
                    at org.apache.juli.logging.DirectJDKLog.info(DirectJDKLog.java:116)
                    at org.apache.jasper.servlet.TldScanner.scanJars(TldScanner.java:264)
                    at org.apache.jasper.servlet.TldScanner.scan(TldScanner.java:104)
                    at org.apache.jasper.servlet.JasperInitializer.onStartup(JasperInitializer.java:83)
                    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5211)
                    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1393)
                    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1383)
                    at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
                    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
                    at java.base/java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
                    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916)
                    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)
                    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1393)
                    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1383)
                    at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
                    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
                    at java.base/java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
                    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916)
                    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:265)
                    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:430)
                    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)
                    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                    at org.apache.catalina.startup.Catalina.start(Catalina.java:772)
                    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                    at java.base/java.lang.reflect.Method.invoke(Unknown Source)
                    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:347)
                    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:478) {code}
            h3. Workaround

            [https://confluence.atlassian.com/adminjiraserver/setting-properties-and-options-on-startup-938847831.html]

            Follow the "Windows Service" steps here, but looks like they're outdated for the latest settings, so please use:
            {code:java}
            tomcat9w.exe //ES//JIRA {code}
            The first line of the "Java options" are all on one line, this is what is causing the issue, they all need to be on their own line, their separator is the "-D", so seperate each of those options across multiple lines. Here's an example of the start of what the config should look like after you've made the change.
            {code:java}
            -Dlog4j2.contextSelector=org.apache.logging.log4j.core.selector.BasicContextSelector
            -Dlog4j2.disableJmx=true
            -Dlog4j2.garbagefree.threadContextMap=true
            -Dlog4j2.isWebapp=false
            -Djava.awt.headless=true
            -Datlassian.standalone=JIRA {code}
            Then restart Jira via Windows services.msc.

            Alternatively, use the {{start-up.bat}} file to start Jira instead of running Jira as a service.
            Alex Cooksey made changes -
            Priority Original: Low [ 4 ] New: High [ 2 ]

              da0dd4439f59 Alex Cooksey
              7e87200788f9 Hugo Fernandes
              Affected customers:
              5 This affects my team
              Watchers:
              10 Start watching this issue

                Created:
                Updated:
                Resolved: