We are encountering a critical issue with the GDI+ initialization when running our .NET 8 application on an AWS EC2 instance. The error occurs during the PDF generation process using Aspose.Pdf, leading to the following exception:
The type initializer for ‘Gdip’ threw an exception.
- Error Message:
The type initializer for 'Gdip' threw an exception.
- Stack Trace:
he type initializer for ‘Gdip’ threw an exception.
2025-04-07 06:31:24.819 +00:00 [Error] (LEDS Estimation API/ip-172-31-39-131/86/6ae8f5bf-c26f-4995-b829-9f696e381102) ConvertHtmlToDocument failed: at System.Drawing.SafeNativeMethods.Gdip.GdipCreateMatrix(IntPtr& matrix)
at System.Drawing.Drawing2D.Matrix…ctor()
at #=ziSngMXlzYEjZztOfH55jQ$pDGTbW…ctor()
at #=zxrx6mXYFi6lGH1ksl5BWE7qJAPelWSBqOw==.#=z5vv2eRg=()
at #=zxa7f250UYGnQMsNUfgVRB0KvZPmkIRGaGQ==.#=zUmndvuw=(#=zql3uijREUCOY_cbLcJOKdOHhMdJTmXAnFy$cEVG0XkLI #=zHfwSbto=, #=z2l92$G90AtELpohZHICJ3eSvtchG #=z06lErqdwtCes)
at #=zTZMGGM3ER5Is$6zhZ3E8wIGmUsZbrvR17A==.#=ztWfHSyEthbeBRjwwOQaYwsc=(#=zSuufaJbKb6pUWiwYbg== #=zZf_9YNFKwGirC0Dc5Q==, #=zAImN20f3KnQSF0UiSNe456$7M4EaUCkSCNYWCc4= #=zOG1ixvg=)
at #=zTZMGGM3ER5Is$6zhZ3E8wIGmUsZbrvR17A==.#=zUA2oNdXUyNrL4$Yd$jfDpqM=.#=za1xyZ7fC$$4rDFVhpG5IrbGiSgja(#=zSuufaJbKb6pUWiwYbg== #=z3Ijji68=)
at System.Linq.Enumerable.SelectManySingleSelectorIterator2.MoveNext()
at System.Linq.Enumerable.ConcatIterator1.MoveNext()
at System.Linq.Enumerable.SelectManySingleSelectorIterator2.MoveNext()
at System.Linq.Enumerable.SelectEnumerableIterator2.MoveNext()
at #=z_GtzzFEH5z3rm3KzuKsHXXy4vGAqLYMTMQ==.#=zkahleSb8pPiz[T](IEnumerable1 #=zeLBTg_I=)
at #=zWPVAg5MxL6i5fklTYtStu16w8jqAxvUdDzRGiFA=.#=zpydDGd8vs2UT1P7YsMRBGmM=.#=zr9suhgVG55rycroaZg==(#=zrKDKmPKQnDk_CWsb8y2zwbY= #=z0fsEDUg=, Int32 #=zOYuW$IA=, Int32 #=zj0vqGJ0=, Int32 #=zyoo9SR8=)
at #=zWPVAg5MxL6i5fklTYtStu16w8jqAxvUdDzRGiFA=.#=z2O0i6cR87q7T(#=zTZMGGM3ER5Is$6zhZ3E8wIGmUsZbrvR17A== #=zF0eE$s4=, #=zAImN20f3KnQSF0UiSNe456$7M4EaUCkSCNYWCc4= #=zOG1ixvg=, #=zSuufaJbKb6pUWiwYbg==[] #=z$2IVXcJ9cb9KW3sp$A==, #=zfMK52zsC6TEzXKyyFIQ73AMjo0ZK #=z9Wjj6qz3TTwWVAaDaQ==)
at #=zWPVAg5MxL6i5fklTYtStu16w8jqAxvUdDzRGiFA=.#=zR2RFzys0Esa6(#=zcXL$V3NJlcRFmlIGCcwSE1Q= #=zV9xjgWo=, #=zfMK52zsC6TEzXKyyFIQ73AMjo0ZK #=z9Wjj6qz3TTwWVAaDaQ==, #=zEUJ7GQ5UOZkWP91uhZec$qiUg1bB #=zE6OfZb4=, #=zpiHLIxpqBRKFCT0sy9uCNT82cDfb #=zdg3BzBw=, #=zz7fRHWmQl9I0Nh3svnOqLbHRD7SKMwkGABCBA5eEAzx0 #=zePa2PnvDcZEWecKoNDVPrmo=, #=zUHGeg09jFaNtrGGSKvX0C90= #=zZsKt7MkYakKYiComHw==)
at #=zWPVAg5MxL6i5fklTYtStu16w8jqAxvUdDzRGiFA=.#=zgPSknVA=(#=zEUJ7GQ5UOZkWP91uhZec$qiUg1bB #=zE6OfZb4=, #=zpiHLIxpqBRKFCT0sy9uCNT82cDfb #=zdg3BzBw=)
at #=zpiHLIxpqBRKFCT0sy9uCNT82cDfb.#=zgPSknVA=(#=zEUJ7GQ5UOZkWP91uhZec$qiUg1bB #=zE6OfZb4=)
at #=zyWtrfY76arFQ4DTvFf9XzLB$ajhG_hzVvA==.#=z_laNdSY=()
at #=zyWtrfY76arFQ4DTvFf9XzLB$ajhG_hzVvA==.#=z2CaWGfY=()
at #=z$qLfyndBJYpplXFqCHROYWX9cCEe.#=zbIh4dSLUoRXB(#=z3xqlzk2HioLKqSAhXXTD9jg= #=zVHf_$aWgWqw3Gr6how==, #=zpiHLIxpqBRKFCT0sy9uCNT82cDfb[] #=zZjQgKssWzZIt, #=zEUJ7GQ5UOZkWP91uhZec$qiUg1bB #=zE6OfZb4=, CancellationToken #=zDz9yaVA=)
at #=z_sXxMYMtmqXR38q9py0loYoSwotP.Render(#=zEUJ7GQ5UOZkWP91uhZec$qiUg1bB #=zE6OfZb4=, CancellationToken #=zDz9yaVA=, #=zEKXlJtERhxPtTZeOxyVQLsU=[] #=zfQ66hNM=, #=zcXL$V3NJlcRFmlIGCcwSE1Q=[] #=zACL62yw=)
at #=z_sXxMYMtmqXR38q9py0loYoSwotP.Render(#=zEUJ7GQ5UOZkWP91uhZec$qiUg1bB #=zE6OfZb4=, TimeSpan #=zc$rxGFg=, #=z8qr4Qy6391bY4Irnx3GXz3s=[] #=zVZY54Uc=)
at #=zRc4qYUEH6FlGe16bN$PHi3HbldQv.Render(#=zEUJ7GQ5UOZkWP91uhZec$qiUg1bB #=zE6OfZb4=, #=zcqMlkB8= #=z1j8m0bM=, TimeSpan #=zc$rxGFg=)
at #=zRc4qYUEH6FlGe16bN$PHi3HbldQv.Render(#=zEUJ7GQ5UOZkWP91uhZec$qiUg1bB #=zE6OfZb4=, #=zcqMlkB8= #=z1j8m0bM=)
at #=zPbo15JJhYKpIvIi0OX7zlglzgIOE.#=zdng0lg5py6WD(Stream #=zsYiN2davVNR4, Document #=zfsjYQ8Bgh2tL, HtmlLoadOptions #=zytWATi77jkCH, String #=zlbAqzNkoNMVQ)
at #=zPbo15JJhYKpIvIi0OX7zlglzgIOE.#=zAZEjkXc=(Stream #=zsYiN2davVNR4, Document #=zfsjYQ8Bgh2tL, HtmlLoadOptions #=zytWATi77jkCH, String #=zlbAqzNkoNMVQ)
at #=zPbo15JJhYKpIvIi0OX7zlglzgIOE.#=zAZEjkXc=(Stream #=zsYiN2davVNR4, Document #=zfsjYQ8Bgh2tL, HtmlLoadOptions #=zytWATi77jkCH)
at Aspose.Pdf.Document.#=z$mUASwE=(Stream #=zXstK03A=, LoadOptions #=zBErtcz0=, Boolean #=zXk0OR$GvdIGd)
at Aspose.Pdf.Document.#=z$mUASwE=(Stream #=zXstK03A=, LoadOptions #=zBErtcz0=)
at Aspose.Pdf.Document…ctor(Stream input, LoadOptions options)
at LEDS.Estimation.Application.Requests.ProposalTemplate.GenerateProposal1CommandHandler.ConvertHtmlToDocument(String htmlContent, HtmlLoadOptions htmlOptions) in /src/src/LEDS.Estimation.Application/Requests/ProposalTemplate/GenerateProposal1Command.cs:line 323
2025-04-07 06:31:24.820 +00:00 [Information] (LEDS Estimation API/ip-172-31-39-131/86/6ae8f5bf-c26f-4995-b829-9f696e381102) GenerateProposal1Command:Exception Entering Command.The type initializer for ‘Gdip’ threw an exception.
2025-04-07 06:31:24.820 +00:00 [Error] (LEDS Estimation API/ip-172-31-39-131/86/6ae8f5bf-c26f-4995-b829-9f696e381102) The type initializer for ‘Gdip’ threw an exception. - Environment:
- OS: Linux (EC2 instance, Amazon Linux 2 )
- .NET Version: .NET 8
- Library: Aspose.Pdf