¿Cómo solucionar el Infinite Loop?

Anuncio
¿Cómo solucionar el
Infinite Loop?
Escrito por Manz
http://www.emezeta.com/
Revisión 1: 27 de Septiembre de 2003
Revisión 2: 11 de Septiembre de 2005
Resumen:
Infinite Loop es un término inglés que significa Bucle infinito. Este es un error
muy usual en el ámbito de la programación y, en este caso no se trata más
que de eso. Cuando se produce el infinite loop, el software del sistema se
queda estancado en ese bucle de forma infinita, no dejando hacer nada más.
Se produce sobre todo en equipos de la familia NT (WinXP y Win2000).
¿ Cuales son los síntomas de este problema ?
En teoría varios, y digo en teoría, porque varían demasiado:
Congelamiento de pantalla: (Usualmente en juegos 3D pero no
necesariamente) y SOLO de la pantalla. Una buena manera de
identificar si se trata del infinite loop es comprobar si al experimentar
un congelamiento de la imagen la música sigue sonando.
Monitor en StandBy: El monitor se queda apagado, pero se puede
comprobar como el sistema sigue trabajando, ya que se escucha el
disco duro trabajar, la música que escuchabamos o los leds (luces) del
disco duro encendiéndose y apagándose. No se puede volver a encender
el monitor, y tenemos que terminar reiniciando. Fijaos si el pilotito que
usualmente tenéis en verde se ha quedado en naranja.
(NOTA: Muchas veces esto ocurre porque tenéis activado el desconectar el monitor
cada x tiempo, aseguraos que no se trata de eso).
Ruido en la imagen: La pantalla después de un tiempo sin uso, o de
forma repentina, muestra ruido en la imagen (puntitos aleatorios y
desordenados por toda la imagen que hacen ver borroso la misma).
Pantallazo azul o BSOD: El sistema se bloquea o da un BSOD y al
reiniciar nos aparecen mensajes cómo “Windows se ha recuperado de
un error grave”, errores en el apartado Sistema del Visor de Sucesos o
pantallazos con mensajes como los siguientes:
El controlador nv4_disp del dispositivo display \Device\Video0 se ha
quedado bloqueado en un bucle infinito. Esto normalmente indica
un problema con el dispositivo en sí o con el controlador que
programa incorrectamente el hardware. Compruebe con el
fabricante del dispositivo de hardware para obtener actualizaciones
del controlador.
STOP 0x000000EA THREAD_STUCK_IN_DEVICE_DRIVER
BCCode : 100000ea BCP1 : FFA9D328 BCP2 : FFB2EF60 BCP3 :
81EA9788
BCP4 : 00000001 OSVer : 5_1_2600 SP : 0_0 Product : 256_1
IRQL_NOT_LESS_OR_EQUAL
¿ Cuál es la causa de este problema ?
No se esta muy seguro de este punto. El infinite loop es uno de los problemas
más raros que se conocen y la causa varía mucho:
En primer lugar Microsoft se limpia las manos argumentando que es un
problema posiblemente de programación del proveedor del hardware, o sea,
del software o drivers de la tarjeta gráfica. Muchos otros le echan la culpa a
los chipset VIA, cosa que yo no veo claro, ya que en distintas páginas me he
encontrado con que sistemas con chipsets INTEL o SiS también sufren el
mismo problema. Además, buenamente, la casa VIA ha publicado un
buenísimo artículo (eso sí, en perfecto inglés) para la resolución del bucle
infinito:
http://www.viaarena.com/default.aspx?PageID=5&ArticleID=9
Otra eterna culpabilidad asignada injustamente: nVIDIA. He encontrado
muchos usuarios que tienen el problema de infinite loop con tarjetas graficas
ATI. Supongo que al estar más extendidas las tarjetas nVIDIA esto hace que la
gente asigne errores inconscientemente.
Otro conjunto de usuarios piensan que los problemas vienen a raíz de dos
opciones de la BIOS que dan conflictos: AGP Fast Write y Side Band
Addressing (SBA). Pienso que en este tramo tienen un poco de razón, ya que
el error esta relacionado con el AGP, pero creo que no es del todo correcto.
La fuente de alimentación. Quizás la parte que considero más acertada de la
causa de estos problemas. Pienso que una correcta administración de la
energía que necesita nuestro ordenador es fundamental para que funcione
bien. Si tenemos una fuente de alimentación de 250w es posible que no nos
llegue a satisfacer y cabe la posibilidad de adquirir una de 400w que SI que
funcionaría de forma satisfactoria. Además podemos ver que la mayor parte
de usuarios que sufren este problema tienen un procesador AMD Athlon de los
antiguos como por ejemplo un ThunderBird o Palomino que eran unas
verdaderas máquinas traga-energía.
Finalmente, y muy ligada al punto anterior, tenemos el tema de la memoria
RAM. He leído que muchos usuarios comentan que la solución pasa por quitar
un módulo de memoria RAM de todos los que tenemos. Evidentemente, esto
puede que corrija el fallo, pero estamos desaprovechando unos megas de
memoria que nos vendrían de perlas para mejorar el rendimiento del sistema.
Retirando un modulo de RAM estamos consumiendo menos con respecto a la
fuente de alimentación, quizás por ello desaparecen los fallos. Aún así,
recomiendo leerse el punto anterior y no quitar memoria RAM.
¿ Como soluciono este problema ?
Difícil cuestión. Si has leído todo lo anterior y has sopesado todos los aspectos
lo tendrás mucho más fácil. Aún así, voy a intentar facilitarte la tarea con
unos procedimientos que creo, que ayudarán (A mi me ayudaron y los
encuentro bastante lógicos).
Ante todo, mucha paciencia, ya que este problema ocurre en periodos muy
variables, lo que frustra demasiado. Recomiendo testear cada vez que se haga
un cambio con el programa 3DMark, con juegos 3D y/o dejando el PC
encendido por las noches.
1. Actualizar controladores
El primer punto se basa en probar varios controladores a ver cuál rinde mejor.
Muchos usuarios han arreglado este problema utilizando unos controladores
que les funcionan correctamente.
Sugiero entonces que en primer lugar se usen los controladores actualizados,
buscándolos en la página del fabricante. Si el problema persiste, prueba a
usar los drivers que te facilitaron al comprar la tarjeta gráfica (normalmente
un CD o diskette). Si aún así tienes suerte quizás puedas usar unos
controladores certificados por Microsoft (en el caso de nVIDIA, Microsoft
desarrolla unos controladores propios que instala inicialmente).
(NOTA: En el caso de los drivers de nVIDIA, antes de descargarlos de la web es altamente
recomendado examinar la sección Tarjetas soportadas para comprobar si nuestra tarjeta
gráfica es soportada por esos drivers. )
2. Instalación de parches adicionales
En caso de tener una placa con chipset VIA, podemos instalar el famoso
parche 4in1 de VIA. También he encontrado un parche desarrollado en fase
beta que asegura solucionar el problema en muchos casos:
http://files.guru3d.com/via/Test_driver1.zip
También en últimos casos puedes probar a instalar en el caso de nVIDIA unos
detonators 30.xx o inferiores y probar a instalar el NVMAX marcando la opción
Fix infinite loop.
3. Hacer pruebas convirtiendo el AGP en PCI
Dirígete al administrador de dispositivos y en los Dispositivos de sistema,
encontraras un controlador AGP. Prueba a actualizar el controlador en un PCI
to PCI Bridge (Puente PCI a PCI). Esto convertirá la entrada de datos AGP en
una entrada de datos PCI. El rendimiento bajará mucho, pero podrás
comprobar si el problema es del AGP o no. En caso de que el error
desaparezca, tendrás que plantearte en buscar una solución (En caso de
poseer un chipset VIA, en su página hay distintos controladores AGP que
puedes descargar y probar). Si el problema no desaparece, prosigamos.
4. Hacer cambios en la BIOS referentes al AGP
Si con ninguno de los pasos anteriores ha conseguido solucionar el problema
podríamos pasar a hacer algunos cambios en la BIOS. Por ejemplo, desactivar
la opción AGP Fast Write. Esta opción está muy criticada, ya que es muy
comentado que al desactivarla desaparecen cantidad de cuelgues y problemas
que produce su activación. También sería conveniente desactivar la opción
Side Band Addressing (SBA), que muchos afirman que también puede
solucionar el tema del bucle infinito.
5. Hacer cambios en la BIOS referentes a la memoria
Pienso que quitar un módulo de memoria NO es una solución, en todo caso
extrema, pero no ideal. En mi caso, he modificado la latencia de la memoria,
y esto ha solucionado el problema del bucle infinito. Si lo consideráis
oportuno, podéis probar a retirar un módulo de memoria RAM, o alternar el
orden de los módulos en diferentes slots, para probar si es cierto que se
soluciona de ésta forma el problema.
6. Hacer cambios en el hardware
Finalmente, si ninguna de las soluciones anteriores funciona, recomendaría
desenchufar varios dispositivos y dejar solo los necesarios durante un tiempo.
Podemos, por ejemplo, desenchufar el CDROM, grabadora, disco duro
alternativo, ventiladores, disquetera y dejar solo el disco duro principal. De
esta forma veremos que al estar consumiendo menos, si el problema es de la
fuente de alimentación. En caso afirmativo solo tendríamos que comprar una
fuente más potente. Mucho cuidado en usuarios de AMD, ya que la misma, en
su página web, recomienda fuentes para el óptimo funcionamiento de sus
procesadores.
7. Ultimas soluciones
Si, desgraciadamente, no has conseguido solucionar este fatídico problema,
solo quedan las opciones siguientes:
Esperar al próximo Service Pack para Windows XP a ver si lo solucionan.
Migrar a otros Sistemas Operativos como por ejemplo Windows 2000.
Intentar hacer una nueva instalación limpia de Windows XP.
Actualizar la BIOS del sistema.
Comprar y/o cambiar a otra tarjeta gráfica.
Alternar e intentar varias de las soluciones anteriores simultáneamente.
¿ Cuál ha sido tu experiencia con el Bucle Infinito ?
Sólo migrar a Windows XP, tuve este problema. Después de investigar y sacar
mis propias conclusiones, arreglé momentáneamente el problema instalando
una versión antigua de los Detonators de nVIDIA y el nVMAX4 hasta que me
compre una fuente de 400w. La instalé y mis problemas desaparecieron
durante unos meses y trabajé correctamente.
Entonces un día descubrí que el ventilador de la fuente se me había parado.
Compré otra fuente de 400w y los problemas volvieron a aparecer. Fue
entonces cuando hice algunas pruebas sin resultado y las que funcionaron
finalmente fueron instalar los parches 4in1 y cambiar en la BIOS la latencia de
la memoria.
Descargar