Problemas del proceso GPU en IronPDF: Soluciones

This article was translated from English: Does it need improvement?
Translated
View the article in English
[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.

Si observa un error similar al anterior al utilizar IronPDF, especialmente al desplegar en Azure, no está solo. Este error se conoce por provocar el fallo de la aplicación y generalmente está relacionado con IronCefSubprocess.exe ubicado en la carpeta de runtimes, que es un componente crucial de IronPDF.

Posibles causas

Varios factores pueden provocar este error en el proceso de la GPU. A continuación se indican algunas de las causas más frecuentes:

  1. Faltan permisos de ejecución para IronCefSubprocess

    El IronCefSubprocess.exe debe tener permisos de ejecución para que IronPDF inicialice correctamente la clase ChromePdfRenderer.

  2. Pasos incorrectos para la implementación en Azure

    Los procesos de implantación de IronPDF difieren entre Linux y Windows en Azure. Seguir los pasos incorrectos puede desencadenar este error.

  3. Faltan dependencias DLL

    IronCefSubprocess.exe requiere ciertos archivos DLL para funcionar correctamente. La falta de DLL, especialmente en entornos no Windows, puede hacer que el proceso falle.

Solución

Medio ambiente local

Si te encuentras con este error localmente, prueba los siguientes pasos:

  1. Desactivar el modo GPU

    Añada la siguiente línea a su código para desactivar el modo GPU para IronPDF:

IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled
$vbLabelText   $csharpLabel
  1. Conceder Permisos de Ejecución

    Asegúrese de que IronCefSubprocess.exe tenga permisos de ejecución. Para sistemas Linux, utilice el siguiente comando:

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 .
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 .
SHELL
  1. Verificar DLLs faltantes

    Si los pasos anteriores no resuelven el problema, ejecute manualmente IronCefSubprocess.exe para verificar si faltan DLL. El sistema mostrará un cuadro de error identificando la DLL que falta. Instale la DLL necesaria y vuelva a ejecutar la aplicación.

Despliegue en Azure

Si el error se produce después de desplegar su aplicación en Azure, siga estos pasos:

  1. Usar ZipDeploy

    Despliega tu aplicación utilizando ZipDeploy para asegurarte de que todos los archivos están correctamente empaquetados.

  2. Desmarcar Ejecutar desde archivo de paquete

    Asegúrese de que la opción Run From Package File esté desmarcada durante la implementación.

  3. Contenerizar para Linux

    Si su aplicación se dirige a un entorno Linux, considere la posibilidad de contenerizarla mediante Docker antes de desplegarla en Azure. Consulte la Guía de Configuración de Docker para obtener instrucciones detalladas.

  4. Habilitar el Modo de Proceso Único

    Añada el siguiente código para forzar a IronPDF a ejecutarse en modo de proceso único:

IronPdf.Installation.SingleProcess = true;
IronPdf.Installation.SingleProcess = true;
IronPdf.Installation.SingleProcess = True
$vbLabelText   $csharpLabel

Si ninguna de las soluciones anteriores resuelve el problema, por favor envíe una Solicitud de Ingeniería para obtener ayuda personalizada.