jueves, julio 27, 2006

Defecto del Reproductor de Windows Media 11 (Windows Vista Beta 2)

En este artículo se ofrecen los detalles de un defecto del Reproductor de Windows Media 11 incluido en Windows Vista Beta 2: Aunque el Administrador de tareas muestre un consumo nulo o ínfimo del reproductor, "por lo bajo" está modificando un determinado valor del registro ¡varias veces cada segundo! Esta es una práctica no muy deseada en el software. Me puse en contacto con el equipo de Windows Media y, afortunadamente, el problema ya está resuelto en versiones posteriores a Beta 2.

Una de las cosas que suelo realizar cuando estoy probando cierto software es observar detalladamente su rendimiento (consumo de CPU, RAM, context switches, etc.). En esta ocasión le tocó el turno al Reproductor de Windows Media 11. Con el reproductor abierto y Process Explorer configurado para mostrar la lista de procesos ordenada por incremento de context switches, me encontré con lo siguiente:


Es decir, en ese momento el proceso Wmplayer.exe estaba situado el tercero de la lista con nada más y nada menos que 286 Context Switch Delta. El consumo de CPU es claramente nulo, pero eso no indica que todo vaya bien, ¿qué estaría haciendo el reproductor para generar una cantidad tan enorme de context switches cada poco tiempo? Un primer candidato son los accesos al registro de manera continuada, lo que se conoce como registry polling, algo totalmente evitable pues el sistema operativo ya proporciona mecanismos para informar a las aplicaciones si una clave del registro cambió o no, haga clic aquí para obtener más información. Seguidamente me puse a analizar el sistema con Regmon, que esclareció totalmente el asunto:


Como ven, el reproductor estaba modificando un valor del Registro ¡decenas de veces cada segundo! Supongo que esto se debía a un error de diseño de alguna parte del reproductor. Si tiene curiosidad, el valor implicado es HKCU\Software\Microsoft\MediaPlayer\Preferences\BackgroundScanCompleteDate, que apareció por vez primera en la versión 10 del reproductor y que, con casi toda probabilidad, se encarga de llevar un control de la última vez que se ha examinado la biblioteca multimedia con el fin de rellenar sus campos. En la versión 10 del reproductor sólo se modifica ese valor una vez por ejecución de la aplicación.

Estado actual del problema

Me puse en contacto con el equipo de Windows Media y, consecuentemente, el problema ya está corregido en una versión interna, posterior a Beta 2.

Este es un ejemplo para que observe que incluso Microsoft a veces utiliza métodos no muy "elegantes" en su software que atentan contra el rendimiento del mismo. Mark Russinovich ya analizó otros casos similares en esta entrada de su blog, y esta otra.

martes, julio 18, 2006

Valor alfanumérico vs Valor de cadena expandible

Recientemente estoy recibiendo bastantes reportes de problemas originados porque ciertos valores del Registro no son del tipo correcto; generalmente lo que ocurre es que un valor que debe ser de tipo "valor de cadena expandible" es de tipo alfanumérico. Esta clase de problemas son algo más difíciles de localizar y solucionar ya que los síntomas que producen no parecen tener relación con la causa que los origina. En este artículo referencio tres problemas de este tipo que logré solucionar gracias a la información que gentilmente me proporcionaron los usuarios afectados (y algunas horas de depurador :-P).

Mensaje de acceso denegado al tratar de ejecutar cualquier archivo MSC

Este artículo mío referencia el problema y su solución.


Nota: Aunque el artículo sólo haga referencia a los archivos con extensión MSC, es bastante probable que, si obtiene un mensaje de error de "acceso denegado" similar al que se cita en la sección Síntomas del artículo al intentar abrir un fichero con cualquier otra extensión, la causa sea la misma y los pasos a seguir para solucionar el problema sean similares.



Aparece un mensaje de error al intentar abrir Directiva de grupo

Este artículo mío referencia el problema y su solución.


Nota: Si el valor Path referenciado en el artículo anterior no es de tipo REG_EXPAND, quizá el efecto más importante que percibirá es que el sistema no es capaz de encontrar ninguna herramienta como Ping, Ipconfig, etc. si éstas son invocadas desde la línea de comandos. Las herramientas están físicamente presentes en la carpeta del sistema operativo (%SystemRoot%\system32).



Mensaje de error al agregar nuevos protocolos de red

Síntomas

Es posible que en su sistema Windows XP aparezca el siguiente mensaje de error cuando intenta agregar un nuevo protocolo desde Panel de control, Conexiones de red, su conexión, Archivo, Propiedades, botón Instalar:

No se puede agregar el componente seleccionado. El error es La ruta de acceso especificada no contiene INFs de dispositivo aplicables

Solución

Siga este procedimiento:

  1. Abra Inicio, Ejecutar, escriba regedit y pulse Aceptar.

  2. Acceda a la clave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion.

  3. Verifique en el panel de la parte derecha que exista el valor DevicePath, que sea de tipo REG_EXPAND y que contenga lo siguiente: %Systemroot%\Inf. Modifíquelo o créelo de nuevo para que el valor cumpla esos requisitos.

  4. Cierre Editor del Registro y reinicie el sistema.

    En un próximo artículo de esta bitácora pienso tratar este tema con más profundidad así como proporcionar técnicas para ayudarle a descubrir este tipo de defectos en el sistema cuando experimente comportamientos anómalos, mensajes de error, etc. ¡Esté al tanto!

    jueves, julio 13, 2006

    ¿Sabía que...? [II]

    ¿Sabía que es posible abrir múltiples instancias de Editor del Registro (Regedit.exe)? Una vez tenga abierta una ventana de Editor del Registro, haga clic sobre Inicio, Ejecutar, escriba regedit -m y pulse Aceptar.

    Nota: El parámetro -m del comando Regedit.exe sólo es válido en Windows XP y Windows Server 2003.

    miércoles, julio 12, 2006

    Actualizaciones de julio de 2006

    En este artículo comento cuáles son las actualizaciones de seguridad correspondientes a julio de 2006. Sería aconsejable que visitara Microsoft Update (http://update.microsoft.com/microsoftupdate) para descargar las actualizaciones en este mismo momento.

    Hay disponibles 7 nuevas actualizaciones de seguridad correspondientes al mes de julio de 2006:

    Críticas

    - 917159

    - 914388

    - 917285

    - 917284

    - 915384

    Importantes

    - 917283

    - 917537

    Nota: Es muy probable que no todas las actualizaciones antes citadas sean aplicables a su sistema operativo y/o a las versiones de las aplicaciones que tenga instaladas. Visite Microsoft Update para que sólo se descarguen las actualizaciones apropiadas para su sistema o lea detenidamente los boletines de seguridad que acompañan a cada actualización. En las páginas que enlazo desde aquí también encontrará información detallada para saber si una cierta actualización está instalada en su sistema o no.


    Para obtener información detallada sobre el boletín mensual en su conjunto visite la siguiente web de Technet: Resumen del boletín de seguridad de Microsoft de julio de 2006.