Details
-
Bug
-
Resolution: Not a bug
-
Low
-
None
-
7.3.8, 7.6.0, 7.8.0, 7.9.2, 7.6.7
-
7.03
-
12
-
Severity 3 - Minor
-
188
-
-
Description
Summary
Multiple instances of the following stacktrace appears in the logs:
2018-01-22 15:23:34,791 ajp-nio-127.0.0.1-10009-exec-44 WARN erics 923x4329825x1 1on4h3w 192.168.0.163 /browse/NIB-8 [c.atlassian.ozymandias.SafePluginPointAccess] Unable to run plugin code because of 'java.lang.NullPointerException - name argument cannot be null'. 2018-01-22 15:27:22,934 ajp-nio-127.0.0.1-10009-exec-44 WARN xxxxx 927x4332317x1 n3xmkb 80.248.164.70 /secure/Dashboard.jspa [c.atlassian.ozymandias.SafePluginPointAccess] Unable to run plugin code because of 'java.lang.NullPointerException - name argument cannot be null'. 2018-01-22 15:27:22,934 ajp-nio-127.0.0.1-10009-exec-44 WARN xxxxx 927x4332317x1 n3xmkb 80.248.164.70 /secure/Dashboard.jspa [c.atlassian.ozymandias.SafePluginPointAccess] Unable to run plugin code because of 'java.lang.NullPointerException - name argument cannot be null'. 2018-01-22 15:27:22,935 ajp-nio-127.0.0.1-10009-exec-44 WARN xxxxx 927x4332317x1 n3xmkb 80.248.164.70 /secure/Dashboard.jspa [c.atlassian.ozymandias.SafePluginPointAccess] Unable to run plugin code because of 'java.lang.NullPointerException - name argument cannot be null'. 2018-01-22 15:28:10,238 ajp-nio-127.0.0.1-10009-exec-44 WARN jaril 928x4332820x2 us42x5 192.168.20.215 /browse/AAAA-658 [c.atlassian.ozymandias.SafePluginPointAccess] Unable to run plugin code because of 'java.lang.NullPointerException - name argument cannot be null'. 2018-01-22 15:28:10,240 ajp-nio-127.0.0.1-10009-exec-44 WARN jaril 928x4332820x2 us42x5 192.168.20.215 /browse/AAAA-658 [c.atlassian.ozymandias.SafePluginPointAccess] Unable to run plugin code because of 'java.lang.NullPointerException - name argument cannot be null'. 2018-01-22 15:28:10,240 ajp-nio-127.0.0.1-10009-exec-44 WARN jaril 928x4332820x2 us42x5 192.168.20.215 /browse/AAAA-658 [c.atlassian.ozymandias.SafePluginPointAccess] Unable to run plugin code because of 'java.lang.NullPointerException - name argument cannot be null'. 2018-01-22 15:31:25,250 ajp-nio-127.0.0.1-10009-exec-44 WARN zzzz 931x4335479x2 t44e0 192.168.20.163 /browse/AAAA-658 [c.atlassian.ozymandias.SafePluginPointAccess] Unable to run plugin code because of 'java.lang.NullPointerException - name argument cannot be null'. 2018-01-22 15:31:25,251 ajp-nio-127.0.0.1-10009-exec-44 WARN villevu 931x4335479x2 t44e0 192.168.20.163 /browse/AAAA-658 [c.atlassian.ozymandias.SafePluginPointAccess] Unable to run plugin code because of 'java.lang.NullPointerException - name argument cannot be null'. 2018-01-22 15:31:25,252 ajp-nio-127.0.0.1-10009-exec-44 WARN villevu 931x4335479x2 t44e0 192.168.20.163 /browse/AAAA-658 [c.atlassian.ozymandias.SafePluginPointAccess] Unable to run plugin code because of 'java.lang.NullPointerException - name argument cannot be null'. 2018-01-22 15:37:53,343 ajp-nio-127.0.0.1-10009-exec-44 WARN peepm 937x4340524x1 asrmn5 192.168.20.238 /browse/CCCC-374 [c.atlassian.ozymandias.SafePluginPointAccess] Unable to run plugin code because of 'java.lang.NullPointerException - name argument cannot be null'. 2018-01-22 15:37:53,345 ajp-nio-127.0.0.1-10009-exec-44 WARN peepm 937x4340524x1 asrmn5 192.168.20.238 /browse/CCCC-374 [c.atlassian.ozymandias.SafePluginPointAccess] Unable to run plugin code because of 'java.lang.NullPointerException - name argument cannot be null'. 2018-01-22 15:37:53,346 ajp-nio-127.0.0.1-10009-exec-44 WARN peepm 937x4340524x1 asrmn5 192.168.20.238 /browse/CCCC-374 [c.atlassian.ozymandias.SafePluginPointAccess] Unable to run plugin code because of 'java.lang.NullPointerException - name argument cannot be null'.
Investigation
- So far it seems to not affect any functionalities.
- There is a similar bug traced in JSWSERVER-15307
- However, differing from JSWSERVER-15307, the problem is coming from the Issue View Screen. JSWSERVER-15307's problem is coming from View Board Screen.
Workaround
Jira Administrators can hide logging on the package by increasing logging level to ERROR.
You can achieve this by adding these lines into log4j.properties:
log4j.logger.com.atlassian.ozymandias = ERROR, console, filelog
log4j.additivity.com.atlassian.ozymandias = false
For changes to make an effect, Jira restart is required.
The file log4j.properties is located at JIRA_INSTALL_DIR/atlassian-jira/WEB-INF/classes (as of Jira 7.12.x)
Mind, this would make the log lines disappear, yet would not address the root cause.
The actual case had to be addressed by the plug-in vendor.
For Plug-in Vendors
Background
atlassian-ozymandias is used to unify interaction Jira with the plug-ins.
From the internal documentation:
While any piece of code can be made safe by try/catches, as we all know, try/catch handling is verbose in Java.
Ozymandias attempts to codify a standard call pattern and logging response to runtime exceptions.
What safety is applied
The ozymandias code catches all RuntimeExceptions and a handful of Errors that indicate code versioning problems, such as java.lang.LinkageError. It then logs a single line at warning level and logs the stack trace at debug level. This is a balance between knowing that a bit of code has problems and over-whelming the logs with stack traces.
Finding the errors
Getting low level errors
If you are really interested in what went wrong, then many methods return List<Option<? extends ModuleAccessError>> and other variations.List<Option<? extends ModuleAccessError>> errList = SafePluginPointAccess.to().descriptors(descriptorList, visitor);
There will be an Option.none() for every successful access and an Option.some() of ModuleAccessError for every one that failed.
Additional tips for plug-in vendors:
- use DEBUG level on com.atlassian.ozymandias to get stacktrace details
- use debugger on the classes from the package, i.e. SafePluginPointAccess to see interactions with the plug-in.
Attachments
Issue Links
- relates to
-
JSWSERVER-15307 Configuring a board's Issue Details View to include custom fields with specific issue type contexts causes SafePluginPointAccess errors in the logs
- Short Term Backlog