ArthurHub / ArthurHub/HTML-Renderer
Object reference not set to an instance of an object
- 主要语言
- C#
- 星标
- 1.4k
- 派生
- 550
- 平均合并
- 14 天 9 小时
- 30 天内合并 PR
- 1
描述
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`
贡献指南
这个仓库没有索引到贡献指南
调研方向
从 Source/HtmlRenderer/Core/Parse/RegexParserUtils.cs 的第 166 行和第 192 行开始,然后跟踪从 CssParser.cs 第 536 行经过 RAdapter.cs 第 88 行到 PdfGenerator.cs 第 119 行的调用。尝试使用 issue 中的版本重现间歇性 GeneratePdf 失败,并检查 CSS/字体解析路径。完成的标准是确定触发该问题的输入或条件,并记录一个经过验证的修复;如果 repository 中有适用的测试位置,还应添加回归测试。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- csharp
- 领域
- backend
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 35/100