Falha de segmentação no AWS Lambda
Ao usar o AWS Lambda em um contêiner Linux e chamar o método render várias vezes simultaneamente, às vezes ocorre a seguinte exceção.
Exceção:
Erro: O ambiente de execução foi encerrado com o seguinte erro: sinal: falha de segmentação Runtime.ExitError
Soluções
A solução é chamar o método GC.Collect após o documento PDF ser renderizado. Não encontramos esse problema em nenhuma outra plataforma de nuvem. Isso só começou a acontecer na versão mais recente; A versão antiga com .NET 6 usando Amazon Linux 2 ainda está funcionando.
// Create an instance of ChromePdfRenderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render the HTML string to a PDF document
PdfDocument document = renderer.RenderHtmlAsPdf(htmlString);
// Explicitly trigger garbage collection to help manage memory usage
GC.Collect();
// Create an instance of ChromePdfRenderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render the HTML string to a PDF document
PdfDocument document = renderer.RenderHtmlAsPdf(htmlString);
// Explicitly trigger garbage collection to help manage memory usage
GC.Collect();
' Create an instance of ChromePdfRenderer
Dim renderer As New ChromePdfRenderer()
' Render the HTML string to a PDF document
Dim document As PdfDocument = renderer.RenderHtmlAsPdf(htmlString)
' Explicitly trigger garbage collection to help manage memory usage
GC.Collect()

