-
Bug
-
Resolution: Fixed
-
High
-
5.5.0, 5.6.0, 5.10.2
-
None
-
5
-
Severity 3 - Minor
-
1
-
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
- 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.
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
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
Remote Link | Original: This issue links to "Page (Confluence)" [ 912078 ] |
Remote Link | New: This issue links to "Page (Confluence)" [ 912078 ] |
Affects Version/s | New: 5.10.2 [ 105914 ] |
Resolution | New: Fixed [ 1 ] | |
Status | Original: Waiting for Release [ 12075 ] | New: Closed [ 6 ] |
Remote Link | New: This issue links to "Page (Confluence)" [ 798170 ] |
Fix Version/s | New: 5.11.0 [ 105890 ] |
Status | Original: In Review [ 10051 ] | New: Waiting for Release [ 12075 ] |
Support reference count | Original: 4 | New: 5 |
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. |
Priority | Original: Low [ 4 ] | New: High [ 2 ] |