Hi! If you mean jira-testkit
, please use 10.0.3.
Is there a chance it might become possible before platform 7 GA?
I think something is wrong in the built-in Workflow Designer, when editing WF you can see exceptions in the logs (the same situation occurs when loading any WF via Implementing the JIRA workflow designer)
2024-07-19 08:15:29,392+0200 http-nio-2990-exec-2 url: /jira/rest/workflowDesigner/latest/workflowMau; user: admin WARN admin 495x12414x1 98hpeu 0:0:0:0:0:0:0:1 /rest/workflowDesigner/latest/workflowMau [c.a.j.p.workflowdesigner.rest.MauEventResource] Exception thrown from MAUEventService.setApplicationForThreadBasedOnProject:Cannot read field "projectKey" because "projectKey" is null
java.lang.NullPointerException: Cannot read field "projectKey" because "projectKey" is null
at com.atlassian.jira.plugins.workflowdesigner.rest.MauEventResource.triggerMauEventForProject(MauEventResource.java:44)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:146)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:189)
at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:176)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:93)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:478)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:400)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:81)
at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:256)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
Hello,
Iām seeing these errors in the log and I get the āJira Cloud Migration Assistantā plugin disabled.
My plugins and the rest of the plugins work correctly. I am using jira-10.0.0-m0007.
How could I solve it?
1 plugin failed to load during Jira startup.
'com.atlassian.jira.migration.jira-migration-plugin' - 'Jira Cloud Migration Assistant' failed to load.
Cannot start plugin: com.atlassian.jira.migration.jira-migration-plugin
Unable to resolve com.atlassian.jira.migration.jira-migration-plugin [85](R 85.0): missing requirement [com.atlassian.jira.migration.jira-migration-plugin [85](R 85.0)] osgi.wiring.package; (osgi.wiring.package=com.atlassian.plugins.rest.common.multipart) Unresolved requirements: [[com.atlassian.jira.migration.jira-migration-plugin [85](R 85.0)] osgi.wiring.package; (osgi.wiring.package=com.atlassian.plugins.rest.common.multipart)]
For this, perhaps i can add woodstox implementation. https://jira.atlassian.com/browse/JRASERVER-26214
[c.a.s.caesium.impl.SchedulerQueueWorker] Unhandled exception thrown by job QueuedJob[jobId=com.atlassian.analytics.client.upload.RemoteFilterRead:job,deadline=1721047421574]
javax.xml.stream.FactoryConfigurationError: Provider for class javax.xml.stream.XMLInputFactory cannot be created
...
Caused by: java.lang.RuntimeException: Provider for class javax.xml.stream.XMLInputFactory cannot be created
at java.xml/javax.xml.stream.FactoryFinder.findServiceProvider(FactoryFinder.java:365)
... 68 more
Caused by: java.util.ServiceConfigurationError: javax.xml.stream.XMLInputFactory: Provider com.ctc.wstx.stax.WstxInputFactory not found
at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:593)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1219)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1228)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1273)
at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1309)
at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1393)
at java.xml/javax.xml.stream.FactoryFinder$1.run(FactoryFinder.java:350)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
at java.xml/javax.xml.stream.FactoryFinder.findServiceProvider(FactoryFinder.java:339)
Hey, Jira Cloud Migration Assistant is not compatible yet in m0007. It will be part of next EAP.
Thanks!
And woodstox error is for analytics, no problem
https://confluence.atlassian.com/jirakb/jira-fails-to-send-analytics-events-957133938.html
thanks @adam.labus, weāre looking into it.
Hi there
I am getting below error after converting codehaus to fasterxml.
No properties discovered to create BeanSerializer (to avoid exception, disable SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS) ) (through reference chain: java.util.ArrayList[0])
Hii @ashraf.teleb85
Add below lines in import package itās work for me
javax.ws.rs;version=ā[2.0.0,3.0.0)ā,
javax.ws.rs.core;version=ā[2.0.0,3.0.0)ā,
javax.ws.rs.ext;version=ā[2.0.0,3.0.0)ā
Hi Atlassian,
Iām getting the following stack trace on a Jira v10.0.0-m0008#10000002-sha1:45a492b (with the v10.0.0-m0005#10000002-sha1:ff51c61 I donāt get errors)
When the app enables after installing it:
2024-07-22 11:06:14,974+0000 http-nio-8080-exec-4 ERROR admin 666x3461x1 1ixk8qr 178.24.138.34,10.2.215.7 /rest/de.resolution.apitokenauth/1.0/reconfigure/heartbeat/admin [c.a.plugin.servlet.DefaultServletModuleManager] Unable to create new reference LazyLoadedFilterReference{descriptor=de.resolution.apitokenauth.jira:apitokenauth-rest-filter (Provides REST resources for the configuration), filterConfig=com.atlassian.plugin.servlet.filter.PluginFilterConfig@18ad7a58}
io.atlassian.util.concurrent.LazyReference$InitializationException: A MultiException has 2 exceptions. They are:
1. java.util.ServiceConfigurationError: com.fasterxml.jackson.databind.Module: com.fasterxml.jackson.module.paramnames.ParameterNamesModule not a subtype
2. java.lang.IllegalStateException: Unable to perform operation: create on com.atlassian.plugins.rest.v2.jersey.RestJacksonJaxbJsonProvider
Whenever I try to access one of our REST resources:
2024-07-22 12:20:57,361+0000 http-nio-8080-exec-17 ERROR admin 740x5680x1 1ixk8qr 178.24.138.34,10.2.215.7 /rest/de.resolution.apitokenauth/1.0/reconfigure/heartbeat/admin [c.a.plugin.servlet.DefaultServletModuleManager] Unable to create new reference LazyLoadedFilterReference{descriptor=de.resolution.apitokenauth.jira:apitokenauth-rest-filter (Provides REST resources for the configuration), filterConfig=com.atlassian.plugin.servlet.filter.PluginFilterConfig@18ad7a58}
io.atlassian.util.concurrent.LazyReference$InitializationException: java.lang.IllegalStateException: The resource configuration is not modifiable in this context.
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:432)
at com.atlassian.plugin.servlet.DefaultServletModuleManager.getFilter(DefaultServletModuleManager.java:425)
at com.atlassian.plugin.servlet.DefaultServletModuleManager.getFilters(DefaultServletModuleManager.java:290)
at com.atlassian.plugins.rest.v2.servlet.DefaultRestServletModuleManager.getFilters(DefaultRestServletModuleManager.java:209)
... 15 filtered
at com.atlassian.plugins.rest.v2.servlet.RestServletUtilsUpdaterFilter.doFilterInternal(RestServletUtilsUpdaterFilter.java:28)
at com.atlassian.plugins.rest.v2.servlet.RestServletUtilsUpdaterFilter.doFilter(RestServletUtilsUpdaterFilter.java:41)
... 23 filtered
at com.atlassian.servicedesk.internal.web.ExternalCustomerLockoutFilter.doFilter(ExternalCustomerLockoutFilter.java:57)
... 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:54)
... 8 filtered
at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
... 4 filtered
at com.atlassian.app.usage.core.features.user.interaction.servlet.filter.CapturingServletFilter.doFilter(CapturingServletFilter.kt:38)
... 3 filtered
at com.atlassian.app.usage.core.features.common.usage.rest.filter.CapturingRestFilter.doFilter(CapturingRestFilter.kt:36)
... 23 filtered
at de.resolution.userdeactivator.servlet.filter.AbstractSingleExecutionFilter.doFilter(AbstractSingleExecutionFilter.java:55)
... 23 filtered
at com.atlassian.theme.filter.DefaultRequestOverrideServletFilter.doFilter(DefaultRequestOverrideServletFilter.java:77)
... 3 filtered
at com.atlassian.oauth2.scopes.web.ReadWriteScopeFilter.doFilter(ReadWriteScopeFilter.java:48)
... 3 filtered
at com.atlassian.ratelimiting.internal.filter.RateLimitFilter.doFilter(RateLimitFilter.java:77)
... 3 filtered
at com.atlassian.troubleshooting.thready.filter.AbstractThreadNamingFilter.doFilter(AbstractThreadNamingFilter.java:46)
... 23 filtered
at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:68)
... 1 filtered
at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:66)
... 18 filtered
at com.atlassian.pats.web.filter.TokenBasedAuthenticationFilter.doFilter(TokenBasedAuthenticationFilter.java:84)
... 3 filtered
at com.atlassian.oauth2.provider.core.web.AccessTokenFilter.doFilter(AccessTokenFilter.java:84)
... 19 filtered
at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:32)
... 5 filtered
at com.atlassian.plugins.authentication.sso.web.filter.loginform.DisableNativeLoginAuthFilter.doFilter(DisableNativeLoginAuthFilter.java:55)
... 3 filtered
at com.atlassian.plugins.authentication.basicauth.filter.DisableBasicAuthFilter.doFilter(DisableBasicAuthFilter.java:74)
... 3 filtered
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.lambda$invokeFilterChain$0(CustomerContextSettingFilter.java:224)
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:57)
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.outOfCustomerContext(CustomerContextSettingFilter.java:215)
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilterImpl(CustomerContextSettingFilter.java:143)
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilter(CustomerContextSettingFilter.java:132)
... 4 filtered
at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:39)
... 8 filtered
at com.atlassian.ratelimiting.internal.filter.RateLimitPreAuthFilter.doFilter(RateLimitPreAuthFilter.java:74)
... 3 filtered
at com.atlassian.web.servlet.plugin.ThreadIdFilter.doFilter(ThreadIdFilter.java:19)
... 4 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)
... 3 filtered
at de.resolution.apitokenauth.platform.auth.other.ApiTokenAuthenticationFilter.doFilter(ApiTokenAuthenticationFilter.java:75)
... 7 filtered
at de.resolution.apitokenauth.platform.auth.other.ApiTokenRequestGuard.doFilter(ApiTokenRequestGuard.java:241)
... 3 filtered
at de.resolution.apitokenauth.platform.auth.other.ApiTokenRateLimiterFilter.doFilter(ApiTokenRateLimiterFilter.java:114)
... 24 filtered
at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:27)
... 25 filtered
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.lang.IllegalStateException: The resource configuration is not modifiable in this context.
at org.glassfish.jersey.server.ResourceConfig$ImmutableState.register(ResourceConfig.java:249)
at org.glassfish.jersey.server.ResourceConfig$ImmutableState.register(ResourceConfig.java:196)
at org.glassfish.jersey.server.ResourceConfig.register(ResourceConfig.java:429)
at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:306)
at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:154)
at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:386)
at com.atlassian.plugins.rest.v2.servlet.RestDelegatingServletFilter.initServletContainer(RestDelegatingServletFilter.java:105)
at com.atlassian.plugins.rest.v2.servlet.RestDelegatingServletFilter.init(RestDelegatingServletFilter.java:73)
... 1 filtered
at com.atlassian.plugin.servlet.DefaultServletModuleManager$LazyLoadedFilterReference.create(DefaultServletModuleManager.java:501)
at com.atlassian.plugin.servlet.DefaultServletModuleManager$LazyLoadedFilterReference.create(DefaultServletModuleManager.java:488)
at io.atlassian.util.concurrent.LazyReference$Sync.run(LazyReference.java:332)
at io.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:150)
... 333 more
All my REST Resources are already annotated with @Inject and not @Autowired anymore.
I also added @UnrestrictedAccess to the appās servlet filters and replaced @Autowired with @Inject. But since I made these latter changes only to fix the problem, and they didnāt solve it, Iām sure thereās something else going on.
What can I do now? @FilipNowak
Hi!
Please make sure you have jackson-databind
, jackson-core
, and jackson-annotations
in provided
scope and necessary packages coming from them are imported via OSGi.
1. java.util.ServiceConfigurationError: com.fasterxml.jackson.databind.Module: com.fasterxml.jackson.module.paramnames.ParameterNamesModule not a subtype
indicates it might not be the case.
I havenāt met with:
2. java.lang.IllegalStateException: Unable to perform operation: create on com.atlassian.plugins.rest.v2.jersey.RestJacksonJaxbJsonProvider
yet, are you trying to instantiate it in your plugin or something like that?
Please make sure you have
jackson-databind
,jackson-core
, andjackson-annotations
inprovided
scope and necessary packages coming from them are imported via OSGi.
We have them with compile scope, and this wasnāt a problem with the EAP before.
We also tried using provided but that didnāt fix it.
java.lang.IllegalStateException: Unable to perform operation: create on com.atlassian.plugins.rest.v2.jersey.RestJacksonJaxbJsonProvider
ā
are you trying to instantiate it in your plugin or something like that?
Not that I know. I think the root cause will be tricky to find; I was more or less hoping that you know what changed in the latest EAP compared to the one before.
In m0005
we used atlassian-rest
7.2.19
whereas in m0008
we already use 8.0.3
and RESTv1 subsystem is removed from Jira.
We also tried using provided but that didnāt fix it.
You can make sure if the packages are indeed imported by your plugin in the OSGi browser: <jira_address>/plugins/servlet/upm/osgi
Hi Atlassian Team,
When creating a project, you can see the following error in the logs (top menu ā Projects ā Create project) - the project itself is created correctly.
Version: m0008
2024-07-24 07:47:12,701+0200 http-nio-2990-exec-18 url: /jira/rest/project-templates/1.0/templates; user: admin ERROR admin 647x72750x1 ynfy24 0:0:0:0:0:0:0:1 /rest/project-templates/1.0/templates [c.a.event.internal.AsynchronousAbleEventDispatcher] There was an exception thrown trying to dispatch event [com.atlassian.jira.event.ProjectCreatedEvent@24af91f2] from the invoker [com.atlassian.event.internal.ComparableListenerInvoker@60dde432]
java.lang.RuntimeException: Index: 6, Size: 5. Listener: com.atlassian.jira.plugins.initialwatchers.InitialWatchersSetup event: com.atlassian.jira.event.ProjectCreatedEvent
at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:53)
at com.atlassian.diagnostics.internal.platform.monitor.event.EventSystemMonitor.invokeMonitored(EventSystemMonitor.java:105)
at com.atlassian.diagnostics.internal.platform.monitor.event.MonitoredListenerInvoker.invoke(MonitoredListenerInvoker.java:38)
at com.atlassian.event.internal.ComparableListenerInvoker.invoke(ComparableListenerInvoker.java:48)
at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.lambda$static$0(AsynchronousAbleEventDispatcher.java:37)
at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.dispatch(AsynchronousAbleEventDispatcher.java:85)
at com.atlassian.diagnostics.internal.platform.monitor.event.MonitoredEventDispatcher.dispatch(MonitoredEventDispatcher.java:36)
at com.atlassian.event.internal.EventPublisherImpl.publish(EventPublisherImpl.java:102)
at com.atlassian.jira.event.project.DefaultProjectEventManager.dispatchProjectCreated(DefaultProjectEventManager.java:44)
at com.atlassian.jira.bc.project.DefaultProjectService.createProjectInternal(DefaultProjectService.java:381)
at com.atlassian.jira.bc.project.DefaultProjectService.createProject(DefaultProjectService.java:350)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
at jdk.proxy3/jdk.proxy3.$Proxy143.createProject(Unknown Source)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:130)
at jdk.proxy3/jdk.proxy3.$Proxy143.createProject(Unknown Source)
at com.atlassian.jira.projecttemplates.service.ProjectTemplateServiceImpl.applyProjectTemplate(ProjectTemplateServiceImpl.java:173)
at com.atlassian.jira.projecttemplates.rest.ProjectTemplatesResource.createProjectFromFormRequest(ProjectTemplatesResource.java:173)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:146)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:189)
at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:176)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:93)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:478)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:400)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:81)
at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:256)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)
at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:235)
at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:684)
at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:394)
at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:359)
at com.atlassian.plugins.rest.v2.jersey.JerseyOsgiServletContainer.doFilter(JerseyOsgiServletContainer.java:74)
at org.glassfish.jersey.servlet.ServletContainer.doFilter(ServletContainer.java:432)
at com.atlassian.plugins.rest.v2.servlet.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:80)
... 17 filtered
at com.atlassian.plugins.rest.v2.servlet.RestServletUtilsUpdaterFilter.doFilterInternal(RestServletUtilsUpdaterFilter.java:28)
at com.atlassian.plugins.rest.v2.servlet.RestServletUtilsUpdaterFilter.doFilter(RestServletUtilsUpdaterFilter.java:41)
... 23 filtered
at com.atlassian.servicedesk.internal.web.ExternalCustomerLockoutFilter.doFilter(ExternalCustomerLockoutFilter.java:57)
... 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:54)
... 8 filtered
at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
... 4 filtered
at com.atlassian.app.usage.core.features.user.interaction.servlet.filter.CapturingServletFilter.doFilter(CapturingServletFilter.kt:38)
... 3 filtered
at com.atlassian.app.usage.core.features.common.usage.rest.filter.CapturingRestFilter.doFilter(CapturingRestFilter.kt:36)
... 23 filtered
at com.atlassian.labs.httpservice.resource.ResourceFilter.doFilter(ResourceFilter.java:59)
... 22 filtered
at com.atlassian.theme.filter.DefaultRequestOverrideServletFilter.doFilter(DefaultRequestOverrideServletFilter.java:77)
... 3 filtered
at com.atlassian.oauth2.scopes.web.ReadWriteScopeFilter.doFilter(ReadWriteScopeFilter.java:48)
... 3 filtered
at com.itlab.jira.plugins.extender.FilterContextUser.doFilter(FilterContextUser.java:226)
... 4 filtered
at com.atlassian.ratelimiting.internal.filter.RateLimitFilter.doFilter(RateLimitFilter.java:77)
... 3 filtered
at com.atlassian.troubleshooting.thready.filter.AbstractThreadNamingFilter.doFilter(AbstractThreadNamingFilter.java:46)
... 23 filtered
at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:68)
... 1 filtered
at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:66)
... 18 filtered
at com.atlassian.pats.web.filter.TokenBasedAuthenticationFilter.doFilter(TokenBasedAuthenticationFilter.java:84)
... 3 filtered
at com.atlassian.oauth2.provider.core.web.AccessTokenFilter.doFilter(AccessTokenFilter.java:84)
... 19 filtered
at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:32)
... 7 filtered
at com.atlassian.plugins.authentication.sso.web.filter.loginform.DisableNativeLoginAuthFilter.doFilter(DisableNativeLoginAuthFilter.java:55)
... 3 filtered
at com.atlassian.plugins.authentication.basicauth.filter.DisableBasicAuthFilter.doFilter(DisableBasicAuthFilter.java:74)
... 3 filtered
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.lambda$invokeFilterChain$0(CustomerContextSettingFilter.java:224)
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:57)
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.outOfCustomerContext(CustomerContextSettingFilter.java:215)
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilterImpl(CustomerContextSettingFilter.java:143)
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilter(CustomerContextSettingFilter.java:132)
... 4 filtered
at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:39)
... 8 filtered
at com.atlassian.ratelimiting.internal.filter.RateLimitPreAuthFilter.doFilter(RateLimitPreAuthFilter.java:74)
... 3 filtered
at com.atlassian.web.servlet.plugin.ThreadIdFilter.doFilter(ThreadIdFilter.java:19)
... 4 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:27)
... 24 filtered
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.lang.IndexOutOfBoundsException: Index: 6, Size: 5
at java.base/java.util.ArrayList.rangeCheckForAdd(ArrayList.java:756)
at java.base/java.util.ArrayList.add(ArrayList.java:481)
at com.atlassian.jira.issue.fields.screen.FieldScreenTabImpl$LayoutItems.add(FieldScreenTabImpl.java:230)
at com.atlassian.jira.issue.fields.screen.FieldScreenTabImpl.addFieldScreenLayoutItem(FieldScreenTabImpl.java:133)
at com.atlassian.jira.plugins.initialwatchers.InitialWatchersSetup.lambda$addCustomField$1(InitialWatchersSetup.java:115)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
at java.base/java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:411)
at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
Cheers
Adam
Hi @j.borrmann
to follow up your discussion with @FilipNowak :
Exception
1. java.util.ServiceConfigurationError: com.fasterxml.jackson.databind.Module: com.fasterxml.jackson.module.paramnames.ParameterNamesModule not a subtype
is most probably caused by duplicated jackson code in the plugin. It may be one of the root jackson libraries as @FilipNowak suggested. However, it can be also a specific module that provides ParameterNamesModule
- jackson-module-parameter-names
.
Please double check your dependencies. I recommend:
- run
mvn dependency:tree
- transitivecompile
dependencies also matter and you may depend on jackson even without explicitly defining it - unzip
jar
of your plugin and ensure there is nojackson
copied there - it may be also included as a separate jar inMETA-INF/lib
directory inside your jar - check
Import-Package
header inMETA-INF/MANIFEST.MF
file inside pluginās jar to check whatjackson
packages are imported
Exception
2. java.lang.IllegalStateException: Unable to perform operation: create on com.atlassian.plugins.rest.v2.jersey.RestJacksonJaxbJsonProvider
most probably is simply caused by the first issue. RestJacksonJaxbJsonProvider
is responsible for creating Jackson ObjectMapper
- probably that code threw the first exception.
The second exception you presented:
io.atlassian.util.concurrent.LazyReference$InitializationException: java.lang.IllegalStateException: The resource configuration is not modifiable in this context.
It is most probably a result of that first exception. REST context is initialized on the first call to an endpoint. If it fails, the context object is changed to failed (unmodifiable) state. Subsequent calls to an endpoint try to initialize the failed context and since it is unmodifiable - an exception is thrown.
Fixing the original issue, will resolve that one.
Hi @MarekTokarski, thanks for your detailed reply. Just a few minutes ago, I was able to fix the issue using a parent POM that is already used in other apps that were working with the latest Jira 10 EAP. While Iām not sure which dependency definitions (and/ or exclusions in one of these) were the culprit, this is good news for now because I know it only happened due to dependency issues and not somewhere in the codebase itself.
Iāll update the thread again in case I find some more details on the error.
thanks Adam, weāll look into it although we have not encountered this in our testing while creation of software or business projects. Is there anything out of ordinary on your test instance with this popping out or is it just vanilla m0008?
Also does it happen always when you create one?
I checked it on the vanilla version m0008 and in fact this error does not occur.
Previously, I verified on the version where I restored data from the XML file from version 9.17.0.
Thanks for verifying
Cheers
Adam
Hi @FilipNowak,
What we want to achieve with Jackson and REST v2:
- support for
java.time
classes. It can be achieved by addingjackson-datatype-jsr310
package to plugin classpath, but we want to disableWRITE_DATES_AS_TIMESTAMPS
feature to have more conventional data formats, which is currently impossible to change. Currently we would have to resort to implement our own module with custom de/serializers. - identical ObjectMapper for non-REST usage. Currently, the only way is to replicate code from REST v2 which instantiates
ObjectMapper
, it also requires us to bundlejackson-module-jaxb-annotations
as itās currently not included in platform exports.
To help us understand the direction to invest our time in, can you clarify if we can expect any of these things to be achievable before GA in a cleaner way, or should we start to work around the current implementations?
Hi!
- There is no way to override the jackson settings for REST behaviour, using your your own serializers/deserializers is currently the only way to achieve that.
- You can use
com.atlassian.plugins.rest.api.json.JaxbJsonMarshaller
fromatlassian-rest-v2-api
for serializing. However, thereās indeed no deserializer counterpart.