Skip to content

Failed to open a document due to an incorrect log string format #290

@Volkmire

Description

@Volkmire

When trying to open a pdf an exception is being thrown.

Versions affected 6.2.0+ (6.1.1 works fine).

Expected Behavior

No errors occurring

Actual Behavior

System.FormatException is thrown with message: "Input string was not in a correct format. Failure to parse near offset 50. Unexpected closing brace without a corresponding opening brace.".

The reason - a botched error log template here at PdfSharp.Pdf.PdfObjectID..ctor(Int32 objectNumber, Int32 generationNumber) in D:\THHO\Repos\PDFsharp\src\foundation\src\PDFsharp\src\PdfSharp\Pdf\PdfObjectID.cs:line 53

Stack trace:

   at System.Text.CompositeFormat.Parse(String format)
   at Microsoft.Extensions.Logging.LogValuesFormatter..ctor(String format)
   at Microsoft.Extensions.Logging.FormattedLogValues.<>c.<.ctor>b__9_0(String f)
   at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
   at Microsoft.Extensions.Logging.FormattedLogValues..ctor(String format, Object[] values)
   at Microsoft.Extensions.Logging.LoggerExtensions.Log(ILogger logger, LogLevel logLevel, EventId eventId, Exception exception, String message, Object[] args)
   at Microsoft.Extensions.Logging.LoggerExtensions.Log(ILogger logger, LogLevel logLevel, String message, Object[] args)
   at Microsoft.Extensions.Logging.LoggerExtensions.LogError(ILogger logger, String message, Object[] args)
   at PdfSharp.Pdf.PdfObjectID..ctor(Int32 objectNumber, Int32 generationNumber) in D:\THHO\Repos\PDFsharp\src\foundation\src\PDFsharp\src\PdfSharp\Pdf\PdfObjectID.cs:line 53
   at PdfSharp.Pdf.IO.Parser.ReadXRefTableAndTrailer(PdfCrossReferenceTable xrefTable) in D:\THHO\Repos\PDFsharp\src\foundation\src\PDFsharp\src\PdfSharp\Pdf.IO\Parser.cs:line 1467
   at PdfSharp.Pdf.IO.Parser.ReadTrailer() in D:\THHO\Repos\PDFsharp\src\foundation\src\PDFsharp\src\PdfSharp\Pdf.IO\Parser.cs:line 1383
   at PdfSharp.Pdf.IO.PdfReader.OpenFromStream(Stream stream, String password, PdfDocumentOpenMode openMode, PdfPasswordProvider passwordProvider, PdfReaderOptions options) in D:\THHO\Repos\PDFsharp\src\foundation\src\PDFsharp\src\PdfSharp\Pdf.IO\PdfReader.cs:line 316
   at PdfSharp.Pdf.IO.PdfReader.Open(Stream stream, String password, PdfDocumentOpenMode openMode, PdfPasswordProvider passwordProvider, PdfReaderOptions options) in D:\THHO\Repos\PDFsharp\src\foundation\src\PDFsharp\src\PdfSharp\Pdf.IO\PdfReader.cs:line 238
   at PdfSharp.Pdf.IO.PdfReader.Open(Stream stream, PdfDocumentOpenMode openMode, PdfReaderOptions options) in D:\THHO\Repos\PDFsharp\src\foundation\src\PDFsharp\src\PdfSharp\Pdf.IO\PdfReader.cs:line 215
   at PdfSharp.Pdf.IO.PdfReader.Open(Stream stream) in D:\THHO\Repos\PDFsharp\src\foundation\src\PDFsharp\src\PdfSharp\Pdf.IO\PdfReader.cs:line 209

Steps to Reproduce the Behavior

using var originalStream = File.OpenRead(@"/some/path"); // see a link to a pdf in description
using var pdf = PdfReader.Open(originalStream);

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions