uploading attachement failed for some files

Kristoffer Mc Pherson May 12, 2022

Hello,

we use Jira Server version 8.20.6.

Some files *.pdf or *.asc I'm not able to upload, there is an error message. The file size limit is 100mb. That is not the problem.

I tried to use rest api to upload the files and drag and drop via wegpage nothing works.

I can upload other files without any problem via rest api and webpage.

java.io.IOException: HTTP/1.1 header parser received no byte

Also I get this error on webpage: "File "<nameoffile>" was not uploaded. An internal error has occurred. Please contact your administrator"

I've access to a different jira instance in which I tried to upload one of the  "broken" files, there was no problem at all.

Looking into the server logs I'm not able to see the upload. Where can I see the uploaded files within my server logs? Do I've to activate logging first? Is this a known issue?

 

Kind Regards,
Kris

1 answer

1 accepted

0 votes
Answer accepted
Andy Rusnak
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
May 13, 2022
Hi Kristoffer,

Welcome to the Atlassian Community!

I am sorry to hear about the troubles you are having with uploading attachments in a specific Jira instance.

The "java.io.IOException: HTTP/1.1 header parser received no byte" you noted above, where did that come from? That basically means that the server returned nothing as a response to the request. So I suspect there is an error message somewhere in the server logs that might point us in a direction here.

The logs we would likely want to start with in this case would be the Jira application logs. These can be found within: <Jira Home>/log/atlassian-jira.log.

To get started I would recreate the issue and leverage marking your Jira logs. This will allow you the ability to better isolate potential errors related to this within the logs rather than having to scroll through all the logs. So I would start by following the steps below:
  1. Mark the log with a message 'Start Recreation'
  2. Recreate the Issue
  3. Mark the log with a message 'End Recreation'

Once that is done you can look between the start and end markings to see what error messages might have shown up related to this upload attempt.

Without a more detailed error message it is difficult to say what the issue might be right now, but if we can identify more details potentially using the process above we might be able to get the bottom of what is causing the behavior.

Best,
Andy
Kristoffer Mc Pherson May 16, 2022

Hello Andy,

java.io.IOException: HTTP/1.1 header parser received no byte -> this message I got from using REST API call.

I started the log and was able to see one ERROR

2022-05-16 10:36:59,748+0200 http-nio-8080-exec-4 ERROR kmcphers 636x3455147x2 18pumnu <someip> /rest/jddap/1.0/attachment [c.r.r.c.d.p.a.e.extensions.sql.ExtensionLinkSQL] Unable to format message: Parameters:
[STRING ] 1 com.radiantminds.roadmap.common.data....
[STRING ] 2 jira-issue%
[STRING ] 3 KRIS-1

