I'm having a problem downloading existing attachments after upgraded Jira from 8.14 to 8.15.
Kindly help as urgent. Worry the original attachments are missing.
Hi @ganfye83
First, check with the following link here whether you have a different attachment name in the database and home directory, if yes you have to follow the guide in documentation to fix the problem.
Please check whether the files are present in the attachments directory of your home directory.
If you have a backup of your home directory of Jira Instance, restore it and check.
Did you check for modified files while you were upgrading the instance, if you have the old instance backup, please check and restore them as it is.
Hope this finds the solution to the issue.
Thanks,
Pramodh
I also have tried to re-install again, re-backup everything etc.
And I notice first time open any attachment will have an error 500.
as follow:
Technical details
Log's referral number: 81f122e3-27c2-4ce9-88db-b2bcb942984e
Cause
Referer URL: https://atlassian.ehors.com:9443/browse/EWVX-184
java.lang.ClassNotFoundException: com.atlassian.jira.web.servlet.ViewAttachmentServlet
java.lang.ClassNotFoundException: com.atlassian.jira.web.servlet.ViewAttachmentServlet
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1358) [catalina.jar:8.5.60]
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180) [catalina.jar:8.5.60]
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:545) [catalina.jar:8.5.60]
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:526) [catalina.jar:8.5.60]
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:150) [catalina.jar:8.5.60]
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1044) [catalina.jar:8.5.60]
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:763) [catalina.jar:8.5.60]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:134) [catalina.jar:8.5.60]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [catalina.jar:8.5.60]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:544) [catalina.jar:8.5.60]
at org.apache.catalina.valves.StuckThreadDetectionValve.invoke(StuckThreadDetectionValve.java:206) [catalina.jar:8.5.60]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) [catalina.jar:8.5.60]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) [catalina.jar:8.5.60]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [catalina.jar:8.5.60]
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690) [catalina.jar:8.5.60]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [catalina.jar:8.5.60]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:616) [tomcat-coyote.jar:8.5.60]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-coyote.jar:8.5.60]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831) [tomcat-coyote.jar:8.5.60]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1634) [tomcat-coyote.jar:8.5.60]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:8.5.60]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_275]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_275]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.5.60]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_275]
Then next time open again will show the plain HTML codes on page
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Maybe characters are not being rendered as expected (an unsupported encoding/character set is being used somewhere).
Navigate to the attachment directory and run the commands on any one directory as documented here.
and restart the server.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Please check the logs after restarting the server.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Tried, doesn't help either...
Not sure which logs you want me to check. I'm reading the catalina.out.
in the startup log can only found the following:
Other logs can be found here
java.lang.NullPointerException
at java.io.StringReader.<init>(StringReader.java:50)
at org.codehaus.jackson.JsonFactory.createJsonParser(JsonFactory.java:636)
at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1854)
at com.okapya.jira.customfields.workflow.rules.ConditionRuleManager.areRulesRespectedForIssue(ConditionRuleManager.java:39)
at com.okapya.jira.customfields.workflow.AbstractChecklistValidator.validateChecklistFields(AbstractChecklistValidator.java:32)
at com.okapya.jira.customfields.workflow.conditions.ChecklistCondition.passesCondition(ChecklistCondition.java:26)
at com.atlassian.jira.plugin.workflow.WorkflowConditionModuleDescriptor$SafeConditionPlugin.passesCondition(WorkflowConditionModuleDescriptor.java:79)
at com.atlassian.jira.workflow.SkippableCondition.passesCondition(SkippableCondition.java:43)
at com.opensymphony.workflow.AbstractWorkflow.passesCondition(AbstractWorkflow.java:1049)
at com.opensymphony.workflow.AbstractWorkflow.passesConditions(AbstractWorkflow.java:1083)
at com.opensymphony.workflow.AbstractWorkflow.passesConditions(AbstractWorkflow.java:1107)
at com.opensymphony.workflow.AbstractWorkflow.getAvailableActionsForStep(AbstractWorkflow.java:714)
at com.opensymphony.workflow.AbstractWorkflow.getAvailableActions(AbstractWorkflow.java:115)
at com.atlassian.jira.workflow.IssueWorkflowManagerImpl.getAvailableActionIds(IssueWorkflowManagerImpl.java:166)
at com.atlassian.jira.workflow.IssueWorkflowManagerImpl.getAvailableActions(IssueWorkflowManagerImpl.java:57)
at com.atlassian.jira.workflow.IssueWorkflowManagerImpl.getSortedAvailableActions(IssueWorkflowManagerImpl.java:87)
at com.atlassian.jira.workflow.IssueWorkflowManagerImpl.getSortedAvailableActions(IssueWorkflowManagerImpl.java:82)
at com.atlassian.jira.issue.transitions.TransitionLinkFactory.getAvailableActions(TransitionLinkFactory.java:53)
at com.atlassian.jira.issue.transitions.TransitionLinkFactory.getItems(TransitionLinkFactory.java:43)
at com.atlassian.plugin.web.DefaultWebInterfaceManager.getDynamicWebItems(DefaultWebInterfaceManager.java:234)
at com.atlassian.plugin.web.DefaultWebInterfaceManager.getDisplayableWebItems(DefaultWebInterfaceManager.java:212)
at com.atlassian.jira.plugin.webfragment.DefaultSimpleLinkManager.getLinksForSection(DefaultSimpleLinkManager.java:120)
at com.atlassian.jira.plugin.webfragment.ThreadLocalCachingSimpleLinkManager.access$701(ThreadLocalCachingSimpleLinkManager.java:28)
at com.atlassian.jira.plugin.webfragment.ThreadLocalCachingSimpleLinkManager$3.load(ThreadLocalCachingSimpleLinkManager.java:149)
at com.atlassian.jira.plugin.webfragment.ThreadLocalCachingSimpleLinkManager$3.load(ThreadLocalCachingSimpleLinkManager.java:146)
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)
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.jira.plugin.webfragment.ThreadLocalCachingSimpleLinkManager.getLinksForSection(ThreadLocalCachingSimpleLinkManager.java:153)
at com.atlassian.jira.plugin.webfragment.ThreadLocalCachingSimpleLinkManager.getLinksForSection(ThreadLocalCachingSimpleLinkManager.java:140)
at sun.reflect.GeneratedMethodAccessor541.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
at com.sun.proxy.$Proxy118.getLinksForSection(Unknown Source)
at sun.reflect.GeneratedMethodAccessor541.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)
at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:136)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70)
at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:136)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
at com.sun.proxy.$Proxy3497.getLinksForSection(Unknown Source)
at com.atlassian.jira.issue.util.IssueOperationsBarUtil.getLinksForSection(IssueOperationsBarUtil.java:192)
at com.atlassian.jira.issue.util.IssueOperationsBarUtil.getPromotedLinks(IssueOperationsBarUtil.java:113)
at com.atlassian.jira.rest.v2.issue.OpsbarBeanBuilder.buildOpsbarGroup(OpsbarBeanBuilder.java:95)
at com.atlassian.jira.rest.v2.issue.OpsbarBeanBuilder.build(OpsbarBeanBuilder.java:56)
at com.atlassian.jira.projects.issuenavigator.DefaultIssueRenderService.render(DefaultIssueRenderService.java:93)
at com.atlassian.jira.projects.issuenavigator.webaction.ProjectIssueNavigatorAction.doIssueViewWithSidebar(ProjectIssueNavigatorAction.java:195)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at webwork.util.InjectionUtils$DefaultInjectionImpl.invoke(InjectionUtils.java:70)
at webwork.util.InjectionUtils.invoke(InjectionUtils.java:56)
at webwork.action.ActionSupport.invokeCommand(ActionSupport.java:438)
at webwork.action.ActionSupport.execute(ActionSupport.java:157)
at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:63)
at webwork.interceptor.DefaultInterceptorChain.proceed(DefaultInterceptorChain.java:39)
at webwork.interceptor.NestedInterceptorChain.proceed(NestedInterceptorChain.java:31)
at webwork.interceptor.ChainedInterceptor.intercept(ChainedInterceptor.java:16)
at webwork.interceptor.DefaultInterceptorChain.proceed(DefaultInterceptorChain.java:35)
at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:225)
at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:154)
at com.atlassian.jira.web.dispatcher.JiraWebworkActionDispatcher.service(JiraWebworkActionDispatcher.java:138)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Did you check with the character rendering as described here?
Once this is done, we have to check with Catalina logs
Thanks,
Pramodh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @ganfye83
Append --notest with the command you are running, its a dry run which means it will show what the effect will be, but no changes will be made.
So the command goes like this
conmv -f ascii -t utf8 --notest attachments/
conmv -f iso-8859-1 -t utf8 --notest attachments/
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
To troubleshoot 500 Error
Check with this knowledge base to troubleshoot the Error.
https://confluence.atlassian.com/confkb/confluence-doesn-t-generate-thumbnails-154068.html
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I think I found it... It's your installation file bugs.
These 2 files aren't available in folder:
AbstractViewFileServlet.class
ViewAttachmentServlet.class
/home/atlassian-opt/jira/atlassian-jira/WEB-INF/classes/com/atlassian/jira/web/servlet/
I have copied from V8.14.1 and solved it now!, please notice your developer and check the servlet files included.
Working now! Many thanks anyway.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Are you able to see the attachments in browser now.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @Pramodh M , can close case but please remind developer to check those servlet files on next release, thank you and have a good day.
stay safe and protected
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi all --
I had this same problem and after researching for a while, found this article about changes to servlet file locations in recent versions that can be problematic if you have a modified web.xml file (as I did). The solution was to migrate my customizations into the new web.xml file rather than just copying my old one into the application directory.
Hopefully this can help some other folks.
-- Janice
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yes, this was very helpful, thank you. I wish there were a way to force http to https without modifying that web.xml file.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
So the fix for the moment , only for this issue, is to add the 3 files
ViewThumbnailServlet.class
AbstractViewFileServlet.class
ViewAttachmentServlet.class
in the folder
jira/atlassian-jira/WEB-INF/classes/com/atlassian/jira/web/servlet/
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Also check for ownership of attachment files. this might affect sometimes. owner needs to be jirauser.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
The issue is still there in jira server 8.16.0
same solution, but still ... nobody at atlassian is doing any minimal QA ?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Still on 8.17.0 not solved. Seems that Atlassian is no longer interested in QA checks for the server instances even they provide "updates"
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Did you see my comment added above? I had this same problem, but it turned out to be because of some changes I had made to the web.xml file that were no longer compatible with the newer versions of Jira. There's more info about it here:
The upshot is that if this is what is causing your problem, it will keep recurring every time you upgrade until you update the format of your web.xml file.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you @ganfye83
I have spent last night few hours trying to debug the issue ( as i have the same issue)
Your solution fixed the problem, now the attachment can be seen
BUT
the thumbnails are still not generated :-)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Julian Somesan , correct I also noticed the thumbnail aren’t generate, luckily so far my issues doesn’t need to view in thumbnails as most of my issues have more than 10 files++
Stay safe and protected
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
For thumbnails
Check with reindexing once, if that did not solve the problem, here's the kb article.
Thanks,
Pramodh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
The above KB article is not fixing the problem
Because even the Newly created attachments DOES NOT have its thumbnail shown correctly ...
I suspect there is yet another file missing from :
jira/atlassian-jira/WEB-INF/classes/com/atlassian/jira/web/servlet/
ViewThumbnailServlet.class
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Nope, adding the file ViewThumbnailServlet.class still not solved the issue.
I wonder if someone from Atlassian can fix their own software ?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Julian Somesan Good try, and I think those have to check again if any "error" show in any particular logs to see which files are having an issue or missing. (That's how I trace the attachment cannot be download issue). Only for now we really do not need the thumbnail yet, thus I should be fine to wait until the next fizxed version release.
Have a good day to you and stay safe and protected.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.