miércoles, 20 de octubre de 2010

unknown Exception: 0x80004005

¿Alguno de vosotros ha usado el LiveCD de ReactOS? ¿sí? ¿Y habéis sacado logs de depuración? En ese caso, os habréis dado cuenta de que, al pulsar el botón de inicio, y pasar el ratón por encima de los distintos menús (no es necesario bajar ningún subnivel), el sistema nos devuelve este código de error.

Más concretamente, el error devuelto es el siguiente:

unknown Exception: 0x80004005
Context: explorer_main
Location: base/shell/explorer/utility/shellclasses.h:986
Context Trace:
- explorer_main
- WinMain()


Pero, ¿Qué clase de error desconocido es ese? ¿Es realmente un error? Mejor dicho, ¿es realmente una excepción? y en caso de serlo, ¿por qué la ejecución de ReactOS continúa normalmente, sin saltar el depurador del núcleo?


Software propietario y piratería.


Hay que recordar que Windows es un sistema operativo comercial, creado por personal que dedica su esfuerzo y tiempo para tratar de hacer la vida más fácil a los usuarios de ordenador. Estos programadores, no trabajan gratis. Con este trabajo sustentan sus familias, compran sus caprichos... ganan su sueldo, en definitiva. Lo cual es la base de cualquier empleado, de cualquier compañía, y de cualquier sector.


De ahí que la piratería de software pueda implicar perjuicio para estos empleados. Su producto (Windows, en este caso), en lugar de ser vendido millones de veces, y generar ingresos ingentes, podría ser vendido una única vez, y copiado millones de veces. Y los programadores que tanto esfuerzo y tiempo han invertido en el desarrollo, no verían su esfuerzo recompensado.


Claves de activación.

La forma más común de evitar ésto siempre ha sido la de incluir claves de activacion en el software. Winzip, WinRAR, Nero, Winamp, y, por supuesto, Windows, son un ejemplo. En el caso de Windows, el sistema se valida de vez en cuando a si mismo, e incluso, en actualizaciones aleatorias, el sistema de generado de claves puede cambiar, para así interferir en el funcionamiento de los llamados KeyGens (generadores de claves), o de otras herramientas que puedan intentar engañar al sistema de validación del sistema.


Pues bien, si buscamos dicha expeción en el sitio MSDN de Microsoft, encontramos lo siguiente:



Código de error 0x80004005
Este problema puede ocurrir si falta un archivo necesario para la Activación de productos de Windows (WPA) o si está dañado. Este comportamiento tiene lugar si se cumple alguna de las dos condiciones siguientes:


  • Una utilidad de copia de seguridad o un programa antivirus de otro fabricante interfiere con la instalación de Windows XP.

  • Un archivo que WPA requiere se modifica manualmente.


(Extraído de http://support.microsoft.com/kb/914232/es )

Desde luego, el LiveCD de ReactOS no trae actualmente programas de copia de seguridad incorporados, y mucho menos ningún antivirus activo. Luego la única opción posible es la modificación de algún archivo que requiera WPA. Y esto sí tiene bastante sentido.


Porque ReactOS no es software propietario, sino libre. Y, por supuesto, sin licencia que restrinja su uso. Así que, no tiene ningún sentido incluir ninguna herramienta de validación (WPA). Pero, por compatibilidad con Windows, estas llamadas deben hacerse. Y ReactOS siempre va a ser legal, por lo que dicha validación, efectivamente modificada manualmente, siempre dará un resultado positivo (o debería, al menos).


Esta es la razón por la cual vemos dicha excepción en el log. Y, como no es ningún error real de ninguna aplicación, ni del sistema operativo, el depurador del núcleo sencillamente lo ignora. Y continúa adelante.

4 comentarios:

  1. osea que reactos ignora esa excepción?

    ResponderEliminar
    Respuestas
    1. Correcto, la ignora. Como si no hubiera saltado ningún mensaje.

      Eliminar
  2. Teoricamente se autoactiva o algo asi no¿?
    Esto esta algo dudosillo....

    ResponderEliminar
    Respuestas
    1. No hay nada que activar ;) Recuerda que ReactOS es código abierto.

      Eliminar