-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Low
-
None
-
Affects Version/s: 8.20.2, 8.20.10, 9.12.0
-
Component/s: Administration - Others
-
8.2
-
19
-
Severity 3 - Minor
-
2
Issue Summary
After configuring Microsoft Teams integration, whenever we use the Advanced Roadmap function to manage teams, it logs the following error in atlassian-jira.log:
2022-05-24 14:48:59,283-0300 http-nio-8080-exec-18 ERROR xxx 888x1720x1 182xw44 0:0:0:0:0:0:0:1 /rest/teams/1.0/teams/find [c.s.j.s.impl.application.RootResourceUriRules] The ResourceConfig instance does not contain any root resource classes. 2022-05-24 14:48:59,283-0300 http-nio-8080-exec-18 ERROR xxx 888x1720x1 182xw44 0:0:0:0:0:0:0:1 /rest/teams/1.0/teams/find [c.a.plugin.servlet.DefaultServletModuleManager] Unable to create new reference LazyLoadedFilterReference{descriptor=microsoft-teams:rest-api-resource-filter (The My Rest Resource Plugin), filterConfig=com.atlassian.plugin.servlet.filter.PluginFilterConfig@41318e82} io.atlassian.util.concurrent.LazyReference$InitializationException: com.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any root resource classes. at io.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:156) at io.atlassian.util.concurrent.LazyReference.get(LazyReference.java:116) at com.atlassian.plugin.servlet.DefaultServletModuleManager.getInstance(DefaultServletModuleManager.java:431) at com.atlassian.plugin.servlet.DefaultServletModuleManager.getFilter(DefaultServletModuleManager.java:424) at com.atlassian.plugin.servlet.DefaultServletModuleManager.getFilters(DefaultServletModuleManager.java:289) at com.atlassian.plugins.rest.module.servlet.DefaultRestServletModuleManager.getFilters(DefaultRestServletModuleManager.java:125) ... 34 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) ... 3 filtered at com.atlassian.troubleshooting.thready.filter.AbstractThreadNamingFilter.doFilter(AbstractThreadNamingFilter.java:46) ... 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) ... 3 filtered at com.atlassian.pats.web.filter.TokenBasedAuthenticationFilter.doFilter(TokenBasedAuthenticationFilter.java:83) ... 19 filtered at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30) ... 5 filtered at com.atlassian.plugins.authentication.impl.basicauth.filter.DisableBasicAuthFilter.doFilter(DisableBasicAuthFilter.java:70) ... 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.troubleshooting.thready.filter.AbstractThreadNamingFilter.doFilter(AbstractThreadNamingFilter.java:46) ... 3 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: com.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any root resource classes. at com.sun.jersey.server.impl.application.RootResourceUriRules.<init>(RootResourceUriRules.java:99) at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1359) at com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:180) at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:799) at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:795) ... 1 filtered at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.initiate(RestDelegatingServletFilter.java:165) ... 5 filtered at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.initServletContainer(RestDelegatingServletFilter.java:90) at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.init(RestDelegatingServletFilter.java:63) ... 1 filtered at com.atlassian.plugin.servlet.DefaultServletModuleManager$LazyLoadedFilterReference.create(DefaultServletModuleManager.java:500) at com.atlassian.plugin.servlet.DefaultServletModuleManager$LazyLoadedFilterReference.create(DefaultServletModuleManager.java:487) at io.atlassian.util.concurrent.LazyReference$Sync.run(LazyReference.java:332) at io.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:150) ... 251 more
"The ResourceConfig instance does not contain any root resource classes" repeated error in Logs when Managing Teams and Microsoft Teams is installed
This is reproducible on Data Center: (yes) / (no)
Steps to Reproduce
1) Setting up integration and initial test
- Environment used
- (Server): Jira 8.20.5 single node*, Microsoft Teams for Jira plugin Version 2021.12.85, UPM plugin 5.0.3, openjdk version "1.8.0_292"
- MS Teams with APP Jira Server installed version 2020.09.25
- Application link created following https://www.msteams-atlassian.com/JiraServer/#installing-jira-server-add-on
- MS Teams command "connect" issued on the Jira App, Jira ID provided, atlassian account used for the authorization
- MS Teams was able to connect to a localhost:8080 jira instance
- MS Teams command "create" issued - Was able to successfully create a story.
=> no errors observed at the log files so far
2) Using Advanced Roadmaps
- Create a new plan for project "SCRUM"
- Click at the <teams>
- Click at the <Manage shared teams>
- Create a new team, adding members
- Back to the plan, click to add a new team and select the newly created shared team
- Open Atlassian-jira.log
Expected Results
- No errors reported
Actual Results
Access log: Referer shows the access to the TeamManagement page:
0:0:0:0:0:0:0:1 888x1720x1 xxx [24/May/2022:14:48:59 -0300] "POST /rest/teams/1.0/teams/find- HTTP/1.1" 200 344 338 "http://localhost:8080/secure/TeamManagement.jspa?planUrl=http%3A%2F%2Flocalhost%3A8080%2Fsecure%2FPortfolioPlanView.jspa%3Fid%3D33%26sid%3D33%26vid%3D35%23plan%2Fteams" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36" "182xw44"
And atlassian-jira.log shows the following error:
2022-05-24 14:48:59,283-0300 http-nio-8080-exec-18 ERROR xxx 888x1720x1 182xw44 0:0:0:0:0:0:0:1 /rest/teams/1.0/teams/find [c.s.j.s.impl.application.RootResourceUriRules] The ResourceConfig instance does not contain any root resource classes. 2022-05-24 14:48:59,283-0300 http-nio-8080-exec-18 ERROR xxx 888x1720x1 182xw44 0:0:0:0:0:0:0:1 /rest/teams/1.0/teams/find [c.a.plugin.servlet.DefaultServletModuleManager] Unable to create new reference LazyLoadedFilterReference{descriptor=microsoft-teams:rest-api-resource-filter (The My Rest Resource Plugin), filterConfig=com.atlassian.plugin.servlet.filter.PluginFilterConfig@41318e82} io.atlassian.util.concurrent.LazyReference$InitializationException: com.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any root resource classes. at io.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:156) at io.atlassian.util.concurrent.LazyReference.get(LazyReference.java:116) at com.atlassian.plugin.servlet.DefaultServletModuleManager.getInstance(DefaultServletModuleManager.java:431) [...]
Other actions executed as finding the members, creating a shared team, adding members also triggers the error at the logs:
0:0:0:0:0:0:0:1 831x1383x1 xxx [24/May/2022:13:51:36 -0300] "POST /rest/teams/1.0/persons/page- HTTP/1.1" 200 378 240 "http://localhost:8080/secure/TeamManagement.jspa?planUrl=http%3A%2F%2Flocalhost%3A8080%2Fsecure%2FPortfolioPlanView.jspa%3Fid%3D33%26sid%3D33%26vid%3D35%23plan%2Fteams" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36" "25id3f" 2022-05-24 13:51:36,939-0300 http-nio-8080-exec-22 ERROR xxx 831x1383x1 25id3f 0:0:0:0:0:0:0:1 /rest/teams/1.0/persons/page [c.a.plugin.servlet.DefaultServletModuleManager] Unable to create new reference LazyLoadedFilterReference{descriptor=microsoft-teams:rest-api-resource-filter (The My Rest Resource Plugin), filterConfig=com.atlassian.plugin.servlet.filter.PluginFilterConfig@41318e82} io.atlassian.util.concurrent.LazyReference$InitializationException: com.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any root resource classes.
0:0:0:0:0:0:0:1 831x1388x1 xxx [24/May/2022:13:51:52 -0300] "POST /rest/teams/1.0/teams/create- HTTP/1.1" 200 29 191 "http://localhost:8080/secure/TeamManagement.jspa?planUrl=http%3A%2F%2Flocalhost%3A8080%2Fsecure%2FPortfolioPlanView.jspa%3Fid%3D33%26sid%3D33%26vid%3D35%23plan%2Fteams" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36" "25id3f" 2022-05-24 13:51:52,738-0300 http-nio-8080-exec-11 ERROR xxx 831x1388x1 25id3f 0:0:0:0:0:0:0:1 /rest/teams/1.0/teams/create [c.a.plugin.servlet.DefaultServletModuleManager] Unable to create new reference LazyLoadedFilterReference{descriptor=microsoft-teams:rest-api-resource-filter (The My Rest Resource Plugin), filterConfig=com.atlassian.plugin.servlet.filter.PluginFilterConfig@41318e82} io.atlassian.util.concurrent.LazyReference$InitializationException: com.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any root resource classes.
0:0:0:0:0:0:0:1 831x1391x1 xxx [24/May/2022:13:51:57 -0300] "POST /rest/teams/1.0/persons/find- HTTP/1.1" 200 378 167 "http://localhost:8080/secure/TeamManagement.jspa?planUrl=http%3A%2F%2Flocalhost%3A8080%2Fsecure%2FPortfolioPlanView.jspa%3Fid%3D33%26sid%3D33%26vid%3D35%23plan%2Fteams" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36" "25id3f" 2022-05-24 13:51:57,116-0300 http-nio-8080-exec-8 ERROR xxx 831x1391x1 25id3f 0:0:0:0:0:0:0:1 /rest/teams/1.0/persons/find [c.a.plugin.servlet.DefaultServletModuleManager] Unable to create new reference LazyLoadedFilterReference{descriptor=microsoft-teams:rest-api-resource-filter (The My Rest Resource Plugin), filterConfig=com.atlassian.plugin.servlet.filter.PluginFilterConfig@41318e82} io.atlassian.util.concurrent.LazyReference$InitializationException: com.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any root resource classes.
0:0:0:0:0:0:0:1 831x1393x2 xxx [24/May/2022:13:52:00 -0300] "POST /rest/teams/1.0/teams/34/addResource- HTTP/1.1" 200 37 226 "http://localhost:8080/secure/TeamManagement.jspa?planUrl=http%3A%2F%2Flocalhost%3A8080%2Fsecure%2FPortfolioPlanView.jspa%3Fid%3D33%26sid%3D33%26vid%3D35%23plan%2Fteams" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36" "25id3f" 2022-05-24 13:52:00,081-0300 http-nio-8080-exec-14 ERROR xxx 831x1393x2 25id3f 0:0:0:0:0:0:0:1 /rest/teams/1.0/teams/34/addResource [c.a.plugin.servlet.DefaultServletModuleManager] Unable to create new reference LazyLoadedFilterReference{descriptor=microsoft-teams:rest-api-resource-filter (The My Rest Resource Plugin), filterConfig=com.atlassian.plugin.servlet.filter.PluginFilterConfig@41318e82} io.atlassian.util.concurrent.LazyReference$InitializationException: com.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any root resource classes.
Workaround
Currently there is no known workaround for this behavior. A workaround will be added here when available
- Same error was also observed on Jira 8.20.6 instances