Multiple NulLReferenceException for different file types

Hello,

We observed multiple NullReferenceExceptions when extracting from different files and would be happy when you fix them to make GroupDocs.Search more reliable.


1. .doc file


at \u0006\u001A\u0018\u0015.\u0008()

at \u0006\u001A\u0018\u0015..ctor(\u000F\u0019\u0005\u001A \u0002, ILoadOptions \u0008)

at \u0008\u0010\u0016\u0002.\u0002(\u000F\u0019\u0005\u001A \u0002, InterruptionToken \u0008)

at Aspose.Slides.Presentation.\u0002(\u000F\u0019\u0005\u001A \u0002)

at Aspose.Slides.Presentation.\u0002(Stream \u0002, Boolean \u0008)

at Aspose.Slides.Presentation..ctor(Stream stream, LoadOptions loadOptions)

at \u0006\u0018\u0003.\u0002(Stream \u0002, LoadOptions \u0008)

at \u000F\u0003\u0003.\u0002()

at \u000F\u0003\u0003.\u000F\u0010\u001A\u0003\u0016\u0002(Nullable`1 \u0002, TextOptions \u0008)

at GroupDocs.Parser.Parser.GetText(TextOptions options)

at \u0006\u0019\u0002.\u000E\u0018\u001B\u0003\u0016\u0002(String \u0002, Boolean \u0008)

at \u0008\u001B\u001B.\u0002(Int32 \u0002, \u0006\u0018\u001B \u0008)

2. .pdf file


at Aspose.Pdf.Annotations.DocumentActionCollection..ctor(Document document)

at Aspose.Pdf.Document.#=zMRs5bt4=()

at Aspose.Pdf.Document.#=zMRs5bt4=(Stream #=zMgMAfoc=, String #=zK7jLnng=)

at Aspose.Pdf.Document..ctor(Stream input)

at \u0006\u0018\u0005.\u0002(Stream \u0002, LoadOptions \u0003)

at \u0006\u0017\u0005.\u0008\u0017\u0003\u0017\u0005\u0017\u0015\u0002()

at GroupDocs.Parser.Parser.GetMetadata()

at \u000F\u0002\u0010.\u000E\u001A\u000F\u0016\u0005\u0003()

at \u0003\u0016\u000F.\u0002(Document \u0002, \u0006\u001A\u000F \u0003, String \u0005)

3. .odp file


at \u0005\u0003\u0002\u0015.\u0002(String \u0002, \u0008\u0019\u0005\u0018 \u0008, \u0002\u001A\u001B\u0003 \u0005, \u0002\u001A\u001B\u0003 \u0006)

at \u0005\u0003\u0002\u0015.\u0002(ShapeCollection \u0002, \u0008\u0016\u0017\u0018 \u0008, \u0008\u001A\u0017\u0018 \u0005, \u000F\u0002\u0002\u0015 \u0006)

at \u0003\u0002\u000F\u0015.\u0002(ShapeCollection \u0002, \u0008\u0016\u0017\u0018 \u0008, \u0006\u001B\u0002\u0015 \u0005)

at \u0003\u0002\u000F\u0015.\u0006(ShapeCollection \u0002, Object \u0008, \u0006\u001B\u0002\u0015 \u0005)

at \u0003\u0002\u000F\u0015.\u0002(ShapeCollection \u0002, \u0002\u0003\u000F\u0002 \u0008, \u0006\u001B\u0002\u0015 \u0005)

at \u000F\u0002\u000F\u0015.\u0002(Slide \u0002, \u0003\u001A\u0017\u0018 \u0008, IList`1 \u0005, \u0006\u001B\u0002\u0015 \u0006)

at \u0008\u0002\u000F\u0015.\u0002(Presentation \u0002, \u0006\u0003\u0003\u0003 \u0008, \u0006\u001B\u0002\u0015 \u0005)

at \u000E\u0003\u0002\u0015.\u0002(Presentation \u0002)

at \u0002\u001A\u0002\u0015.\u0003(\u000F\u001A\u0016\u001A \u0002, Presentation \u0008)

at \u0002\u001A\u0002\u0015.\u0002(Presentation \u0002, Stream \u0008, InterruptionToken \u0005, Boolean \u0006)

at Aspose.Slides.Presentation.\u0008(Stream \u0002, Boolean \u0008)

at Aspose.Slides.Presentation.\u0002(Stream \u0002, Boolean \u0008)

at Aspose.Slides.Presentation..ctor(Stream stream, LoadOptions loadOptions)

at \u0006\u0018\u0003.\u0002(Stream \u0002, LoadOptions \u0008)

