OVH Cloud OVH Cloud

Exploiter un .core

6 réponses
Avatar
Delf
Bonjour.

J'ai écris un petit script et au bout de 1 jour environ, il me crée un
.core de 400/500Mo.

Comment savoir d'où vient le problème ? Comment exploiter ce fichier si
cela est possible...
Merci.

--
Delf

6 réponses

Avatar
Samuel Mouniee
Bonjour,

J'ai écris un petit script et au bout de 1 jour environ, il me crée u n
.core de 400/500Mo.

Comment savoir d'où vient le problème ? Comment exploiter ce fichier si
cela est possible...


pour exploiter un core, il faut utiliser gdb ...

plutot que de faire cela, pourquoi ne pas regarder dans votre code si il
n'y a pas un bug ? car, je penche plus pour cette hypothese surtout avec
un coredump de 400/500Mo qui semble correspondre a un processus qui
meurt faute de RAM.


.s'nuoM


--
+---- Samuel Mouniée
| o o | Moun's
----+ http://artdif.com/ - http://www.mouns.net/

Avatar
Delf
Samuel Mouniee wrote:

plutot que de faire cela, pourquoi ne pas regarder dans votre code si il
n'y a pas un bug ? car, je penche plus pour cette hypothese surtout avec
un coredump de 400/500Mo qui semble correspondre a un processus qui
meurt faute de RAM.


Oui, le script utilise de plus en plus de RAM... lors de la création des
threads...

--
Delf

Avatar
Aurelien
Delf wrote:
Samuel Mouniee wrote:

plutot que de faire cela, pourquoi ne pas regarder dans votre code si il
n'y a pas un bug ? car, je penche plus pour cette hypothese surtout avec
un coredump de 400/500Mo qui semble correspondre a un processus qui
meurt faute de RAM.



Oui, le script utilise de plus en plus de RAM... lors de la création des
threads...

--
Delf


J'avais fait un prog qui utilise les threads et qui avaient des fuites
mémoires au fur et à mesure de sa vie (mais il a jamais été jusqu'à
utiliser 500 Mo de RAM). J'ai eu beau cherché partout, j'ai pas trouver
d'où ca venait, et le code était pas bien gros.
J'ai conclu sur une erreur dans l'implémentation des nouveaux threads
Perl qui provoque ca. D'ailleurs, ces threads n'étaient pas encore
recommandé en prod' à l'époque.
Quels threads utilisez-vous ? Quelle version de Perl ?

Aurélien


Avatar
Aurelien
Delf wrote:
Samuel Mouniee wrote:

plutot que de faire cela, pourquoi ne pas regarder dans votre code si il
n'y a pas un bug ? car, je penche plus pour cette hypothese surtout avec
un coredump de 400/500Mo qui semble correspondre a un processus qui
meurt faute de RAM.



Oui, le script utilise de plus en plus de RAM... lors de la création des
threads...

--
Delf


J'avais fait un prog qui utilise les threads et qui avaient des fuites
mémoires au fur et à mesure de sa vie (mais il a jamais été jusqu'à
utiliser 500 Mo de RAM). J'ai eu beau cherché partout, j'ai pas trouver
d'où ca venait, et le code était pas bien gros.
J'ai conclu sur une erreur dans l'implémentation des nouveaux threads
Perl qui provoque ca. D'ailleurs, ces threads n'étaient pas encore
recommandé en prod' à l'époque.
Quels threads utilisez-vous ? Quelle version de Perl ?

Aurélien


Avatar
Jérémy JUST
On Wed, 10 Nov 2004 18:35:44 +0100
Delf wrote:

Oui, le script utilise de plus en plus de RAM... lors de la création
des threads...


Arf! Exploiter le core d'un programme Perl est déjà presque impossible
(puisque ce n'est pas ton programme qui a planté, mais ton programme
compilé par l'exécutable perl, d'où un problème pour y attacher gdb),
mais s'il est multithreadé, n'espère rien d'autre que la satisfaction
d'avoir essayé, en t'y attelant!

Par curiosité, tu utilises quelle version de Perl? Récemment, j'ai eu
aussi un problème de mémoire mangée bizarrement par des threads en Perl
5.8.1, qui ne se produit pas en 5.8.3 ou 5.8.5.

--
Jérémy JUST

Avatar
Delf
Aurelien wrote:

J'avais fait un prog qui utilise les threads et qui avaient des fuites
mémoires au fur et à mesure de sa vie (mais il a jamais été jusqu'à
utiliser 500 Mo de RAM). J'ai eu beau cherché partout, j'ai pas trouver
d'où ca venait, et le code était pas bien gros.
J'ai conclu sur une erreur dans l'implémentation des nouveaux threads
Perl qui provoque ca. D'ailleurs, ces threads n'étaient pas encore
recommandé en prod' à l'époque.
Quels threads utilisez-vous ? Quelle version de Perl ?


J'utilise Perl 5.8.5 - ithreads.
Le fait de mettre ->detach a résolu semble-t-il le problème...
Ici aussi le code est court, ~300 lignes.

--
Delf