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

Interfaces de programmation Oracle Discussion :

[OCI] Fuite mémoire dans libclntsh


Sujet :

Interfaces de programmation Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 15
    Par défaut [OCI] Fuite mémoire dans libclntsh
    Bonjour tout le monde,
    Mon souci est le suivant : J'ai un programme codé en c++ dans lequel il y a une fuite mémoire, cette fuite a été bien détectée par l'outil purify de chez ibm et c'est à cause de la librairie libclntsh.
    Voilà la configuration du serveur :
    AIX5L à 64 bits
    Oracle 9.2.0.8 sur 64 bits
    Est ce qu'il y a un patch pour cette librairie ?
    Merci en avance

  2. #2
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    Et la fuite c'est quoi ??

    Il se peut qu'elle apparaisse si tu oublies d'appeler certains fonctions...

    Poste le log de Purify...

    Remarque : Pour info, J'avais testé un jour un "hello world" avec Purify sous Windows (un simple printf("hello world"); ). Et purify avait détecté une fuite dans la CRT...
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  3. #3
    Membre émérite Avatar de philcero
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Septembre 2007
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 528
    Par défaut
    Je comprends pas bien si ta fuite est détectée pour une application ou bien pour le core Oracle, tu peux préciser s.v.p ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 15
    Par défaut Fuite mémoire dans libclntsh Suite
    Voilà un extrait de l'exécution de Purify :
    MLK: 12 bytes leaked at 0x2042c3d8
    * This memory was allocated from:
    malloc [librtlib.o]
    sltskjadd [libclntsh.a(shr.o)]
    sltskminit [libclntsh.a(shr.o)]
    sltsini [libclntsh.a(shr.o)]
    nlstdini [libclntsh.a(shr.o)]
    nlstdggo [libclntsh.a(shr.o)]

    MLK: 12 bytes leaked at 0x2045f6e8
    * This memory was allocated from:
    malloc [librtlib.o]
    slwmmgetmem [libclntsh.a(shr.o)]
    lmmrist [libclntsh.a(shr.o)]
    lpminitm [libclntsh.a(shr.o)]
    lpminit [libclntsh.a(shr.o)]
    nau_viat [libclntsh.a(shr.o)]

    MLK: 12 bytes leaked at 0x204db4b8
    * This memory was allocated from:
    malloc [librtlib.o]
    lempint [libclntsh.a(shr.o)]
    lemrist [libclntsh.a(shr.o)]
    lpminitm [libclntsh.a(shr.o)]
    lpminit [libclntsh.a(shr.o)]
    nau_viat [libclntsh.a(shr.o)]

    MLK: 8 bytes leaked at 0x2045d068
    * This memory was allocated from:
    malloc [librtlib.o]
    slwmmgetmem [libclntsh.a(shr.o)]
    lwemist [libclntsh.a(shr.o)]
    lpminitm [libclntsh.a(shr.o)]
    lpminit [libclntsh.a(shr.o)]
    nau_viat [libclntsh.a(shr.o)]
    ça n'a rien avoir avec le fait que j'ai oublié de faire un free, c'est une fuite mémoire dans la bibliothèque.
    Existe t-il un patch pour cette fuite ?

  5. #5
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    Citation Envoyé par Adil BE Voir le message
    ça n'a rien avoir avec le fait que j'ai oublié de faire un free, c'est une fuite mémoire dans la bibliothèque.
    Personne de te parle d'un free() de ton appli...

    J'évoquai la possibilité que tu n'aie pas par exemple libéré un handle OCI, passé une mauvaise adresse ou un buffer mal dimensionné à une fonction OCI, etc...

    Le nettoyage implicite des ressources interne de OCI n'est pas parfait et des fois ci cela n'a pas été explicement, des fuites peuvent apparaître

    Quelle api utilises tu ? OCI ? OCCI .
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  6. #6
    Membre émérite Avatar de philcero
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Septembre 2007
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 528
    Par défaut
    Possible solution, si cela vient bien de la librairie, recompile ton noyau Oracle et les librairies qui vont avec afin d'écarter un problème lié à un upgrade système qui désaccorde la librairie.

    D'un autre côté il y a pas mal de posts traitant du même sujet partout ailleurs pour la gamme 9.2.0.x et la 9.2.0.8 corrige une perte de mémoire pour le LISTENER mais rien d'autre.

    Bref, pas simple...

    C'est une base de production ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 15
    Par défaut Fuite mémoire dans libclntsh
    C'est OCI,

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 15
    Par défaut Fuite mémoire dans libclntsh
    Oui, effectivement, c'est une base de production.
    Par contre, recompiler risque de foutre tout en l'air, mais je pense que je vais la tester quand même sur une base de développement.
    En tout cas, merci pour la réponse

  9. #9
    Invité de passage
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1
    Par défaut
    Bonjour,

    Si pour toi la « fuite de mémoire » signifie que ton programme Pro*C augmente jusqu’à prendre 20 MO au lieu de 2 MO, il faut vérifier les droits d’accès sur le fichier « libclntsh.a » qui se trouve dans $ORACLE_HOME/lib, $ORACLE_HOME/lib32.

    Ce dernier doit autoriser la lecture à tous les utilisateurs.

    <<Sous AIX>>
    -rw----r-- 1 ora102as oinstall 19147929 Jan 05 2009 libclntsh.a


    Cette « petite » action a corrigé le problème de mémoire sur mes modules.

Discussions similaires

  1. [OCILIB] [OCI] Fuite mémoire obscure
    Par zifox dans le forum Interfaces de programmation
    Réponses: 19
    Dernier message: 02/08/2010, 17h06
  2. Fuite mémoire dans une appli dev avec vc++6
    Par devconf77 dans le forum Windows
    Réponses: 1
    Dernier message: 26/08/2008, 08h58
  3. fuite mémoire dans le JSP editor
    Par ChristopheH dans le forum Eclipse Java
    Réponses: 0
    Dernier message: 18/04/2008, 17h20
  4. fuite mémoire dans un processus
    Par ryadh.naouar dans le forum POSIX
    Réponses: 4
    Dernier message: 09/05/2007, 11h53
  5. Réponses: 19
    Dernier message: 04/10/2006, 16h53

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