at \u000F\u0003\u0003.\u000F\u0010\u001A\u0003\u0016\u0002(Nullable`1 \u0002, TextOptions \u0008)

at GroupDocs.Parser.Parser.GetText(TextOptions options)

at \u0008\u001B\u001B.\u0002(Document \u0002, \u0003\u0018\u001B \u0008, String \u0005)

4. .docx file


at \u0005\u0003\u0002\u0015.\u0002(IChartSeries \u0002, Boolean \u0008, \u0006\u0019\u0005\u0018 \u0005, \u0006\u001B\u0002\u0015 \u0006)

at \u0005\u0003\u0002\u0015.\u0002(Chart \u0002, \u0008\u0019\u0005\u0018 \u0008, \u0002\u001A\u001B\u0003 \u0005, \u0002\u001A\u001B\u0003 \u0006, \u0006\u001B\u0002\u0015 \u0003)

at \u0005\u0003\u0002\u0015.\u0002(ShapeCollection \u0002, \u0008\u0016\u0017\u0018 \u0008, \u0008\u001A\u0017\u0018 \u0005, \u000F\u0002\u0002\u0015 \u0006)

at \u0003\u0002\u000F\u0015.\u0002(ShapeCollection \u0002, \u0008\u0016\u0017\u0018 \u0008, \u0006\u001B\u0002\u0015 \u0005)

at \u0003\u0002\u000F\u0015.\u0006(ShapeCollection \u0002, Object \u0008, \u0006\u001B\u0002\u0015 \u0005)

at \u0003\u0002\u000F\u0015.\u0002(ShapeCollection \u0002, \u0002\u0003\u000F\u0002 \u0008, \u0006\u001B\u0002\u0015 \u0005)

at \u000F\u0002\u000F\u0015.\u0002(Slide \u0002, \u0003\u001A\u0017\u0018 \u0008, IList`1 \u0005, \u0006\u001B\u0002\u0015 \u0006)

at \u0008\u0002\u000F\u0015.\u0002(Presentation \u0002, \u0006\u0003\u0003\u0003 \u0008, \u0006\u001B\u0002\u0015 \u0005)

at \u000E\u0003\u0002\u0015.\u0002(Presentation \u0002)

at \u0002\u001A\u0002\u0015.\u0003(\u000F\u001A\u0016\u001A \u0002, Presentation \u0008)

at \u0002\u001A\u0002\u0015.\u0002(Presentation \u0002, Stream \u0008, InterruptionToken \u0005, Boolean \u0006)

at Aspose.Slides.Presentation.\u0008(Stream \u0002, Boolean \u0008)

at Aspose.Slides.Presentation.\u0002(Stream \u0002, Boolean \u0008)

at Aspose.Slides.Presentation..ctor(Stream stream, LoadOptions loadOptions)

at \u0006\u0018\u0003.\u0002(Stream \u0002, LoadOptions \u0008)

at \u000F\u0003\u0003.\u0002()

at \u000F\u0003\u0003.\u000F\u0010\u001A\u0003\u0016\u0002(Nullable`1 \u0002, TextOptions \u0008)

at GroupDocs.Parser.Parser.GetText(TextOptions options)

at \u0002\u0019\u0002.\u0002(Parser \u0002, Boolean \u0008, FileFormat \u0005)

at \u0006\u0019\u0002.\u000E\u0018\u001B\u0003\u0016\u0002(String \u0002, Boolean \u0008)

at \u0008\u001B\u001B.\u0002(Int32 \u0002, \u0006\u0018\u001B \u0008)

5. .one file


at \u0008\u0015\u0017.\u0002()

at \u0008\u0015\u0017.\u0002\u0015\u0017\u0016\u0016\u0002()

at \u0003\u001B\u0019.\u0002(Stream \u0002, Document \u0003, LoadOptions \u0005)

at Aspose.Note.Document.\u0002(Stream \u0002, LoadOptions \u0003)

at Aspose.Note.Document..ctor(Stream inStream, LoadOptions loadOptions)

at \u0006\u0010\u0003.\u0002(Stream \u0002, LoadOptions \u0008)

at \u0005\u0010\u0003.\u0002()

at \u0005\u0010\u0003.\u000F\u0010\u001A\u0003\u0016\u0002(Nullable`1 \u0002, TextOptions \u0008)

at GroupDocs.Parser.Parser.GetText(TextOptions options)

at \u0008\u001B\u001B.\u0002(Document \u0002, \u0003\u0018\u001B \u0008, String \u0005)

6. .ppt file


at \u0003\u0017\u0016\u0002.\u0005\u000F()

at \u0003\u0017\u0016\u0002.\u0002()

at \u0005\u0015\u0016\u0002.\u0002(\u0003\u0017\u0016\u0002 \u0002)

at \u0008\u0010\u0016\u0002.\u000E\u000F()

at \u0008\u0010\u0016\u0002.\u0002(\u000F\u0019\u0005\u001A \u0002, InterruptionToken \u0008)

at Aspose.Slides.Presentation.\u0002(\u000F\u0019\u0005\u001A \u0002)

