Cuelgue de Xorg
Hola,
hoy se me ha colgado el Xorg de mi Debian testing con núcleo 2.6.12-1-386 (hw
lo pongo abajo).
Estaba con Gnome (no me riñas Iñaki ;-) oyendo música -con amarok-, navegando
por la web y en una consola estaba ejecutándo apt-get update && apt-get
upgrade.
De repente la pantalla se ha 'flipado'. No se bien como explicarlo... la imagen
se ha quedado parada y con rayas, como un televisor viejo.
El cursor del ratón se movía, pero las X no reaccionaban a las pulsaciones.
En el teclado podía encender y apagar la luz del bloque numérico, pero no
respondía a Ctrl+Alt+Fx ni a Ctrl+Alt+Supr ni a nada que yo apreciase.
Me he conectado desde otro ordenador, el servidor ssh funcionaba bien.
He hecho top y tenía Xorg ocupando el 95% de la CPU con pequeñas variaciones.
De vez en cuando otro proceso gráfico como gconftool (que digo que no me riñas
Iñaki :-P) tomaba el 49% del CPU, dejando a Xorg con el otro 49% y después
volvía a tomar Xorg el control (92%).
Un ejemplo de top
-----------------
top - 21:45:44 up 4 days, 12:18, 1 user, load average: 0.99, 0.97, 1.15
Tasks: 56 total, 2 running, 53 sleeping, 0 stopped, 1 zombie
Cpu(s): 1.5% us, 0.3% sy, 0.1% ni, 98.0% id, 0.1% wa, 0.1% hi, 0.0% si
Mem: 906588k total, 739544k used, 167044k free, 66548k buffers
Swap: 4610572k total, 0k used, 4610572k free, 587940k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
29977 root 25 0 93996 6760 3096 R 97.3 0.7 8:31.75 Xorg
1 root 15 0 1960 688 584 S 0.0 0.1 0:00.67 init
-----------------
La memoria parece que está bien.
He mirado logs en /var/log, pero no he visto ningún error ni en messages, ni en
syslog ni en Xorg.0.log.
Por cierto este último no indica fecha y hora de los eventos (??).
Lo que he hecho:
- he esperado a que acabase al apt (y el dpkg)
- he matado todos los procesos del usuario que había lanzado las X (el de mi
mujer)
---> la CPU se ha calmado un poco pero al momento gdm ha relanzado Xorg y de
nuevo a comerse recursos
- he matado gdm y todo lo gráfico
---> la CPU se ha vuelto a calmar
- he esperado 5 minutos y todo seguía calmado y en pantalla la misma imagen
desde que se congeló
- relanzo gdm a ver si me 'limpia la pantalla'
---> otra vez a devorar recursos
- me desespero y hago lo que no debería necesitar ¡Reinicio la máquina!
---> todo correcto. Las X funcionando la CPU ocupada al 0.1%, la memoria bien,
la pantalla bien...
Detalle: ya me pasó hace un mes, o así, pero no soy capaz de forzar que se
repita el cuelgue, ni forzando a usar mucha memoria, ni mucho CPU (hice un
Fibonacci recursivo en c que se come todos los CPUs que quieras :-).
Puntos de ataque que se me ocurren:
- conseguir más información de logs de las X (¿cómo? ¿dónde?)
sé que puedo usar -logverbose (he hecho un man Xorg ;-) pero ¿hay algo más
que me pueda ayudar? ¿algún otro log que mirar?
- conseguir más información de la tarjeta (¿algún log de la actividad de la
tarjeta?)
- conseguir decirle a la tarjeta que me muestra una consola modo texto una vez
se han colgado las X
¿alguna idea de cómo podía haber conseguido una consola sin reiniciar?
- cambiar de driver de tarjeta gráfica
- cambiar de vida, dejar los ordenadores y dedicarme a la contemplación
¿Más ideas?
Mi hardware (extractos de lshw):
(...)
*-cpu
product: Intel(R) Pentium(R) 4 CPU 2.00GHz
vendor: Intel Corp.
physical id: 1
bus info: cpu@0
version: 15.2.4
size: 2GHz
width: 32 bits
capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic
sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
configuration: id=0
(...)
*-pci
description: PCI bridge
product: Virtual PCI-to-PCI bridge (AGP)
vendor: Silicon Integrated Systems [SiS]
physical id: 1
bus info: pci@00:01.0
version: 00
width: 32 bits
clock: 33MHz
capabilities: pci normal_decode bus_master
*-display
description: VGA compatible controller
product: NV17 [GeForce4 MX 440]
vendor: nVidia Corporation
physical id: 0
bus info: pci@01:00.0
version: a3
size: 128MB
width: 32 bits
clock: 66MHz
capabilities: vga bus_master cap_list
resources: iomemory:e4000000-e4ffffff iomemory:d0000000-d7ffffff
iomemory:d8000000-d807ffff irq:11
No he hecho nada de particular con el driver de la tarjeta, tengo el que
instaló en su día el netinstall
------------------------
$ lsmod | grep -i nvidia
$ lsmod | grep -i vesa
vesafb 8088 1
cfbcopyarea 3840 1 vesafb
cfbimgblt 3072 1 vesafb
cfbfillrect 4224 1 vesafb
softcursor 2304 1 vesafb
$
------------------------
Si puedo aportar algo más de información que sea útil, solo teneis que
pedírmela.
Gracias a todos por las ayudas y sugerencias
Saludos
Guimi
Reply to: