Fallo de segmentación en AWS Lambda

This article was translated from English: Does it need improvement?
Translated
View the article in English

Al usar AWS Lambda en un contenedor Linux y llamar al método render de manera concurrente muchas veces, a veces provoca la siguiente excepción.


Excepción:

Error: El tiempo de ejecución terminó con error: señal: error de segmentación Runtime.ExitError

Soluciones

La solución es llamar al método GC.Collect después de que se haya renderizado el documento PDF. No hemos encontrado este problema en ninguna otra plataforma en la nube. Esto solo comenzó a suceder en la versión reciente; el antiguo con .NET 6 usando Amazon Linux 2 todavía funciona.

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument document = renderer.RenderHtmlAsPdf(htmlString);

GC.Collect();
ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument document = renderer.RenderHtmlAsPdf(htmlString);

GC.Collect();
Dim renderer As New ChromePdfRenderer()

Dim document As PdfDocument = renderer.RenderHtmlAsPdf(htmlString)

GC.Collect()
VB   C#