[
https://issues.apache.org/jira/browse/PDFBOX-5089?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17272548#comment-17272548
]
Tilman Hausherr commented on PDFBOX-5089:
-----------------------------------------
Your input stream is empty or has only a few bytes. That's why you get EOF
while reading the header. Check your input.
> Unable to download file (java.io.IOException: Error: End-of-File, expected
> line)
> --------------------------------------------------------------------------------
>
> Key: PDFBOX-5089
> URL: https://issues.apache.org/jira/browse/PDFBOX-5089
> Project: PDFBox
> Issue Type: Bug
> Affects Versions: 2.0.22
> Reporter: Ling Hock Hin, Daniel
> Priority: Major
>
> When attempting to download a certain pdf file, encountered this error.
>
> 10:46:38.495 [http-nio-8080-exec-7] DEBUG WEB - << ResponseUtil >>
> outputFileStream():[Start] outputFileStream
> 10:46:38.495 [http-nio-8080-exec-7] ERROR WEB - << DownloadAction >> IO
> Exception occurred
> java.io.IOException: Error: End-of-File, expected line
> at org.apache.pdfbox.pdfparser.BaseParser.readLine(BaseParser.java:1103)
> ~[pdfbox-2.0.22.jar:2.0.22]
> at org.apache.pdfbox.pdfparser.COSParser.parseHeader(COSParser.java:2589)
> ~[pdfbox-2.0.22.jar:2.0.22]
> at org.apache.pdfbox.pdfparser.COSParser.parsePDFHeader(COSParser.java:2560)
> ~[pdfbox-2.0.22.jar:2.0.22]
> at org.apache.pdfbox.pdfparser.PDFParser.parse(PDFParser.java:219)
> ~[pdfbox-2.0.22.jar:2.0.22]
> at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1222)
> ~[pdfbox-2.0.22.jar:2.0.22]
> at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1122)
> ~[pdfbox-2.0.22.jar:2.0.22]
> at
> com.ufinity.framework.util.ResponseUtil.outputFileStream(ResponseUtil.java:81)
> ~[tgis-admin.jar:?]
> at
> com.tgis.student.web.action.DownloadAction.closingLetter(DownloadAction.java:327)
> [tgis-admin.jar:?]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_272]
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> ~[?:1.8.0_272]
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> ~[?:1.8.0_272]
> at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_272]
> at ognl.OgnlRuntime.invokeMethodInsideSandbox(OgnlRuntime.java:1226)
> [ognl-3.1.26.jar:?]
> at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:1211) [ognl-3.1.26.jar:?]
> at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1920)
> [ognl-3.1.26.jar:?]
> at ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:68)
> [ognl-3.1.26.jar:?]
> at
> com.opensymphony.xwork2.ognl.accessor.XWorkMethodAccessor.callMethodWithDebugInfo(XWorkMethodAccessor.java:98)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.ognl.accessor.XWorkMethodAccessor.callMethod(XWorkMethodAccessor.java:90)
> [struts2-core-2.5.22.jar:2.5.22]
> at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:1996) [ognl-3.1.26.jar:?]
> at ognl.ASTMethod.getValueBody(ASTMethod.java:91) [ognl-3.1.26.jar:?]
> at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
> [ognl-3.1.26.jar:?]
> at ognl.SimpleNode.getValue(SimpleNode.java:258) [ognl-3.1.26.jar:?]
> at ognl.Ognl.getValue(Ognl.java:537) [ognl-3.1.26.jar:?]
> at ognl.Ognl.getValue(Ognl.java:501) [ognl-3.1.26.jar:?]
> at com.opensymphony.xwork2.ognl.OgnlUtil$3.execute(OgnlUtil.java:492)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.ognl.OgnlUtil.compileAndExecuteMethod(OgnlUtil.java:544)
> [struts2-core-2.5.22.jar:2.5.22]
> at com.opensymphony.xwork2.ognl.OgnlUtil.callMethod(OgnlUtil.java:490)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:438)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:293)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.tgis.interceptors.CachingHeadersInterceptor.intercept(CachingHeadersInterceptor.java:27)
> [tgis-admin.jar:?]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.ufinity.framework.web.interceptor.AuthorizationInterceptor.intercept(AuthorizationInterceptor.java:113)
> [tgis-admin.jar:?]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.ufinity.framework.web.interceptor.EmailOTPCheckInterceptor.intercept(EmailOTPCheckInterceptor.java:78)
> [tgis-admin.jar:?]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.ufinity.framework.web.interceptor.PasswordExpiryCheckInterceptor.intercept(PasswordExpiryCheckInterceptor.java:83)
> [tgis-admin.jar:?]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.ufinity.framework.web.interceptor.SessionMaintainerInterceptor.intercept(SessionMaintainerInterceptor.java:197)
> [tgis-admin.jar:?]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:179)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:49)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.doIntercept(ConversionErrorInterceptor.java:142)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:137)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.ufinity.framework.web.interceptor.HibernateInterceptor.intercept(HibernateInterceptor.java:146)
> [tgis-admin.jar:?]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:137)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:201)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.googlecode.scopeplugin.ScopeInterceptor.intercept(ScopeInterceptor.java:48)
> [tgis-admin.jar:?]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:89)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.ufinity.framework.web.interceptor.AntiVirusInterceptor.intercept(AntiVirusInterceptor.java:135)
> [tgis-admin.jar:?]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:101)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:142)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:102)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:250)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:160)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> org.apache.struts2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:121)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:175)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:167)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:203)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:196)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> org.apache.struts2.factory.StrutsActionProxy.execute(StrutsActionProxy.java:48)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:574)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> org.apache.struts2.dispatcher.ExecuteOperations.executeAction(ExecuteOperations.java:79)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:141)
> [struts2-core-2.5.22.jar:2.5.22]
> at
> com.ufinity.framework.web.plugin.SkeletonFilterDispatcher.doFilter(SkeletonFilterDispatcher.java:112)
> [tgis-admin.jar:?]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> [catalina.jar:9.0.37]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> [catalina.jar:9.0.37]
> at
> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:404)
> [urlrewritefilter-4.0.3.jar:4.0.3]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> [catalina.jar:9.0.37]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> [catalina.jar:9.0.37]
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
> [catalina.jar:9.0.37]
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
> [catalina.jar:9.0.37]
> at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
> [catalina.jar:9.0.37]
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
> [catalina.jar:9.0.37]
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
> [catalina.jar:9.0.37]
> at
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
> [catalina.jar:9.0.37]
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
> [catalina.jar:9.0.37]
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
> [catalina.jar:9.0.37]
> at
> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
> [tomcat-coyote.jar:9.0.37]
> at
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
> [tomcat-coyote.jar:9.0.37]
> at
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
> [tomcat-coyote.jar:9.0.37]
> at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589)
> [tomcat-coyote.jar:9.0.37]
> at
> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
> [tomcat-coyote.jar:9.0.37]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> [?:1.8.0_272]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> [?:1.8.0_272]
> at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> [tomcat-util.jar:9.0.37]
> at java.lang.Thread.run(Thread.java:748) [?:1.8.0_272]
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]