at Aspose.Slides.Presentation.\u0002(Stream \u0002, Boolean \u0008)

at Aspose.Slides.Presentation..ctor(Stream stream, LoadOptions loadOptions)

at \u0006\u0018\u0003.\u0002(Stream \u0002, LoadOptions \u0008)

at \u000F\u0003\u0003.\u0002()

at \u000F\u0003\u0003.\u000F\u0010\u001A\u0003\u0016\u0002(Nullable`1 \u0002, TextOptions \u0008)

at GroupDocs.Parser.Parser.GetText(TextOptions options)

at \u0008\u001B\u001B.\u0002(Document \u0002, \u0003\u0018\u001B \u0008, String \u0005)

7. .xlsx file


at \u0006\u001A\u0003.\u0002(\u0005\u0018\u001A \u0002, \u0003\u001A\u0003 \u0008)

at \u0006\u001A\u0003.\u0008(\u0005\u0018\u001A \u0002, \u0003\u001A\u0003 \u0008)

at GroupDocs.Parser.Data.ContainerItem.OpenParser(LoadOptions loadOptions, ParserSettings parserSettings)

at \u000E\u0005\u0002.\u0006\u0018\u001B\u0003\u0016\u0002(\u0002\u0005\u001B \u0002, \u0008\u0017\u0002 \u0008, String \u0005)

at \u0008\u001B\u001B.\u0002(Int32 \u0002, \u0006\u0018\u001B \u0008)

at \u0008\u001B\u001B.\u0002(Int32 \u0002, \u0006\u0018\u001B \u0008)

8. .xls file


at \u000E\u0018\u0003.\u0006\u0017\u001A\u0003\u0016\u0002(ContainerItem \u0002)

at GroupDocs.Parser.Data.ContainerItem.OpenParser(LoadOptions loadOptions, ParserSettings parserSettings)

at GroupDocs.Parser.Data.ContainerItem.OpenParser(LoadOptions loadOptions)

at \u0006\u0019\u0002..ctor(\u0002\u0005\u001B \u0002, \u0008\u0017\u0002 \u0008, FileFormat \u0005, \u0005\u000F\u0002 \u0006, ContainerItem \u0003, String \u000E)

at \u000E\u0005\u0002.\u0006\u0018\u001B\u0003\u0016\u0002(\u0002\u0005\u001B \u0002, \u0008\u0017\u0002 \u0008, String \u0005)

at \u0008\u001B\u001B.\u0002(Int32 \u0002, \u0006\u0018\u001B \u0008)

at \u0008\u001B\u001B.\u0002(Document \u0002, \u0003\u0018\u001B \u0008, String \u0005)

9. .xlsm file


at \u000E\u0018\u0003.\u0006\u0017\u001A\u0003\u0016\u0002(ContainerItem \u0002)

at GroupDocs.Parser.Data.ContainerItem.OpenParser(LoadOptions loadOptions, ParserSettings parserSettings)

at GroupDocs.Parser.Data.ContainerItem.OpenParser(LoadOptions loadOptions)

at \u0006\u0019\u0002..ctor(\u0002\u0005\u001B \u0002, \u0008\u0017\u0002 \u0008, FileFormat \u0005, \u0005\u000F\u0002 \u0006, ContainerItem \u0003, String \u000E)

at \u000E\u0005\u0002.\u0006\u0018\u001B\u0003\u0016\u0002(\u0002\u0005\u001B \u0002, \u0008\u0017\u0002 \u0008, String \u0005)

at \u0008\u001B\u001B.\u0002(Int32 \u0002, \u0006\u0018\u001B \u0008)

at \u0008\u001B\u001B.\u0002(Document \u0002, \u0003\u0018\u001B \u0008, String \u0005)

Hi @jamsharp!

Could you please share the specific files that trigger these errors so we can investigate and reproduce the issue on our side?

We have tested many different file formats, but it appears there may be some edge cases causing this behavior. Having access to the affected files would greatly help us identify and resolve the problem.

I appreciate your cooperation!

I understand that it would be easier when we provide the files, but we got the exceptions from customers of us, and it might be hard to convince them to send us the files (which could contains sensitive information) and allow us to forward them to you.

@jamsharp
that makes sense

but without these files we even can not find out the root cause of the issue.

Can you please try to ask customer(s) for some option to share these documents?

Also to help us a little bit more - do you know some facts about these user cases?

  • Are you sure that all these files are valid and not corrupted? From what I see most of these stack traces lead to the initial load procedure of each file. So at this moment my only assumption that these files were corrupted if there are so many unexpected Null-Reference-Exception errors
  • Any information about how big these files are, how many pages
  • What kind of data is in the files (like text, some images, diagrams, some embedded objects etc)
  • Whatever information you have it will be very useful

Thank you!