IRONSOFTWAREHOME

Błąd segmentacji w AWS Lambda

Curtis Chau
Curtis Chau
Updated: 29 czerwca 2026

Podczas korzystania z AWS Lambda w kontenerze Linux i wielokrotnego wywoływania metody renderowania jednocześnie, czasami powoduje to następujący wyjątek.

Wyjątek:
Błąd: Środowisko uruchomieniowe zakończyło działanie z błędem: sygnał: błąd segmentacji Runtime.ExitError
Text

Rozwiązania

Rozwiązaniem jest wywołanie metody GC.Collect po wyrenderowaniu dokumentu PDF. Ten problem zostal zglaszony na Amazon Linux 2023 z najnowszymi wersjami IronPDF; wczesniejsze wdrozenia korzystajace z .NET 6 i Amazon Linux 2 nie sa dotkniete.

// 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();

Renderowanie wieloprocesowe i bledy wstring_convert::from_bytes

Jeśli GC.Collect() nie rozwiązuje problemu, pierwotną przyczyną może być renderowanie wieloprocesowe lub ponowne użycie globalnego ChromePdfRenderer w ramach pojemnika Lambda. Powoduje to albo blad segmentacji, albo wyjatek C++:

Process runtime-1 exited: signal: segmentation fault
Error while generating PDF from HTML: 'wstring_convert::from_bytes'
Text

Te bledy sa sporadyczne i moga pojawic sie dopiero po pierwszym lub drugim wywolaniu kontenera Lambda.

Rozwiązanie

Ustaw Installation.SingleProcess = true, przekieruj ścieżki do /tmp i stwórz nowy ChromePdfRenderer dla każdej operacji wywołania:

IronPdf.Installation.SingleProcess = true;
IronPdf.Installation.TempFolderPath = "/tmp";

var renderer = new ChromePdfRenderer();
var pdf = await renderer.RenderHtmlAsPdfAsync(htmlString);

Nie wywołuj Installation.Initialize() i nie przechowuj ChromePdfRenderer jako statyczną lub polową instancję. Trwaly renderer przenosi nieaktualny stan pamieci do kolejnych wywolan Lambda i powoduje awarie.

// Avoid: global renderer reuse
private readonly ChromePdfRenderer _renderer = new();

// Avoid: calling Initialize()
Installation.Initialize();
Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Gotowy, aby rozpocząć?

Nuget Downloads 20,667,543Wersja:2026.7właśnie wydany

Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta
Biblioteka C# NuGet dla plików PDF
Zainstaluj za pomocą NuGet

Wersja: 2026.7

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. W Eksploratorze Rozwiązań, kliknij prawym przyciskiem Myszy na Odwołania, Zarządzaj pakietami NuGet
  2. Wybierz opcję Przeglądaj i wyszukaj „IronPdf”
  3. Wybierz pakiet i zainstaluj
DLL PDF dla C#
Pobierz DLL

Wersja: 2026.7

Pobierz teraz

lub pobierz instalator Windows tutaj.

  1. Pobierz i rozpakuj IronPDF do lokalizacji takiej jak ~/Libs w katalogu Solution
  2. W Eksploratorze rozwiązań programu Visual Studio kliknij prawym przyciskiem myszy opcję Odwołania. Wybierz opcję Przeglądaj, „IronPdf.dll”

Licencje od 749 USD

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta