ArthurHub / ArthurHub/HTML-Renderer

Object reference not set to an instance of an object

Aberta
#123 1 comentário 1 reação 0 responsáveis Ver no GitHub
bug PDF
Linguagem predominante
C#
Estrelas
1.4k
Forks
550
Merge médio
14d 9h
PRs com merge (30d)
1

Descrição

Sometimes when calling:

TheArtOfDev.HtmlRenderer.PdfSharp.PdfGenerator.GeneratePdf

I get this exception:

at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at TheArtOfDev.HtmlRenderer.Core.Parse.RegexParserUtils.GetRegex(String regex) in d:\source\github\HTML-Renderer\Source\HtmlRenderer\Core\Parse\RegexParserUtils.cs:line 192
at TheArtOfDev.HtmlRenderer.Core.Parse.RegexParserUtils.Search(String regex, String source, Int32& position) in d:\source\github\HTML-Renderer\Source\HtmlRenderer\Core\Parse\RegexParserUtils.cs:line 166
at TheArtOfDev.HtmlRenderer.Core.Parse.CssParser.ParseFontProperty(String propValue, Dictionary`2 properties) in d:\source\github\HTML-Renderer\Source\HtmlRenderer\Core\Parse\CssParser.cs:line 536
at TheArtOfDev.HtmlRenderer.Core.Parse.CssParser.AddProperty(String propName, String propValue, Dictionary`2 properties) in d:\source\github\HTML-Renderer\Source\HtmlRenderer\Core\Parse\CssParser.cs:line 444
at TheArtOfDev.HtmlRenderer.Core.Parse.CssParser.ParseCssBlockProperties(String blockSource) in d:\source\github\HTML-Renderer\Source\HtmlRenderer\Core\Parse\CssParser.cs:line 414
at TheArtOfDev.HtmlRenderer.Core.Parse.CssParser.ParseCssBlockImp(String className, String blockSource) in d:\source\github\HTML-Renderer\Source\HtmlRenderer\Core\Parse\CssParser.cs:line 323
at TheArtOfDev.HtmlRenderer.Core.Parse.CssParser.FeedStyleBlock(CssData cssData, String block, String media) in d:\source\github\HTML-Renderer\Source\HtmlRenderer\Core\Parse\CssParser.cs:line 291
at TheArtOfDev.HtmlRenderer.Core.Parse.CssParser.ParseStyleBlocks(CssData cssData, String stylesheet) in d:\source\github\HTML-Renderer\Source\HtmlRenderer\Core\Parse\CssParser.cs:line 215
at TheArtOfDev.HtmlRenderer.Core.Parse.CssParser.ParseStyleSheet(CssData cssData, String stylesheet) in d:\source\github\HTML-Renderer\Source\HtmlRenderer\Core\Parse\CssParser.cs:line 100
at TheArtOfDev.HtmlRenderer.Core.Parse.CssParser.ParseStyleSheet(String stylesheet, Boolean combineWithDefault) in d:\source\github\HTML-Renderer\Source\HtmlRenderer\Core\Parse\CssParser.cs:line 81
at TheArtOfDev.HtmlRenderer.Adapters.RAdapter.get_DefaultCssData() in d:\source\github\HTML-Renderer\Source\HtmlRenderer\Adapters\RAdapter.cs:line 88
at TheArtOfDev.HtmlRenderer.Core.HtmlContainerInt.SetHtml(String htmlSource, CssData baseCssData) in d:\source\github\HTML-Renderer\Source\HtmlRenderer\Core\HtmlContainerInt.cs:line 429
at TheArtOfDev.HtmlRenderer.PdfSharp.PdfGenerator.GeneratePdf(String html, PdfGenerateConfig config, CssData cssData, EventHandler`1 stylesheetLoad, EventHandler`1 imageLoad) in d:\source\github\HTML-Renderer\Source\HtmlRenderer.PdfSharp\PdfGenerator.cs:line 119
at TheArtOfDev.HtmlRenderer.PdfSharp.PdfGenerator.GeneratePdf(String html, PageSize pageSize, Int32 margin, CssData cssData, EventHandler`1 stylesheetLoad, EventHandler`1 imageLoad) in d:\source\github\HTML-Renderer\Source\HtmlRenderer.PdfSharp\PdfGenerator.cs:line 76

It's completely random, couldn't find any pattern...

Version of Core and PdfSharp used:
`1.5.0.6`

Version of PDFSharp used:
`1.32.3057.0`

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Direção de pesquisa

Comece por Source/HtmlRenderer/Core/Parse/RegexParserUtils.cs nas linhas 166 e 192 e, em seguida, rastreie as chamadas de CssParser.cs na linha 536, passando por RAdapter.cs na linha 88, até PdfGenerator.cs na linha 119. Tente reproduzir a falha intermitente de GeneratePdf usando as versões do issue e inspecione o caminho de parsing de CSS/fontes. Considera-se concluído quando a entrada ou condição que dispara o problema tiver sido identificada e uma correção verificada tiver sido documentada com um teste de regressão, caso o repositório tenha um local de testes aplicável.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
csharp
Domínio
backend
Tipo de issue
Bug
Dificuldade
3/5
Tempo estimado
1-2 dias
Status de atividade
Estagnada
Clareza
Precisa de esclarecimento
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.