-
Bug
-
Resolution: Fixed
-
High (View bug fix roadmap)
-
8.13.3, 8.13.7, 8.13.8, 8.17.1, 8.13.13
-
8.13
-
14
-
Severity 2 - Major
-
110
-
Hi everyone,
The issue has been fixed and it will be released in next 8.13 and 8.18 versions.
Thank you,
Szymon Korytnicki,
Jira Server Developer
Issue Summary
When the user tries to access his dashboard or JiraHome page in a Jira Software upgraded for (or freshly installed) version 8.13.7 he gets warning messages in the logs due to problem generating URL for Jira Development Integration Plugin (com.atlassian.jira.plugins.jira-development-integration-plugin)
Steps to Reproduce
- Install a fresh new Jira Software 8.13.7 version or upgrade for the Jira Software 8.13.7 version.
- Access the MyJiraHome page or Dashboard page.
Expected Results
The user should access the Dashboard or MyJiraHome pages without facing warning messages in the logs.
Actual Results
The below exception is thrown in the atlassian-jira.log file:
2021-05-31 20:41:03,149+0000 http-nio-8080-exec-1 WARN 1241x225x5 1axbndi 10.10.0.1,10.10.0.5 /rest/webResources/1.0/resources [webresource] error thrown in transformer during url generation for com.atlassian.jira.plugins.jira-development-integration-plugin:8 com.google.common.util.concurrent.UncheckedExecutionException: java.lang.NullPointerException at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2050) at com.google.common.cache.LocalCache.get(LocalCache.java:3952) at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3974) at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4958) at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4964) at com.atlassian.plugins.less.CachingUriStateManager.collectUriState(CachingUriStateManager.java:104) at com.atlassian.plugins.less.CachingUriStateManager.collectUriState(CachingUriStateManager.java:118) at com.atlassian.plugins.less.CachingUriStateManager.getState(CachingUriStateManager.java:70) at com.atlassian.plugins.less.LessTransformerUrlBuilder.addToUrl(LessTransformerUrlBuilder.java:37) at com.atlassian.plugin.webresource.impl.UrlBuildingStrategy$NormalStrategy.addToUrl(UrlBuildingStrategy.java:44) at com.atlassian.plugin.webresource.WebResourceTransformation.addTransformParameters(WebResourceTransformation.java:111) at com.atlassian.plugin.webresource.impl.CachedTransformers.addToUrlSafely(CachedTransformers.java:43) at com.atlassian.plugin.webresource.impl.helpers.UrlGenerationHelpers.encodeStateInUrlIfSupported(UrlGenerationHelpers.java:847) at com.atlassian.plugin.webresource.impl.helpers.UrlGenerationHelpers.collectUrlStateAndBuildResourceUrls(UrlGenerationHelpers.java:390) at com.atlassian.plugin.webresource.impl.helpers.UrlGenerationHelpers.resolve(UrlGenerationHelpers.java:227) at com.atlassian.plugin.webresource.assembler.DefaultWebResourceAssembler$1.resolve(DefaultWebResourceAssembler.java:87) at com.atlassian.plugin.webresource.assembler.DefaultWebResourceAssembler$1.drainOrPoll(DefaultWebResourceAssembler.java:76) at com.atlassian.plugin.webresource.assembler.DefaultWebResourceAssembler$1.pollIncludedResources(DefaultWebResourceAssembler.java:72) at com.atlassian.webresource.plugin.async.AsyncWebResourceLoaderImpl.resolveWebResourceSet(AsyncWebResourceLoaderImpl.java:126) at com.atlassian.webresource.plugin.async.AsyncWebResourceLoaderImpl.resolve(AsyncWebResourceLoaderImpl.java:53) at com.atlassian.webresource.plugin.rest.ListOfResources.post(ListOfResources.java:68) ... 3 filtered at java.lang.reflect.Method.invoke(Method.java:498) ... 18 filtered at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:160) ... 1 filtered at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:70) ... 32 filtered at com.atlassian.servicedesk.internal.web.ExternalCustomerLockoutFilter.doFilter(ExternalCustomerLockoutFilter.java:55) ... 8 filtered at com.atlassian.jira.plugin.mobile.web.filter.MobileAppRequestFilter.doFilter(MobileAppRequestFilter.java:59) ... 4 filtered at com.atlassian.jira.plugin.mobile.login.MobileLoginSuccessFilter.doFilter(MobileLoginSuccessFilter.java:54) ... 3 filtered at com.atlassian.diagnostics.internal.platform.monitor.http.HttpRequestMonitoringFilter.doFilter(HttpRequestMonitoringFilter.java:55) ... 8 filtered at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21) ... 43 filtered at com.atlassian.ratelimiting.internal.filter.RateLimitFilter.doFilter(RateLimitFilter.java:73) ... 17 filtered at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:66) ... 1 filtered at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:64) ... 16 filtered at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:38) ... 19 filtered at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30) ... 5 filtered at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.lambda$invokeFilterChain$0(CustomerContextSettingFilter.java:215) at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.rteInvoke(ReentrantThreadLocalBasedCodeContext.java:136) at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.runOutOfContext(ReentrantThreadLocalBasedCodeContext.java:89) at com.atlassian.servicedesk.internal.utils.context.CustomerContextServiceImpl.runOutOfCustomerContext(CustomerContextServiceImpl.java:47) at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.outOfCustomerContext(CustomerContextSettingFilter.java:206) at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilterImpl(CustomerContextSettingFilter.java:134) at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilter(CustomerContextSettingFilter.java:123) ... 4 filtered at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:37) ... 8 filtered at com.atlassian.ratelimiting.internal.filter.RateLimitPreAuthFilter.doFilter(RateLimitPreAuthFilter.java:71) ... 3 filtered at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21) ... 4 filtered at com.atlassian.web.servlet.plugin.LocationCleanerFilter.doFilter(LocationCleanerFilter.java:36) ... 26 filtered at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25) ... 25 filtered at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.NullPointerException at com.atlassian.plugins.less.PluginUriResolver.open(PluginUriResolver.java:118) at com.atlassian.plugins.less.UriDependencyCollector.getDependencies(UriDependencyCollector.java:45) at com.atlassian.plugins.less.CachingUriStateManager.computeUriInfo(CachingUriStateManager.java:127) at com.atlassian.plugins.less.CachingUriStateManager.access$000(CachingUriStateManager.java:31) at com.atlassian.plugins.less.CachingUriStateManager$1.load(CachingUriStateManager.java:54) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3528) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2277) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2154) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2044) ... 297 more
below, the console tab output:
At first, this error does not prevent the system from working, but it generates spam in the logs (one stack trace warn message for each user that accesses the dashboard).
Workaround
Currently, there is no known workaround for this behavior. A workaround will be added here when available
Form Name |
---|
I think the "fixed in versions" information is a bit misleading.
The issue wasn't fixed in 8.17.X; fix reached 8.13.9 (LTS release and all its future patch releases, 8.13.10, 8.13.11 and so on) and 8.18.1 (and all its future minor and patch releases; e.g. 8.18.2, 8.19.0, 8.20... etc.). 8.17.1 is still vulnerable to this problem.