Google se prepara para solucionar un antiguo error de Chromium, que en realidad comenzó con Microsoft
El problema ha frustrado a los usuarios de navegadores durante mucho tiempo. Cada cierto tiempo, alguien abría Chrome u otro navegador basado en Chromium y se encontraba con lo que parecía ser una instalación nueva.
Los marcadores y contraseñas seguían ahí, pero las preferencias del navegador y otros datos del perfil parecían haber desaparecido porque un archivo importante había desaparecido.
Hemos añadido un par de capturas de pantalla de tales informes a continuación como referencia:


El culpable es un archivo llamado Local State, que almacena configuraciones a nivel de navegador.
Cada vez que Chromium actualiza ese archivo, Windows utiliza una función llamada ReplaceFile para intercambiar la versión antigua con la nueva. Bajo condiciones normales, el proceso termina casi al instante. Los problemas comienzan cuando otra aplicación, como un software antivirus o una herramienta de indexación de archivos, bloquea la carpeta en el momento equivocado.
Si eso sucede, Windows devuelve un error conocido como ERROR_UNABLE_TO_MOVE_REPLACEMENT_2. En ese punto, el archivo antiguo ya ha sido movido a un lado, pero el nuevo no puede ser escrito. El navegador queda sin un archivo Local State válido, lo que hace que parezca que el perfil de usuario ha sido restablecido.
Microsoft fue el primero en descubrir con qué frecuencia estaba ocurriendo esto.
En un informe de errores de Chromium presentado a principios de este año, el ingeniero de Microsoft Edge, Ting Shao, dijo que la telemetría de Edge mostraba que la secuencia afectaba a alrededor de 100,000 usuarios en el canal estable. Dado que Edge y Chrome están construidos sobre Chromium, los ingenieros de Microsoft y Google comenzaron a trabajar juntos para reducir las fallas.

La primera mejora llegó en marzo. Los desarrolladores añadieron un archivo de respaldo al proceso de reemplazo para que el archivo original no se perdiera tan fácilmente si algo interrumpía la actualización.
Ese cambio ayudó significativamente, pero no eliminó el problema. Microsoft dijo que la telemetría aún mostraba un pequeño número de fallas, con aproximadamente el 0.016% de los usuarios de Edge continuando con el problema.

Ahora, los desarrolladores de Chromium han preparado otra capa de protección.
Un nuevo parche del desarrollador de Chromium, Greg Thompson, que hemos detectado, cambia lo que sucede cuando Windows se niega a completar el reemplazo del archivo. En lugar de rendirse de inmediato, el navegador intentará repetidamente la operación, dando tiempo a cualquier escaneo antivirus o proceso en segundo plano para liberar el directorio.
Si esos reintentos aún no funcionan, Chromium realizará otro intento para restaurar el archivo original, reduciendo las posibilidades de que el archivo Local State desaparezca por completo.

El cambio no resuelve el comportamiento subyacente de bloqueo de archivos en Windows, pero debería hacer que Chromium sea mucho más resistente cuando se enfrenta a ello.
El parche ya ha recibido aprobaciones iniciales de revisión de código y se espera que llegue primero a las versiones de Chromium Canary antes de finalmente llegar a Chrome, Edge y otros navegadores basados en Chromium. Hasta entonces, los usuarios no se beneficiarán de la protección adicional hasta que esas actualizaciones del navegador comiencen a implementarse.