IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

fuite de mémoire?


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 95
    Par défaut fuite de mémoire?
    bonjour,

    j'ai un problème, un segfault avec le message suivant que Je ne comprends pas bien :


    Est ce une fuite de mémoire? C'est un programme multi-thread. Un thread ça va, 2 ok, 3 également... mais à partir de 4 et plus je commence à avoir des segfault. Et plus j'ai de thread plus ça plantera facilement. J'utilise boost thread. Quand le thread se termine, il doit normalement libérer la mémoire, non?

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Bonjour,
    une fuite memoire n'est pas sensé faire un seg fault. Sauf si tu utilise beaucoup de memoire et qu'un allocation foirée n'as pas été detecté.
    Je ne m'y connait pas trop en thread mais a mon avis du as 2 type d'erreur possible :
    1- tu fait une erreur memoire : tu accède a de la memoire non alloué
    2- problème de synchronisation des données partagées entre les thread

  3. #3
    Membre Expert
    Avatar de Anthony.Desvernois
    Homme Profil pro
    Ingénieur sécurité & risque
    Inscrit en
    Juin 2007
    Messages
    1 489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur sécurité & risque
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 489
    Par défaut
    ++ ca ne peut pas etre une fuite memoire.

    Au passagem sur les fuites, valgrind est ton ami

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 95
    Par défaut
    Je vais juste chercher des données dans ma base en lecture pour le moment. Je n'utilise pas de mutex et je ne fais pas de lock. Je voulais juste savoir si mes threads pouvaient extraire des données de ma base.

    Est ce que ce message d'erreur est explicite? un segfault est il provoqué essentiellement avec un problème de mémoire?

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 95
    Par défaut
    Merci Anthony, on s'est croisé dans nos réponses.

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par Zorgloub Voir le message
    Est ce que ce message d'erreur est explicite? un segfault est il provoqué essentiellement avec un problème de mémoire?
    A ma connaissance oui.
    Tu accède a ta base par chaque thread?? c'est peut être la le problème

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 95
    Par défaut
    En fait j'utilise le même socket avec plusieurs thread. C'est mal? Mais pour le moment je ne fais que lire dans la base. Je n'écris rien du tout. C'est juste pour tester. Je ferai des locks ensuite.

  8. #8
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par Zorgloub Voir le message
    En fait j'utilise le même socket avec plusieurs thread. C'est mal? Mais pour le moment je ne fais que lire dans la base. Je n'écris rien du tout. C'est juste pour tester. Je ferai des locks ensuite.
    Je ne sait pas pourquoi mais ca me semble mal....
    Je dirait que ton problème viens de la. Mais Je ne suis pas un spécialiste du réseau non plus

Discussions similaires

  1. fuite de mémoire ?
    Par salseropom dans le forum C
    Réponses: 2
    Dernier message: 12/01/2006, 17h19
  2. Réponses: 1
    Dernier message: 02/12/2005, 15h18
  3. fuite de mémoire
    Par mamag dans le forum MFC
    Réponses: 17
    Dernier message: 19/08/2005, 11h42
  4. Fuite de mémoire en utilisant le template list
    Par schtroumpf_farceur dans le forum Langage
    Réponses: 9
    Dernier message: 18/07/2005, 21h44
  5. Réponses: 8
    Dernier message: 17/10/2002, 13h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo