xiand.ai
21 abr 2026 · Actualizado 15:38 UTC
Tecnología

Un desarrollador identifica un error de hace 20 años que provoca bloqueos en Enlightenment E16

Un fallo de software en el gestor de ventanas Enlightenment E16, presente desde 2006, ha sido rastreado hasta una implementación defectuosa del algoritmo de Newton.

Alex Chen

2 min de lectura

Un desarrollador identifica un error de hace 20 años que provoca bloqueos en Enlightenment E16
Close up of software code on a monitor

Un error persistente en el gestor de ventanas Enlightenment E1-six (E16), que ha formado parte del código desde 2006, ha sido finalmente identificado por la desarrolladora Kamila Szewczyk.

Según un informe técnico de iczelia.net, el problema provocaba el bloqueo completo del escritorio al abrir ciertos archivos.

Szewczyk, quien utiliza este gestor de ventanas de la era de 1997 de forma diaria, descubrió el fallo mientras preparaba material para una clase. El bloqueo ocurría específicamente al abrir un archivo PDF en el visor de documentos Atril.

Mediante el uso de herramientas de depuración, la desarrolladora descubrió que el sistema no estaba en un estado de interbloqueo (deadlock), sino atrapado en un bucle infinito. El proceso se encontraba en una oscilación de dos estados dentro de las funciones de medición de fuentes de la biblioteca Imlib2.

Un error matemático

La causa raíz del bloqueo se rastreó hasta el bucle de truncado de puntos suspensivos intermedios, que intenta ajustar títulos de ventana largos en un ancho de píxeles limitado. La desarrolladora descubrió que el error de lógica provenía de una implementación defectuosa del algoritmo de Newton.

"El error era un fallo crítico y poco común que data de 2006 en el código fuente", escribió Szewczyk, señalando que el problema aparecía cuando el título de la ventana era demasiado largo para la decoración de la misma.

Aunque la mayoría de los usuarios han migrado a versiones más recientes del escritorio Enlightenment, una comunidad dedicada de entusiastas sigue utilizando la versión E16 por su alto rendimiento y su gran capacidad de personalización.

La solución identificada corrige la lógica dentro de la función TextstateTextFitMB, evitando así el bucle infinito que anteriormente paralizaba la sesión de X11.

Comentarios