jueves, 3 de junio de 2010

News: Regresión Tworld y DosBox arreglada.

 

dosbox Una de las regresiones que nos traía de cabeza era la que impedía a Tworld y DosBox funcionar.

Estas aplicaciones, basadas en la consola de comandos, se colgaban o no llegaban a lanzarse.

Smiley se ha encargado de solucionar este bug y ambas vuelven a funcionar sin problemas.

 

 

DosBox y Tworld

 

dosbox2 DosBox es una aplicación,basada en consola de comandos, que permite ejecutar aplicaciones DOS.  Bastante útil para correr esas aplicaciones que actualmente ya no tienen soporte.

tworld Tworld es un pequeño juego que se ejecuta sobre la consola y que es bastante adictivo, aunque sus gráficos sean de otra era(lo cual le añade un toque retro bastante curioso) :)

 

 

Ambas aplicaciones funcionaban correctamente en 0.3.10 pero dejaron de hacerlo en la version 0.3.11 de ReactOS. El motivo: Una regresión introducida en la revisión 43119

Regresión

 

En el caso de DosBox la ventana se congelaba nada mas mover el ratón, y al cabo de un tiempo indefinido volvía a descongelarse. Si solo se utilizaba el teclado,y no se movía el ratón,podías escribir indefinidamente. Así pues el ratón tenía algo que ver en el juego.

En el caso de Tworld, el fallo era mas grave, y no funcionaba ni el teclado ni el ratón.

Curiosamente ambas eran aplicaciones de consola, y curiosamente ambas dejaron de funcionar en la misma revisión. La número 43119

 

 

Revisión culpable: 43119

 

La revisión 43119 era una de esas revisiones consideradas como “WOW”, resolvía uno de los mayores problemas que los testeadores y usuarios tenían en Vmware.

Los que hayan probado antiguas versiones de ReactOS en Vmware, se habrán dado cuenta que algunas veces y sin motivo aparente, la instalación se colgaba en la segunda fase(la parte de instalación con Interfaz Gráfica), teniendo que reiniciar la máquina. Esto podía ocurrir una vez, diez veces o nunca. Era uno  de esos Bugs aleatorios. Difícil de pillar y difícil de arreglar.

 

***********************************
The guilty commit is: 43119
***********************************
[win32k]
- Giannis Adamopoulos: Don't do callbacks to usermode when holding the lock.
Fixes the famous "VMWare video driver installer 2nd stage hang" bug. Signed off by James Tabor.
See issue #2666 for more details.
***********************************

Ciertamente, desde la revisión 43119 no hemos vuelto a tener este problema en Vmware.

Pero…¿que tiene que ver el parche de este Bug con un fallo en una aplicación de consola que se “casca” al mover el ratón? ¿Cómo pueden estar relacionados...?

 

 

… 4000 revisiones más tarde

 

(casi) 4000 revisiones más tarde, y ante el llamamiento de Aleksey Bragin para eliminar regresiones, Smiley decidió coger el toro por los cuernos…e indagar en el problema que su commit había revelado.

Al ya no hacer callback al usermode cuando tenemos un lock(algo que hacíamos antes y que era incorrecto), se reveló que no manejábamos correctamente dos mensajes: WH_MOUSE_LL y WH_JOURNALRECORD.

Como se ve, el primero tiene relación directa con el ratón y producía el cuelgue que DosBox y Tworld sufrían.

Aquí podeís ver el commit de Giannis Adamopoulus, alias Smiley:

 

***********************************
Commit by gadamopoulos :: r47058 ***********************************
[win32k]
Do not do callbacks to user mode while holding a lock
Fix when WH_MOUSE_LL and WH_JOURNALRECORD are called See issue #4926 for more details.

***********************************

Asunto arreglado y una regresión menos: regresion -- ;

5 comentarios:

  1. Pues yo estoy intentando arrancar las ultimas builds en virtualbox y nanai de la china se cuelga al arrancar desde la iso :S :(

    ResponderEliminar
  2. Ah y por cierto si explicais la diferencia entre reactos , reactos-yarotows , reactos-arwinss estaria genial , gracias :)

    ResponderEliminar
  3. me da gusto que dosbox ya funcione, a probar las aplicaciones viejitas entonces...

    ResponderEliminar
  4. Prepararemos un "Especial" en breve sobre reactos/reactos-yarotows/reactos-arwinss ;)
    Gracias :)

    ResponderEliminar
  5. Muy buenas Yo:
    Asegúrate que VT-x/AMD-V está Habilitado.
    Si tienes problemas para arrancar dinos cuales son las características de la máquina virtual (RAM,HDD,etc...), a ver si vemos algo raro. Procura que la RAM esté por debajo de 1 Giga. Yo normalmente testeo con 256MB de Ram y 620MB de HDD. Por lo general todo me va perfecto.He probado las ultimas builds y cargan sin problemas.
    Si te sigue dando fallos pásate por el Foro de ReactOS en Español y entre todos los testers y developers intentaremos ayudarte :)
    Un saludo

    ResponderEliminar