java.util.UnknownFormatConversionException: Conversion = '
'
at java.base/java.util.Formatter.checkText(Formatter.java:2732)
at java.base/java.util.Formatter.parse(Formatter.java:2718)
at java.base/java.util.Formatter.format(Formatter.java:2655)
at java.base/java.util.Formatter.format(Formatter.java:2609)
at java.base/java.lang.String.format(String.java:2897)
at com.atlassian.pocketknife.api.logging.Log.createMessage(Log.java:184)
at com.atlassian.pocketknife.api.logging.Log.debug(Log.java:126)
at com.radiantminds.roadmap.common.data.persistence.ao.sql.BaseAOPersistenceSQL.logQuery(BaseAOPersistenceSQL.java:73)
at com.radiantminds.roadmap.common.data.persistence.ao.sql.BaseAOPersistenceSQL.sql(BaseAOPersistenceSQL.java:314)
at com.radiantminds.roadmap.common.data.persistence.ao.sql.BaseAOPersistenceSQL.sql(BaseAOPersistenceSQL.java:265)
at com.radiantminds.roadmap.common.data.persistence.ao.sql.BaseAOPersistenceSQL.sql(BaseAOPersistenceSQL.java:261)
at com.radiantminds.roadmap.common.data.persistence.ao.entities.extensions.sql.ExtensionLinkSQL.getTargetIdsForLink(ExtensionLinkSQL.java:190)
at com.radiantminds.roadmap.common.data.persistence.ao.entities.extensions.PortfolioActiveObjectsExtensionLinkPersistence.getTargetIdsForLink(PortfolioActiveObjectsExtensionLinkPersistence.java:73)
at com.radiantminds.roadmap.jira.common.components.issues.JiraIssueLinkAccessor.getWorkItemsForIssue(JiraIssueLinkAccessor.java:27)
at com.radiantminds.roadmap.jira.common.components.issues.JiraIssueSynchronizer.onJiraIssueUpdated(JiraIssueSynchronizer.java:91)
at com.radiantminds.roadmap.jira.common.components.issues.JiraIssueEventHandler.handleIssueUpdatedEvent(JiraIssueEventHandler.java:69)
at com.radiantminds.roadmap.jira.common.components.PortfolioAwesomeLauncher.onIssueEvent(PortfolioAwesomeLauncher.java:404)
at jdk.internal.reflect.GeneratedMethodAccessor2497.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:42)
at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.lambda$null$0(AsynchronousAbleEventDispatcher.java:37)
at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.dispatch(AsynchronousAbleEventDispatcher.java:85)
at com.atlassian.event.internal.LockFreeEventPublisher$Publisher.dispatch(LockFreeEventPublisher.java:220)
at com.atlassian.event.internal.LockFreeEventPublisher.publish(LockFreeEventPublisher.java:96)
at com.atlassian.jira.event.issue.DefaultIssueEventManager.publishEventIfNotificationsAreEnabled(DefaultIssueEventManager.java:180)
at com.atlassian.jira.event.issue.DefaultIssueEventManager.publishEvent(DefaultIssueEventManager.java:162)
at com.atlassian.jira.event.issue.DefaultIssueEventManager.publishAsRedundant(DefaultIssueEventManager.java:204)
at com.atlassian.jira.event.issue.DefaultIssueEventManager.dispatchRedundantEvent(DefaultIssueEventManager.java:121)
at com.atlassian.jira.issue.util.DefaultIssueUpdater.storeModifiedFields(DefaultIssueUpdater.java:158)
at com.atlassian.jira.issue.util.DefaultIssueUpdater.doUpdate(DefaultIssueUpdater.java:94)
at com.atlassian.jira.issue.util.DefaultIssueUpdater.doUpdate(DefaultIssueUpdater.java:63)
at jdk.internal.reflect.GeneratedMethodAccessor4571.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
at com.sun.proxy.$Proxy352.doUpdate(Unknown Source)
at jdk.internal.reflect.GeneratedMethodAccessor4571.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:130)
at com.sun.proxy.$Proxy352.doUpdate(Unknown Source)
at com.atlassian.jira.plugins.dnd.attachment.rest.AttachmentResource.attachTemporaryfile(AttachmentResource.java:102)
at jdk.internal.reflect.GeneratedMethodAccessor6462.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
... 12 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)
... 36 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)
... 4 filtered
at com.alphaserve.twofactor.core.services.servlets.impl.FilterServiceImpl.doBeforeDispatchMobileLoginFilter(FilterServiceImpl.java:184)
at com.alphaserve.authplugin.servlets.filters.BeforeDispatchMobileLoginFilter.doFilter(BeforeDispatchMobileLoginFilter.java:26)
... 42 filtered
at com.alphaserve.twofactor.core.services.servlets.impl.FilterServiceImpl.doLoginFilter(FilterServiceImpl.java:130)
at com.alphaserve.twofactor.core.services.servlets.impl.FilterServiceImpl.doLoginFilter(FilterServiceImpl.java:116)
at com.alphaserve.authplugin.servlets.filters.LoginFilter.doFilter(LoginFilter.java:30)
... 3 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)
... 10 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 org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:829)

---

2022-05-16 11:01:14,424+0200 ThreadPoolAsyncTaskExecutor::Thread 41 ERROR <testuser> 661x3457209x1 gphsgt 172.16.141.87 /rest/plugins/1.0/com.xpandit.plugins.xray-key [c.x.raven.configuration.RavenConfigurationServiceImpl] Get invalid
thread count, available processors '4', max threads '8', using default '6'

---

Other errors are not present. Is this a known issue?

 

Kind Regards,
Kristoffer

Kristoffer Mc Pherson May 16, 2022

Hello Andy,

java.io.IOException: HTTP/1.1 header parser received no byte -> this message I got from using REST API call.

I started the log and was able to see one ERROR

2022-05-16 10:36:59,748+0200 http-nio-8080-exec-4 ERROR <someuser> 636x3455147x2 18pumnu <someip> /rest/jddap/1.0/attachment [c.r.r.c.d.p.a.e.extensions.sql.ExtensionLinkSQL] Unable to format message: Parameters:
[STRING ] 1 com.radiantminds.roadmap.common.data....
[STRING ] 2 jira-issue%
[STRING ] 3 KRIS-1

java.util.UnknownFormatConversionException: Conversion = '
'
at java.base/java.util.Formatter.checkText(Formatter.java:2732)
at java.base/java.util.Formatter.parse(Formatter.java:2718)
at java.base/java.util.Formatter.format(Formatter.java:2655)
at java.base/java.util.Formatter.format(Formatter.java:2609)
at java.base/java.lang.String.format(String.java:2897)
at com.atlassian.pocketknife.api.logging.Log.createMessage(Log.java:184)
at com.atlassian.pocketknife.api.logging.Log.debug(Log.java:126)
at com.radiantminds.roadmap.common.data.persistence.ao.sql.BaseAOPersistenceSQL.logQuery(BaseAOPersistenceSQL.java:73)
at com.radiantminds.roadmap.common.data.persistence.ao.sql.BaseAOPersistenceSQL.sql(BaseAOPersistenceSQL.java:314)
at com.radiantminds.roadmap.common.data.persistence.ao.sql.BaseAOPersistenceSQL.sql(BaseAOPersistenceSQL.java:265)
at com.radiantminds.roadmap.common.data.persistence.ao.sql.BaseAOPersistenceSQL.sql(BaseAOPersistenceSQL.java:261)
at com.radiantminds.roadmap.common.data.persistence.ao.entities.extensions.sql.ExtensionLinkSQL.getTargetIdsForLink(ExtensionLinkSQL.java:190)
at com.radiantminds.roadmap.common.data.persistence.ao.entities.extensions.PortfolioActiveObjectsExtensionLinkPersistence.getTargetIdsForLink(PortfolioActiveObjectsExtensionLinkPersistence.java:73)
at com.radiantminds.roadmap.jira.common.components.issues.JiraIssueLinkAccessor.getWorkItemsForIssue(JiraIssueLinkAccessor.java:27)
at com.radiantminds.roadmap.jira.common.components.issues.JiraIssueSynchronizer.onJiraIssueUpdated(JiraIssueSynchronizer.java:91)
at com.radiantminds.roadmap.jira.common.components.issues.JiraIssueEventHandler.handleIssueUpdatedEvent(JiraIssueEventHandler.java:69)
at com.radiantminds.roadmap.jira.common.components.PortfolioAwesomeLauncher.onIssueEvent(PortfolioAwesomeLauncher.java:404)
at jdk.internal.reflect.GeneratedMethodAccessor2497.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:42)
at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.lambda$null$0(AsynchronousAbleEventDispatcher.java:37)
at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.dispatch(AsynchronousAbleEventDispatcher.java:85)
at com.atlassian.event.internal.LockFreeEventPublisher$Publisher.dispatch(LockFreeEventPublisher.java:220)
at com.atlassian.event.internal.LockFreeEventPublisher.publish(LockFreeEventPublisher.java:96)
at com.atlassian.jira.event.issue.DefaultIssueEventManager.publishEventIfNotificationsAreEnabled(DefaultIssueEventManager.java:180)
at com.atlassian.jira.event.issue.DefaultIssueEventManager.publishEvent(DefaultIssueEventManager.java:162)
at com.atlassian.jira.event.issue.DefaultIssueEventManager.publishAsRedundant(DefaultIssueEventManager.java:204)
at com.atlassian.jira.event.issue.DefaultIssueEventManager.dispatchRedundantEvent(DefaultIssueEventManager.java:121)
at com.atlassian.jira.issue.util.DefaultIssueUpdater.storeModifiedFields(DefaultIssueUpdater.java:158)
at com.atlassian.jira.issue.util.DefaultIssueUpdater.doUpdate(DefaultIssueUpdater.java:94)
at com.atlassian.jira.issue.util.DefaultIssueUpdater.doUpdate(DefaultIssueUpdater.java:63)
at jdk.internal.reflect.GeneratedMethodAccessor4571.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
at com.sun.proxy.$Proxy352.doUpdate(Unknown Source)
at jdk.internal.reflect.GeneratedMethodAccessor4571.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:130)
at com.sun.proxy.$Proxy352.doUpdate(Unknown Source)
at com.atlassian.jira.plugins.dnd.attachment.rest.AttachmentResource.attachTemporaryfile(AttachmentResource.java:102)
at jdk.internal.reflect.GeneratedMethodAccessor6462.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
... 12 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)
... 36 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)
... 4 filtered
at com.alphaserve.twofactor.core.services.servlets.impl.FilterServiceImpl.doBeforeDispatchMobileLoginFilter(FilterServiceImpl.java:184)
at com.alphaserve.authplugin.servlets.filters.BeforeDispatchMobileLoginFilter.doFilter(BeforeDispatchMobileLoginFilter.java:26)
... 42 filtered
at com.alphaserve.twofactor.core.services.servlets.impl.FilterServiceImpl.doLoginFilter(FilterServiceImpl.java:130)
at com.alphaserve.twofactor.core.services.servlets.impl.FilterServiceImpl.doLoginFilter(FilterServiceImpl.java:116)
at com.alphaserve.authplugin.servlets.filters.LoginFilter.doFilter(LoginFilter.java:30)
... 3 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)
... 10 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 org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:829)

