ArthurHub / ArthurHub/HTML-Renderer

Object reference not set to an instance of an object

未關閉
#123 1 則留言 1 個 reaction 已指派 0 人 在 GitHub 檢視
bug PDF
主要語言
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

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。