jueves, 6 de mayo de 2010

News: Regresión Notepad Lite Arreglada

 

NotepadliteWor Aleksey Bragin ha solicitado a los Desarrolladores,que antes del lanzamiento de la versión 0.3.12, enfoquen sus esfuerzos a resolver regresiones (antiguas y nuevas) parando el desarrollo de nuevo código si fuese necesario.

Desde aquel llamamiento, muchos Bugs y Regresiones han sido resueltos.

Hoy la primera “tapita”: La Regresión de NotePad Lite ha sido resuelta. Una regresión que llevaba con nosotros desde antes de la 0.3.9.

¿Qué es una regresión?

Una regresión es un fallo que aparece en ReactOS y que antes no existía. Las regresiones pueden ser de dos tipos:

  1. Bug Introducido: Cuando el paso atrás se produce al modificar código erróneamente, o al crear nuevo código. Es un Bug introducido directamente por el desarrollador.
  2. Bug subyacente: Cuando al arreglar un Bug, éste destapa Bugs dormitantes. Bugs que no asomaban la cara y que tras el arreglo aparecen y pueden dar lugar a regresiones.

 

 

Revisión 39654

Notepad Lite estaba funcionando perfectamente hasta la revisión 39654. Esta revisión intentaba arreglar un bug (el 4114) de Firefox. Cuando un usuario escribía una url en Firefox 1 o Firefox 2.X, Firefox provocaba una “Page Fault” (“Falta de Página”) y la aplicación se cerraba.

Tras el commit 39654 el Bug de Firefox se solucionó, pero destapó otro problema: GS Notepad Lite dejó de funcionar.

 

Revisión 47065

Mjmartin (nuestro desarrollador USB) se dedicó a revisar este bug y encontró fallos bastante interesantes en nuestras funciones Hook.

ReactOS llamaba a la función NextHook aun cuando el Hook actual era el primero en la cadena.Algo que no debía ocurrir. Un caso de los denominados límites. Para solucionarlo únicamente teníamos que comprobar si el Hook actual era o no el primero en la cadena, en caso de que no lo fuera llamamos correctamente a NextHook, pero si era el primero pues simplemente no hacíamos nada. Esta llamada a NextHook era lo que provocaba el bucle infinito.

 

El commit

[win32k]
- When calling NtUserCallNextHookEx check that the current hook is not the first in the chain. If so don't call the hook proc and just return, as it has already been called and it makes no sense for the NextHook function to call the first hook proc. Fixes bugs #4461(regression Notepad)

Mjmartin.

 

El Adiós

Los testers y los desarrolladores nunca te olvidaremos. Llevabas con nosotros desde antes de la versión 0.3.9, y versión tras versión comprobábamos la existencia de tu grata presencia. Siempre fallando, siempre en bucle infinito. Nuestras Máquinas Virtuales y nuestros ficheros de DebugLog echarán de menos consumir la memoria de nuestros Sistemas Operativos.  Los quebraderos de cabeza durante estos casi dos años te acompañarán en tu viaje al otro lado. Todos te echaremos de menos. Descansa en Paz y sobre todo: No vuelvas

7 comentarios:

  1. Muy bueno el "chiste". Creo que debéis de trabajar en los subsistemas Arwinss y Win32Ros dualmente. También trabajar duro en la shell. Saludos ;)

    ResponderEliminar
  2. Felicidades Muchachos

    Se està notando mucho que ustedes se estan moviendo para tener un producto de calidad y felicidades a este blog por tenernos actualizados en como va reactos y ser concuientes de que esto realmente no es nada facil.

    Sigan pa`lante

    Exitos!!

    ResponderEliminar
  3. Muy interesante, para cuando la 0.3.12?

    ResponderEliminar
  4. Por lo que dices estamos a punto de ver la nueva version 0.3.12, aunque es bienvenida yo creo q todos esperamos impacientemente la 0.4 je, pero poco a poquito. Y entonces tengo la duda si esta version saldra con 2 sabores, o sea que si habra la iso con arwinss y la normal, o sera una sola con las 2 o como va a estar eso, ojala nos den informacion y mas o menos en q se esta y como para cuando. Nos leemos.

    ResponderEliminar
  5. La 0.3.12 es de suponer que salga a finales de Mayo. Sin embargo, es posible que traiga una pequeña sorpresa bajo el brazo. Veremos si se cumplen las previsiones. ;)

    ResponderEliminar
  6. Muy buenas Mx,
    La 0.3.12 tiene prevista su fecha de salida a finales de Mayo.Sin embargo, como trae una pequeña sorpresa, es posible que se retrase aún un pelín más.
    Seguro que la sorpresa será del agrado de todos.
    La 0.4 no tendrá dos sabores, solo vendrá con Win32Ros, pero la 0.5 seguro que viene con ambos subsistemas o solo con uno de ellos(el que gane el pulso,que de momento es obviamente Arwinss). :)

    ResponderEliminar
  7. Muchas gracias Jose Félix,
    La verdad es que es bastante complicado tener un producto de calidad, jejej, pero dentro de nuestras limitaciones...ahí estamos. Creo que las buenas noticias ,que van a llegar antes de verano, atraigan a más usuarios y desarrolladores a ReactOS.

    ResponderEliminar