Solución de problemas de SEHException y compatibilidad con AVX en IronOCR

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

Excepción no controlada: System.Runtime.InteropServices.SEHException

File G7IUWBgksH related to Solución de problemas de SEHException y compatibilidad con AVX en IronOCR

Este problema se encuentra comúnmente en máquinas que usan procesadores Xeon, Celeron, Pentium o Atom más antiguos que carecen de soporte AVX.

El soporte para procesadores no AVX se añadió en la versión IronOCR 2022.8.7804, así que actualice a una versión más reciente.

// Example: Checking AVX support programmatically in C#
using System;

class ProcessorFeatures
{
    // Main method to check AVX support
    static void Main()
    {
        // Check if the machine's processor supports AVX
        if (IsAvxSupported())
        {
            Console.WriteLine("AVX is supported.");
        }
        else
        {
            Console.WriteLine("AVX is not supported. Consider updating IronOcr to the latest version that supports non-AVX processors.");
        }
    }

    // Function to determine if AVX is supported
    static bool IsAvxSupported()
    {
        return System.Runtime.Intrinsics.X86.Avx.IsSupported;
    }
}
// Example: Checking AVX support programmatically in C#
using System;

class ProcessorFeatures
{
    // Main method to check AVX support
    static void Main()
    {
        // Check if the machine's processor supports AVX
        if (IsAvxSupported())
        {
            Console.WriteLine("AVX is supported.");
        }
        else
        {
            Console.WriteLine("AVX is not supported. Consider updating IronOcr to the latest version that supports non-AVX processors.");
        }
    }

    // Function to determine if AVX is supported
    static bool IsAvxSupported()
    {
        return System.Runtime.Intrinsics.X86.Avx.IsSupported;
    }
}
' Example: Checking AVX support programmatically in C#
Imports System

Friend Class ProcessorFeatures
	' Main method to check AVX support
	Shared Sub Main()
		' Check if the machine's processor supports AVX
		If IsAvxSupported() Then
			Console.WriteLine("AVX is supported.")
		Else
			Console.WriteLine("AVX is not supported. Consider updating IronOcr to the latest version that supports non-AVX processors.")
		End If
	End Sub

	' Function to determine if AVX is supported
	Private Shared Function IsAvxSupported() As Boolean
		Return System.Runtime.Intrinsics.X86.Avx.IsSupported
	End Function
End Class
$vbLabelText   $csharpLabel

En este ejemplo de código, utilizamos la propiedad System.Runtime.Intrinsics.X86.Avx.IsSupported para determinar si el procesador admite instrucciones AVX. Si AVX no es soportado, es aconsejable asegurarse de que está utilizando una versión de IronOCR que incluya soporte para procesadores no AVX.

Relevancia para empresas españolas: infraestructura heredada y cumplimiento LOPDGDD

Este problema es especialmente relevante para empresas españolas que operan con hardware heredado —servidores con procesadores Xeon de generación antigua o terminales industriales con Celeron— en pipelines OCR que procesan documentos sujetos a la LOPDGDD (Ley Orgánica de Protección de Datos y Garantía de Derechos Digitales).

En muchas pymes y organismos de la Administración española, los sistemas de digitalización de documentos de identidad (DNI, NIE, TIE), albaranes con NIF de proveedores o facturas para el SII de la AEAT se ejecutan sobre hardware de varios años de antigüedad. El error SEHException en estos entornos puede interrumpir pipelines de cumplimiento críticos.

Pasos recomendados para entornos españoles:

  1. Ejecuta la comprobación de soporte AVX del ejemplo de código antes de actualizar IronOCR en producción.
  2. Si el hardware no soporta AVX, actualiza IronOCR a la versión 2022.8.7804 o posterior para restablecer el funcionamiento del pipeline sin reemplazar el hardware.
  3. Para sistemas del sector público bajo el ENS (Esquema Nacional de Seguridad), documenta el cambio de versión en el registro de configuración del sistema de información, ya que los cambios en componentes de software deben ser trazables bajo los controles del ENS.
  4. Si el pipeline procesa documentos con datos personales (DNI, nóminas, contratos), registra el incidente en el log de actividades de tratamiento de la AEPD indicando que la causa fue un problema de compatibilidad de hardware resuelto sin impacto en los datos tratados.

Preguntas Frecuentes

¿IronOCR funciona en servidores Xeon antiguos sin AVX usados para procesar documentos bajo LOPDGDD?

Sí. Actualizando IronOCR a la versión 2022.8.7804 o posterior, se restaura el soporte para procesadores sin AVX, permitiendo continuar el procesamiento on-premise de documentos con datos personales bajo LOPDGDD sin reemplazar el hardware.

¿Debo notificar a la AEPD si el SEHException interrumpió el pipeline de procesamiento de DNI?

No es una brecha de datos, por lo que no requiere notificación a la AEPD como tal. Sin embargo, es recomendable registrar el incidente en el log de actividades de tratamiento indicando la causa técnica, el período de interrupción y las medidas correctoras adoptadas.

¿Cómo debo documentar la actualización de IronOCR bajo el ENS en un organismo público?

Documenta el cambio de versión en el registro de configuración del sistema de información del ENS, indicando la versión anterior, la nueva, la razón del cambio (incompatibilidad AVX) y la verificación de que no se vio afectada la seguridad de los datos tratados.

¿Cómo verifico programáticamente si mi hardware soporta AVX en C#?

Utiliza la propiedad System.Runtime.Intrinsics.X86.Avx.IsSupported en tu código C#. Si devuelve false, actualiza IronOCR a la versión 2022.8.7804 o posterior.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 5,896,332 | Versión: 2026.5 just released
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package IronOcr
ejecuta una muestra y observa cómo tu imagen se convierte en texto buscable.