Linux - Problemas con librerias dinámicas

 
Vista:

Problemas con librerias dinámicas

Publicado por Marcos (28 intervenciones) el 04/02/2005 15:41:33
Hola, estoy realizando unas pruebas referentes al uso de librerías dinámicas en Linux (red hat 8) y me he topado con varios problemas; para esta prueba cree 10.000 librerias dinámicas, las cuales se llaman secuencialmente (la "lib1", llama a la "lib2", la "lib2" a la "lib3", etc); y la ultima no llama a ninguna; con lo cual despues de hacer esto la memoria usada por estas llamadas debería eliminarse.

uno.c
{

apertura de libreria dos
llamo a la unica funcion de lib2
cierro libreria

}

dos.c
{

apertura de libreria tres
llamo a la unica funcion de lib3
cierro libreria

}
..............
..............
..............

10000.c
{

apertura de libreria tres
no llamo a ninguna
cierro libreria
}

El problema que tengo es el siguiente ....; cuando llega a la librería 2258, se produce una violacion de segmento ... no tengo idea el motivo.
Hice TOP para ver el comportamiento de la memoria; tras llamar a las 2258 libreriás el valor del campo SIZE de TOP es de 40M; pero si muevo el mouse o hago alguna tarea adicional .. esta funciona (eso me dice q el S.O. todavia tiene memoria necesaria para manejar eso); el ordenador tiene 128MB en RAM y un SWAP de 128MB.

Ahora bien, sabiendo qu e dá problemas SIEMPRE en la librería 2258; lo probé llamando solo a 2000 librerias; y cuando llega a la ultima todo el espacio ocupado en la memoria se libera.

También se me ocurrio q podría ser el tamaño maximo de ficheros abiertos q me permite tener Linux, lo verifque y me dice que es 12.232.

Mi duda es por que se produce la violacion de segmento? alguna idea acerca de esto?

Manejo red hat 8.0
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con librerias dinámicas

Publicado por makz (142 intervenciones) el 06/02/2005 05:11:29
Ese es un problema muy complejo como para resolverlo a distancia pero está muy interesante, por qué no nos mandas tu código, vemos si podemos reproducir tu problema y así nos será más fácil resolverlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar