GPU Process Issues in IronPDF: Solutions

[0110/094441.173:ERROR:network_service_instance_impl.cc(521)] Network service crashed, restarting service.
[0110/094442.261:ERROR:gpu_process_host.cc(990)] GPU process exited unexpectedly: exit_code=255
[0110/094442.261:WARNING:gpu_process_host.cc(1337)] The GPU process has crashed 3 time(s)
[0110/094442.261:FATAL:gpu_data_manager_impl_private.cc(440)] GPU process isn't usable. Goodbye.

If you're seeing an error similar to the one above while using IronPDF, especially when deploying on Azure, you're not alone. This error is known to crash the application and is usually related to the IronCefSubprocess.exe located in the runtimes folder, which is a crucial component of IronPDF.

Possible causes

Several factors can lead to this GPU process error. Below are some of the most frequent causes:

  1. Missing Execute Permissions for IronCefSubprocess

    The IronCefSubprocess.exe must have execute permissions for IronPDF to initialize the ChromePdfRenderer class properly.

  2. Incorrect Azure Deployment Steps

    Deployment processes for IronPDF differ between Linux and Windows in Azure. Following the wrong steps can trigger this error.

  3. Missing DLL Dependencies

    IronCefSubprocess.exe requires certain DLL files to run properly. Missing DLLs, particularly in non-Windows environments, can cause the process to fail.

Solution

Local Environment

If you're encountering this error locally, try the following steps:

  1. Disable GPU Mode

    Add the following line to your code to disable GPU mode for IronPDF:

    // Disables GPU mode to prevent issues with GPU process crashes
    IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
    // Disables GPU mode to prevent issues with GPU process crashes
    IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
    ' Disables GPU mode to prevent issues with GPU process crashes
    IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled
    $vbLabelText   $csharpLabel
  2. Grant Execute Permissions

    Ensure that IronCefSubprocess.exe has execute permissions. For Linux systems, use the following command:

    # Grants execute permissions to IronCefSubprocess.exe
    chmod 755 IronCefSubprocess 
    # You may need to specify an exact path
    # IronCefSubprocess is typically found at bin/runtimes/linux-x64/
    # chmod 755 /bin/runtimes/linux-x64/native/IronCefSubprocess
    # In some cases you may need to use chmod 777 for broader permissions.
    # Grants execute permissions to IronCefSubprocess.exe
    chmod 755 IronCefSubprocess 
    # You may need to specify an exact path
    # IronCefSubprocess is typically found at bin/runtimes/linux-x64/
    # chmod 755 /bin/runtimes/linux-x64/native/IronCefSubprocess
    # In some cases you may need to use chmod 777 for broader permissions.
    SHELL
  3. Check for Missing DLLs

    If the above steps do not resolve the issue, manually execute IronCefSubprocess.exe to check for missing DLLs. The system will display an error box identifying the missing DLL. Install the required DLL and rerun the application.

Azure Deployment

If the error occurs after deploying your app to Azure, follow these steps:

  1. Use ZipDeploy

    Deploy your application using ZipDeploy to ensure all files are correctly packaged.

  2. Uncheck Run From Package File

    Ensure that the Run From Package File option is unchecked during deployment.

  3. Containerize for Linux

    If your application targets a Linux environment, consider containerizing it using Docker before deploying it to Azure. Refer to the Docker Setup Guide for detailed instructions.

  4. Enable Single Process Mode

    Add the following code to force IronPDF to run in single-process mode:

    // Forces IronPDF to run in single-process mode to improve stability on Azure
    IronPdf.Installation.SingleProcess = true;
    // Forces IronPDF to run in single-process mode to improve stability on Azure
    IronPdf.Installation.SingleProcess = true;
    ' Forces IronPDF to run in single-process mode to improve stability on Azure
    IronPdf.Installation.SingleProcess = True
    $vbLabelText   $csharpLabel

If none of the above solutions resolve the issue, please submit an Engineering Request for personalized help.

Chaknith Bin
Software Engineer
Chaknith works on IronXL and IronBarcode. He has deep expertise in C# and .NET, helping improve the software and support customers. His insights from user interactions contribute to better products, documentation, and overall experience.