Is this a known issue? There was another Error with the plugin Xray, but I don't think it's causing the problem, since a tried to disable it an the error was still there.

Kind Regards,

Kristoffer

Kristoffer Mc Pherson May 16, 2022

Hello Andy,

java.io.IOException: HTTP/1.1 header parser received no byte -> this message I got from using REST API call.

I started the log and was able to see one ERROR

2022-05-16 10:36:59,748+0200 http-nio-8080-exec-4 ERROR <someuser> 636x3455147x2 18pumnu <someip> /rest/jddap/1.0/attachment [c.r.r.c.d.p.a.e.extensions.sql.ExtensionLinkSQL] Unable to format message: Parameters:
[STRING ] 1 com.radiantminds.roadmap.common.data....
[STRING ] 2 jira-issue%
[STRING ] 3 KRIS-1

java.util.UnknownFormatConversionException: Conversion = '
'
at java.base/java.util.Formatter.checkText(Formatter.java:2732)
at java.base/java.util.Formatter.parse(Formatter.java:2718)
at java.base/java.util.Formatter.format(Formatter.java:2655)
at java.base/java.util.Formatter.format(Formatter.java:2609)
at java.base/java.lang.String.format(String.java:2897)
at com.atlassian.pocketknife.api.logging.Log.createMessage(Log.java:184)
at com.atlassian.pocketknife.api.logging.Log.debug(Log.java:126)
at com.radiantminds.roadmap.common.data.persistence.ao.sql.BaseAOPersistenceSQL.logQuery(BaseAOPersistenceSQL.java:73)
at com.radiantminds.roadmap.common.data.persistence.ao.sql.BaseAOPersistenceSQL.sql(BaseAOPersistenceSQL.java:314)
at com.radiantminds.roadmap.common.data.persistence.ao.sql.BaseAOPersistenceSQL.sql(BaseAOPersistenceSQL.java:265)
at com.radiantminds.roadmap.common.data.persistence.ao.sql.BaseAOPersistenceSQL.sql(BaseAOPersistenceSQL.java:261)
at com.radiantminds.roadmap.common.data.persistence.ao.entities.extensions.sql.ExtensionLinkSQL.getTargetIdsForLink(ExtensionLinkSQL.java:190)
at com.radiantminds.roadmap.common.data.persistence.ao.entities.extensions.PortfolioActiveObjectsExtensionLinkPersistence.getTargetIdsForLink(PortfolioActiveObjectsExtensionLinkPersistence.java:73)
at com.radiantminds.roadmap.jira.common.components.issues.JiraIssueLinkAccessor.getWorkItemsForIssue(JiraIssueLinkAccessor.java:27)
at com.radiantminds.roadmap.jira.common.components.issues.JiraIssueSynchronizer.onJiraIssueUpdated(JiraIssueSynchronizer.java:91)
at com.radiantminds.roadmap.jira.common.components.issues.JiraIssueEventHandler.handleIssueUpdatedEvent(JiraIssueEventHandler.java:69)
at com.radiantminds.roadmap.jira.common.components.PortfolioAwesomeLauncher.onIssueEvent(PortfolioAwesomeLauncher.java:404)
at jdk.internal.reflect.GeneratedMethodAccessor2497.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:42)
at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.lambda$null$0(AsynchronousAbleEventDispatcher.java:37)
at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.dispatch(AsynchronousAbleEventDispatcher.java:85)
at com.atlassian.event.internal.LockFreeEventPublisher$Publisher.dispatch(LockFreeEventPublisher.java:220)
at com.atlassian.event.internal.LockFreeEventPublisher.publish(LockFreeEventPublisher.java:96)
at com.atlassian.jira.event.issue.DefaultIssueEventManager.publishEventIfNotificationsAreEnabled(DefaultIssueEventManager.java:180)
at com.atlassian.jira.event.issue.DefaultIssueEventManager.publishEvent(DefaultIssueEventManager.java:162)
at com.atlassian.jira.event.issue.DefaultIssueEventManager.publishAsRedundant(DefaultIssueEventManager.java:204)
at com.atlassian.jira.event.issue.DefaultIssueEventManager.dispatchRedundantEvent(DefaultIssueEventManager.java:121)
at com.atlassian.jira.issue.util.DefaultIssueUpdater.storeModifiedFields(DefaultIssueUpdater.java:158)
at com.atlassian.jira.issue.util.DefaultIssueUpdater.doUpdate(DefaultIssueUpdater.java:94)
at com.atlassian.jira.issue.util.DefaultIssueUpdater.doUpdate(DefaultIssueUpdater.java:63)
at jdk.internal.reflect.GeneratedMethodAccessor4571.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
at com.sun.proxy.$Proxy352.doUpdate(Unknown Source)
at jdk.internal.reflect.GeneratedMethodAccessor4571.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:130)
at com.sun.proxy.$Proxy352.doUpdate(Unknown Source)
at com.atlassian.jira.plugins.dnd.attachment.rest.AttachmentResource.attachTemporaryfile(AttachmentResource.java:102)
at jdk.internal.reflect.GeneratedMethodAccessor6462.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
... 12 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)
... 36 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)
... 4 filtered
at com.alphaserve.twofactor.core.services.servlets.impl.FilterServiceImpl.doBeforeDispatchMobileLoginFilter(FilterServiceImpl.java:184)
at com.alphaserve.authplugin.servlets.filters.BeforeDispatchMobileLoginFilter.doFilter(BeforeDispatchMobileLoginFilter.java:26)
... 42 filtered
at com.alphaserve.twofactor.core.services.servlets.impl.FilterServiceImpl.doLoginFilter(FilterServiceImpl.java:130)
at com.alphaserve.twofactor.core.services.servlets.impl.FilterServiceImpl.doLoginFilter(FilterServiceImpl.java:116)
at com.alphaserve.authplugin.servlets.filters.LoginFilter.doFilter(LoginFilter.java:30)
... 3 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)
... 10 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 org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:829)

Is this a known issue? There was another Error with the plugin Xray, but I don't think it's causing the problem, since a tried to disable it an the error was still there.

Kind Regards,

Kristoffer

Kristoffer Mc Pherson May 16, 2022

Hey Andy,

everytime I post my answer here my answer disappears after refreshing this page... ?
I'll try to add this my image:

hopefully this post will be there shorty after I hit "Reply".

Kind Regards,
Kristoffeerror.png

Andy Rusnak
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
May 16, 2022

Thanks Kristoffer!  Looks like the messages did come through, thank you for the exception message.  

So this error message looks potentially to be caused by a special character potentially being inserted into the name of the file.  The 'java.util.UnknownFormatConversionException: Conversion = ''' message usually is thrown when there is a character that the Java backend cannot interpret properly. 

Having said that, since you are able to upload these 'broken' files into other instances I do not think it is an issue with the file itself, but rather something specific in this instance of Jira not in others (although it would be helpful to confirm that the file name doesn't include any special characters like % signs for example).  

What plugins are are installed on this instance that are not installed on other instances?  Plugins are usually the easiest thing that changes between environments.  You can see what plugins are installed in an instance via Settings Button (gear icon) > Manage Addons.  

If we can compare the plugins between environments to see if there are any differences that should be a good place to start here.  

Best, 

Andy

Kristoffer Mc Pherson May 17, 2022

Hello Andy,

we change the naming of files to simple numbers like 123.jpg or test.zip, but we still get the same error.

I will attach a screenshot of our Plugins. I tried to disable one after another and tried to upload the file, but hat no luck. So I disable one plugin -> tried to upload a file -> enabled it again and went to the next one. Should I disable all at once?

Do I have to restart the jira instance to make the changes take affect?

Like posted above, there was another error from Xray. I updated all apps to the current version.

Plugins.png

Andy Rusnak
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
May 17, 2022

Hi Kristoffer, 

Thank you for the screenshot! You will not have to restart after disable plugins for the changes to take effect.  

If it is possible, let's try to run this instance in safe mode which will disable all plugins at once.  As you asked about, I think that is a good idea to try next.  The Disabling and Enabling Apps page contains instructions on how to do this (its about half way down the page it talks about safe mode).  

Another question that comes to mind while looking through the exception again, where in the application is the issue you are launching when try to attach the file?  For example, are you in Roadmaps and then you launch the issue?  Or are you just at a project board when you launch the issue.  

The reason I ask, the exception has some classes that point to roadmap functionality.  So if this issue is in Roadmap and that is where you are launching it from, it might also be a worthwhile test to create a brand new issue that isn't on a Roadmap and try to upload the file there.  

But I think the first test is disabling all the plugins at once through safe mode and trying again.  I think it would be worth capturing another set of logs with the plugins disabled as well to see if the exception is the same.  

Best, 

Andy

Kristoffer Mc Pherson May 19, 2022

network_failed.png

Hello Andy,

at this point I'm not sure how to proceed.

I entered safe_mode and started logging. logging settings.pngTherefore I switch logginglevel for Default to DEBUG and did an Log Rollover with Message. Why are there two logging settings Default and underneath <empty> but I can change the LoggingLevel?

Then I tried to upload the file and I get the same behavior the file only for a second will load and than the loading turns red with the error message pop-up.
When I look into my logfiles I don't see any ERROR. I turned off safe_mode and tried to upload again, but now the ERROR is not showing. Maybe the error was just a coincidence, therefore I'm not able to recreate that ERROR.

I looked into the Network Tab of my browser and found "AttachTemporaryFile=...." failed, further there is a ERROR -> (failed) net::ERR_CONNECTION_RESET and Size = 0

https://<somejiraURL>/rest/internal/2/AttachTemporaryFile?filename=testfilez.zip&size=43007087&atl_token=BA4C-PGZS-MZA8-24Z6_b4a16b96249a6c554385f35ac3325141d1959be1_lin&formToken=&issueId=1034100

We are working behind F5 Proxy, could there be a problem? If so, why are only certain files blocked?

How can we proceed? Any help would be appreciated

Andy Rusnak
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
May 19, 2022

Thanks for the additional information Kristoffer.  This is very helpful.  I agree with you that it doesn't seem to be the initial exception message we were troubleshooting if we are getting this network reset error.  

This message could be related to a few things.  I think where we would probably want to start would be to try to simplify the network topology to help us isolate where the problem might be happening. The message indicates the connection is closing or being reset when attempting to upload the file.  

The first thing that comes to mind for me is the F5.  Do we have the ability to bypass the F5 and go directly to a single server for a test connection?  If the issue persists connecting directly to the server then we know the load balancer isn't the root cause.  This is usually the easiest place to start. 

Also can we confirm that there is session persistence (also known as sticky sessions or session affinity) configured within the F5?  If the connection is flipping between Jira nodes based on the F5 routing that can certainly cause behavior like this.    

Best, 

Andy

Kristoffer Mc Pherson May 30, 2022

Hello Andy,

thank you for your answer. F5 was blocking files and rest calls with certain strings (log4j) . Therefore the filesize was reduced to zero. Further there was no entry within the logs. 

 

We changed the F5 setting and now everything works. Thank you for your help.

Kristoffer

Andy Rusnak
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
May 31, 2022

Thats great to hear Kristoffer!  Glad to hear we were able to get to the bottom of this one. 

Take care, 

Andy

Suggest an answer

Log in or Sign up to answer