Re: NPE in verifyPdfText
Marc Guillemot <[email protected]>
| Newsgroups | gmane.comp.web.canoo.webtest |
|---|---|
| Message-ID | <[email protected]> |
According to the details of the issue, the problem is fixed since PdfBox 0.8... but WebTest is still using 0.7.3 :-( Cheers, Marc. -- HtmlUnit support & consulting from the source Blog: http://mguillem.wordpress.com On 12/03/2010 12:03 AM, Lisa Crispin wrote: > Thanks! That's kind of an old post though. Acrobat 9 seems to have been > out for quite awhile. You think that PDFBox still doesn't work with it? > I wonder how to go back to an old version of Acrobat. > -- Lisa > > 2010/12/2 Dierk König <[email protected] > <mailto:[email protected]>> > > Hi Lisa, > > always good to hear from you ;-) > > The issue appears to be connected to the Acrobat version that > created the PDF, see > http://markmail.org/message/64ls3daphdh3pxzo > > cheers > Dierk > > Am 02.12.2010 um 22:09 schrieb Lisa Crispin: > >> We got a new version of a pdf that we've had for years and years, >> a page was added to it is all. Now all our tests that verify this >> document are failing with an NPE. The traceback is below. There >> must be something wrong with the PDF, but we can't see it. Anyone >> have any suggestions how we can debug this? I can see the PDF and >> the actual page in question in the test result output, and it has >> the right text on it and everything. >> >> The step that's failing is: >> <pdfVerifyText description="verify first page content" >> startPage="1" >> endPage="1" >> text="SUMMARY PLAN DESCRIPTION"/> >> >> Here is the traceback: >> /var/hudson/workspace/WebTest-NonTradeTests-Build/trunk/src/web_test/modules/verifySPD40.xml:8: >> Unexpected exception caught: java.lang.NullPointerException >> at >> com.canoo.webtest.steps.StepUtil.handleException(StepUtil.java:120) >> at com.canoo.webtest.steps.Step.handleException(Step.java:387) >> at com.canoo.webtest.steps.Step.execute(Step.java:118) >> at >> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) >> at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) >> at >> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105) >> at org.apache.tools.ant.Task.perform(Task.java:348) >> at >> com.canoo.webtest.ant.TestStepSequence.executeSteps(TestStepSequence.java:43) >> at >> com.canoo.webtest.ant.TestStepSequence.doExecute(TestStepSequence.java:31) >> at com.canoo.webtest.steps.Step.execute(Step.java:103) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) >> at >> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105) >> at org.apache.tools.ant.Task.perform(Task.java:348) >> at >> com.canoo.webtest.ant.WebtestTask.executeSteps(WebtestTask.java:236) >> at com.canoo.webtest.ant.WebtestTask.execute(WebtestTask.java:208) >> at >> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) >> at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) >> at >> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105) >> at org.apache.tools.ant.Task.perform(Task.java:348) >> at org.apache.tools.ant.Target.execute(Target.java:357) >> at org.apache.tools.ant.Target.performTasks(Target.java:385) >> at >> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329) >> at >> org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38) >> at org.apache.tools.ant.Project.executeTargets(Project.java:1181) >> at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416) >> at >> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) >> at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) >> at >> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105) >> at org.apache.tools.ant.Task.perform(Task.java:348) >> at org.apache.tools.ant.Target.execute(Target.java:357) >> at org.apache.tools.ant.Target.performTasks(Target.java:385) >> at >> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329) >> at >> org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38) >> at org.apache.tools.ant.Project.executeTargets(Project.java:1181) >> at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416) >> at >> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) >> at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) >> at >> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105) >> at org.apache.tools.ant.Task.perform(Task.java:348) >> at org.apache.tools.ant.Target.execute(Target.java:357) >> at org.apache.tools.ant.Target.performTasks(Target.java:385) >> at >> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329) >> at >> org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38) >> at org.apache.tools.ant.Project.executeTargets(Project.java:1181) >> at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416) >> at >> org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105) >> at >> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) >> at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) >> at >> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105) >> at org.apache.tools.ant.Task.perform(Task.java:348) >> at org.apache.tools.ant.Target.execute(Target.java:357) >> at org.apache.tools.ant.Target.performTasks(Target.java:385) >> at >> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329) >> at org.apache.tools.ant.Project.executeTarget(Project.java:1298) >> at >> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) >> at org.apache.tools.ant.Project.executeTargets(Project.java:1181) >> at org.apache.tools.ant.Main.runBuild(Main.java:698) >> at org.apache.tools.ant.Main.startAnt(Main.java:199) >> at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257) >> at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104) >> Caused by: java.lang.NullPointerException >> at org.pdfbox.pdmodel.PDPageNode.getAllKids(PDPageNode.java:194) >> at org.pdfbox.pdmodel.PDPageNode.getAllKids(PDPageNode.java:182) >> at >> org.pdfbox.pdmodel.PDDocumentCatalog.getAllPages(PDDocumentCatalog.java:226) >> at >> org.pdfbox.util.PDFTextStripper.writeText(PDFTextStripper.java:216) >> at >> org.pdfbox.util.PDFTextStripper.getText(PDFTextStripper.java:149) >> at >> com.canoo.webtest.plugins.pdftest.htmlunit.pdfbox.PdfBoxPDFPage.getTextInternal(PdfBoxPDFPage.java:204) >> at >> com.canoo.webtest.plugins.pdftest.htmlunit.pdfbox.PdfBoxPDFPage.getText(PdfBoxPDFPage.java:196) >> at >> com.canoo.webtest.plugins.pdftest.PdfVerifyTextStep.verifyPdf(PdfVerifyTextStep.java:87) >> at >> com.canoo.webtest.plugins.pdftest.AbstractVerifyPdfStep.doExecute(AbstractVerifyPdfStep.java:22) >> at com.canoo.webtest.steps.Step.execute(Step.java:103) >> ... 70 more >> --- Nested Exception --- >> java.lang.NullPointerException >> at org.pdfbox.pdmodel.PDPageNode.getAllKids(PDPageNode.java:194) >> at org.pdfbox.pdmodel.PDPageNode.getAllKids(PDPageNode.java:182) >> at >> org.pdfbox.pdmodel.PDDocumentCatalog.getAllPages(PDDocumentCatalog.java:226) >> at >> org.pdfbox.util.PDFTextStripper.writeText(PDFTextStripper.java:216) >> at >> org.pdfbox.util.PDFTextStripper.getText(PDFTextStripper.java:149) >> at >> com.canoo.webtest.plugins.pdftest.htmlunit.pdfbox.PdfBoxPDFPage.getTextInternal(PdfBoxPDFPage.java:204) >> at >> com.canoo.webtest.plugins.pdftest.htmlunit.pdfbox.PdfBoxPDFPage.getText(PdfBoxPDFPage.java:196) >> at >> com.canoo.webtest.plugins.pdftest.PdfVerifyTextStep.verifyPdf(PdfVerifyTextStep.java:87) >> at >> com.canoo.webtest.plugins.pdftest.AbstractVerifyPdfStep.doExecute(AbstractVerifyPdfStep.java:22) >> at com.canoo.webtest.steps.Step.execute(Step.java:103) >> at >> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) >> at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) >> at >> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105) >> at org.apache.tools.ant.Task.perform(Task.java:348) >> at >> com.canoo.webtest.ant.TestStepSequence.executeSteps(TestStepSequence.java:43) >> at >> com.canoo.webtest.ant.TestStepSequence.doExecute(TestStepSequence.java:31) >> at com.canoo.webtest.steps.Step.execute(Step.java:103) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) >> at >> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105) >> at org.apache.tools.ant.Task.perform(Task.java:348) >> at >> com.canoo.webtest.ant.WebtestTask.executeSteps(WebtestTask.java:236) >> at com.canoo.webtest.ant.WebtestTask.execute(WebtestTask.java:208) >> at >> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) >> at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) >> at >> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105) >> at org.apache.tools.ant.Task.perform(Task.java:348) >> at org.apache.tools.ant.Target.execute(Target.java:357) >> at org.apache.tools.ant.Target.performTasks(Target.java:385) >> at >> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329) >> at >> org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38) >> at org.apache.tools.ant.Project.executeTargets(Project.java:1181) >> at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416) >> at >> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) >> at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) >> at >> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105) >> at org.apache.tools.ant.Task.perform(Task.java:348) >> at org.apache.tools.ant.Target.execute(Target.java:357) >> at org.apache.tools.ant.Target.performTasks(Target.java:385) >> at >> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329) >> at >> org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38) >> at org.apache.tools.ant.Project.executeTargets(Project.java:1181) >> at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416) >> at >> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) >> at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) >> at >> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105) >> at org.apache.tools.ant.Task.perform(Task.java:348) >> at org.apache.tools.ant.Target.execute(Target.java:357) >> at org.apache.tools.ant.Target.performTasks(Target.java:385) >> at >> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329) >> at >> org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38) >> at org.apache.tools.ant.Project.executeTargets(Project.java:1181) >> at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416) >> at >> org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105) >> at >> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) >> at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) >> at >> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105) >> at org.apache.tools.ant.Task.perform(Task.java:348) >> at org.apache.tools.ant.Target.execute(Target.java:357) >> at org.apache.tools.ant.Target.performTasks(Target.java:385) >> at >> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329) >> at org.apache.tools.ant.Project.executeTarget(Project.java:1298) >> at >> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) >> at org.apache.tools.ant.Project.executeTargets(Project.java:1181) >> at org.apache.tools.ant.Main.runBuild(Main.java:698) >> at org.apache.tools.ant.Main.startAnt(Main.java:199) >> at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257) >> at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104) >> >> -- >> Lisa Crispin >> Co-author with Janet Gregory, _Agile Testing: A Practical Guide >> for Testers and Agile Teams_ (Addison-Wesley 2009) >> Contributor to _Beautiful Testing_ (O'Reilly 2009) >> http://lisacrispin.com <http://lisacrispin.com/> >> @lisacrispin on Twitter >> > > > > > -- > Lisa Crispin > Co-author with Janet Gregory, _Agile Testing: A Practical Guide for > Testers and Agile Teams_ (Addison-Wesley 2009) > Contributor to _Beautiful Testing_ (O'Reilly 2009) > http://lisacrispin.com > @lisacrispin on Twitter >