[LUG.ro] kernel panic. Bug.

Angel Arancibia angel.arancibia en gmail.com
Lun Jul 28 17:03:52 ART 2008


2008/7/28 Manuel Naranjo <naranjo.manuel en gmail.com>:
>
>> Bueno depsues de un rato largo de renegar se metio el valgrind (esta
>> piola che ...) en el initramfs. Hice mas o menos esto (el strace me
>> ayudo para saber que buscaba y que faltaba)
>>

Me parce que esta habiendo un problema de conceptos ... no soy muy
bueno explicando.
la situacion y menos cuado la quise hacer cortita... vamos desde 0.

Las maquinas esas en cuestion arrancan por red, y el raiz (que tambien
viene por red) baja en formato squashfs. Para poder lograr hacer esto
los apsos que ahce la maquina son:

por PXE arranca, agarra ip, baja kernel baja initram, el initram hace
algunas cosas (basicamente prepara para importar el / y todas las
cosas) monta el /, hace un cambio de contexto y empeiza a bottear
normalmente como si nada.

El problema es que el initram no puede levantar la placa de red, por
lo cual muere todo el proceso siguiente.pasandole break=mount al pxe
me da un shell en el initram y entonces puedo hacer a mano lo qeu
deberia hacer el initram con los scripts. En el shell del initram
tengo algunos comandos basicos, y algunas rutinas de kernel, epro bien
basico ya que no busca ser funcional ... sino tener un minimo
environment para ahcer lo necesario antes de montar el / y saltar a
ese environmet.

>
> ldd es aún mejor para saber que librerías faltan.

podria haberme ayudado .. aunque initramfs-tools sabe meter bien los
binarios y sus dependecias (de librerias) dentro de la imagen .... el
problmea era (por lo menos en este caso ... que el valgrind usa otros
binarios) que no es recursivo ... si un binario llama a otro binario
.... no exporta. Por eso la multiple exportacion.

> Hace:
>
> valgrind --leak-check=full --leak-resolution=high ipconfig
>


Mañana te paso el resultado, lo porbe hoy con --leack-check=yes pero
le resultado era el mismo

> Recompila ifconfig y activa la información de debuggin con -g -O0.

mmm eso esta jodido, estoy usando el kernel original precompilado de
ubuntu .... y si mal no entiendo, de ahi viene el ipconfig (no es
ifconfig) que es la configuracion de ip pero a bajo nivel ... en el
espacio del kernel. (Corrijanme si no es asi por favor)

>
> Es sensillo estas haciendo un salto a una función que fue liberada, muy
> probablemente un llamado a una función virtual para la cual el puntero ya ha
> sido liberado.

Sep..

>
> Mal compilado.

voy a escarvar por ahi ..... pero ipconfig que corno es?, es del
kernel o es externo? Se me estan mezclando las cosas ahi ....



Más información sobre la lista de distribución Lugro