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

Linux Discussion :

Un petit coup de main avec valgrind ?


Sujet :

Linux

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    162
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2002
    Messages : 162
    Points : 88
    Points
    88
    Par défaut Un petit coup de main avec valgrind ?
    Bonjour,

    J'essaie d'utiliser valgrind sur mon projet, et j'ai deux problèmes :
    1) sans valgrind, ça passe, avec valgrind, j'ai une erreur de segementation
    2) je ne comprend pas la sortie, qui est (je ne suis pas sûr que le début soit très important, mais je le met quand même) :

    ==17163== Memcheck, a memory error detector for x86-linux.
    ==17163== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al.
    ==17163== Using valgrind-2.4.0, a program supervision framework for x86-linux.
    ==17163== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al.
    ==17163== For more details, rerun with: -v
    ==17163==
    ==17163== Conditional jump or move depends on uninitialised value(s)
    ==17163== at 0x1B8ECB13: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1B8E631C: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1B8F2BDD: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1B8E7675: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1B8E47C6: (within /lib/ld-2.3.5.so)
    ==17163==
    ==17163== Conditional jump or move depends on uninitialised value(s)
    ==17163== at 0x1B8EC7D3: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1B8E631C: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1B8F2BDD: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1B8E7675: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1B8E47C6: (within /lib/ld-2.3.5.so)
    ==17163==
    ==17163== Conditional jump or move depends on uninitialised value(s)
    ==17163== at 0x1B8EC6B6: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1B8E6376: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1B8F2BDD: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1B8E7675: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1B8E47C6: (within /lib/ld-2.3.5.so)
    ==17163==
    ==17163== Conditional jump or move depends on uninitialised value(s)
    ==17163== at 0x1B8EC6C2: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1B8E6376: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1B8F2BDD: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1B8E7675: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1B8E47C6: (within /lib/ld-2.3.5.so)
    ==17163==
    ==17163== Conditional jump or move depends on uninitialised value(s)
    ==17163== at 0x1B8EC7D3: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1B8E6376: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1B8F2BDD: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1B8E7675: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1B8E47C6: (within /lib/ld-2.3.5.so)
    ==17163==
    ==17163== Conditional jump or move depends on uninitialised value(s)
    ==17163== at 0x1B8ECB13: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1BC5E4BA: (within /lib/tls/libc-2.3.5.so)
    ==17163== by 0x1B8EF026: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1BC5EB85: _dl_open (in /lib/tls/libc-2.3.5.so)
    ==17163== by 0x1BCA4D32: (within /lib/tls/libdl-2.3.5.so)
    ==17163== by 0x1B8EF026: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1BCA5486: (within /lib/tls/libdl-2.3.5.so)
    ==17163== by 0x1BCA4DB0: dlopen (in /lib/tls/libdl-2.3.5.so)
    ==17163== by 0x1BDECE9F: (within /usr/X11R6/lib/libX11.so.6.2)
    ==17163== by 0x1BDECFEE: _XNoticeCreateBitmap (in /usr/X11R6/lib/libX11.so.6.2)
    ==17163== by 0x1BDED5D1: XCreatePixmap (in /usr/X11R6/lib/libX11.so.6.2)
    ==17163== by 0x1B96B917: X11_CreateWMCursor (in /usr/lib/libSDL-1.2.so.0.7.1)
    ==17163==
    ==17163== Conditional jump or move depends on uninitialised value(s)
    ==17163== at 0x1B8EC7D3: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1BC5E4BA: (within /lib/tls/libc-2.3.5.so)
    ==17163== by 0x1B8EF026: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1BC5EB85: _dl_open (in /lib/tls/libc-2.3.5.so)
    ==17163== by 0x1BCA4D32: (within /lib/tls/libdl-2.3.5.so)
    ==17163== by 0x1B8EF026: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1BCA5486: (within /lib/tls/libdl-2.3.5.so)
    ==17163== by 0x1BCA4DB0: dlopen (in /lib/tls/libdl-2.3.5.so)
    ==17163== by 0x1BDECE9F: (within /usr/X11R6/lib/libX11.so.6.2)
    ==17163== by 0x1BDECFEE: _XNoticeCreateBitmap (in /usr/X11R6/lib/libX11.so.6.2)
    ==17163== by 0x1BDED5D1: XCreatePixmap (in /usr/X11R6/lib/libX11.so.6.2)
    ==17163== by 0x1B96B917: X11_CreateWMCursor (in /usr/lib/libSDL-1.2.so.0.7.1)
    ==17163==
    ==17163== Conditional jump or move depends on uninitialised value(s)
    ==17163== at 0x1B91B1E1: claw::graphic::image::safe_alloc(unsigned, unsigned) (in /usr/local/lib/libclaw_graphic.so)
    ==17163== by 0x1B91B938: claw::graphic::image::image(unsigned, unsigned) (in /usr/local/lib/libclaw_graphic.so)
    ==17163== by 0x804F9E5: visual::screen::screen(claw::math::coordinate_2d<unsigned> const&) (in ./test_visual/test_visual)
    ==17163== by 0x804A902: main (in ./test_visual/test_visual)
    ==17163==
    ==17163== Conditional jump or move depends on uninitialised value(s)
    ==17163== at 0x1B91B1E6: claw::graphic::image::safe_alloc(unsigned, unsigned) (in /usr/local/lib/libclaw_graphic.so)
    ==17163== by 0x1B91B938: claw::graphic::image::image(unsigned, unsigned) (in /usr/local/lib/libclaw_graphic.so)
    ==17163== by 0x804F9E5: visual::screen::screen(claw::math::coordinate_2d<unsigned> const&) (in ./test_visual/test_visual)
    ==17163== by 0x804A902: main (in ./test_visual/test_visual)
    ==17163==
    ==17163== Conditional jump or move depends on uninitialised value(s)
    ==17163== at 0x1B8EC6B6: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1BC5E4BA: (within /lib/tls/libc-2.3.5.so)
    ==17163== by 0x1B8EF026: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1BC5EB85: _dl_open (in /lib/tls/libc-2.3.5.so)
    ==17163== by 0x1BCA4D32: (within /lib/tls/libdl-2.3.5.so)
    ==17163== by 0x1B8EF026: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1BCA5486: (within /lib/tls/libdl-2.3.5.so)
    ==17163== by 0x1BCA4DB0: dlopen (in /lib/tls/libdl-2.3.5.so)
    ==17163== by 0x1B9FD514: (within /usr/X11R6/lib/libGL.so.1.2)
    ==17163== by 0x1B9FD867: driGetDriver (in /usr/X11R6/lib/libGL.so.1.2)
    ==17163== by 0x1B9FDB2B: driCreateDisplay (in /usr/X11R6/lib/libGL.so.1.2)
    ==17163== by 0x1BA1D603: __glXInitialize (in /usr/X11R6/lib/libGL.so.1.2)
    ==17163==
    ==17163== Conditional jump or move depends on uninitialised value(s)
    ==17163== at 0x1B8EC955: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1BC5E4BA: (within /lib/tls/libc-2.3.5.so)
    ==17163== by 0x1B8EF026: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1BC5EB85: _dl_open (in /lib/tls/libc-2.3.5.so)
    ==17163== by 0x1BCA4D32: (within /lib/tls/libdl-2.3.5.so)
    ==17163== by 0x1B8EF026: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1BCA5486: (within /lib/tls/libdl-2.3.5.so)
    ==17163== by 0x1BCA4DB0: dlopen (in /lib/tls/libdl-2.3.5.so)
    ==17163== by 0x1B9FD514: (within /usr/X11R6/lib/libGL.so.1.2)
    ==17163== by 0x1B9FD867: driGetDriver (in /usr/X11R6/lib/libGL.so.1.2)
    ==17163== by 0x1B9FDB2B: driCreateDisplay (in /usr/X11R6/lib/libGL.so.1.2)
    ==17163== by 0x1BA1D603: __glXInitialize (in /usr/X11R6/lib/libGL.so.1.2)
    ==17163==
    ==17163== Conditional jump or move depends on uninitialised value(s)
    ==17163== at 0x1B8ECAE6: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1BC5E4BA: (within /lib/tls/libc-2.3.5.so)
    ==17163== by 0x1B8EF026: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1BC5EB85: _dl_open (in /lib/tls/libc-2.3.5.so)
    ==17163== by 0x1BCA4D32: (within /lib/tls/libdl-2.3.5.so)
    ==17163== by 0x1B8EF026: (within /lib/ld-2.3.5.so)
    ==17163== by 0x1BCA5486: (within /lib/tls/libdl-2.3.5.so)
    ==17163== by 0x1BCA4DB0: dlopen (in /lib/tls/libdl-2.3.5.so)
    ==17163== by 0x1B9FD514: (within /usr/X11R6/lib/libGL.so.1.2)
    ==17163== by 0x1B9FD867: driGetDriver (in /usr/X11R6/lib/libGL.so.1.2)
    ==17163== by 0x1B9FDB2B: driCreateDisplay (in /usr/X11R6/lib/libGL.so.1.2)
    ==17163== by 0x1BA1D603: __glXInitialize (in /usr/X11R6/lib/libGL.so.1.2)
    ==17163==
    ==17163== Syscall param ioctl(generic) points to uninitialised byte(s)
    ==17163== at 0x1BC21544: ioctl (in /lib/tls/libc-2.3.5.so)
    ==17163== by 0x1BA2DC1D: (within /usr/X11R6/lib/libGL.so.1.2)
    ==17163== by 0x1BA2DE43: drmOpen (in /usr/X11R6/lib/libGL.so.1.2)
    ==17163== by 0x1BA1D650: __glXInitialize (in /usr/X11R6/lib/libGL.so.1.2)
    ==17163== by 0x1BA18CB8: (within /usr/X11R6/lib/libGL.so.1.2)
    ==17163== by 0x1BA1A500: glXChooseVisual (in /usr/X11R6/lib/libGL.so.1.2)
    ==17163== by 0x1B9698C8: X11_GL_GetVisual (in /usr/lib/libSDL-1.2.so.0.7.1)
    ==17163== by 0x1B96E23C: (within /usr/lib/libSDL-1.2.so.0.7.1)
    ==17163== by 0x1B9639D5: SDL_SetVideoMode (in /usr/lib/libSDL-1.2.so.0.7.1)
    ==17163== by 0x804FA00: visual::screen::screen(claw::math::coordinate_2d<unsigned> const&) (in ./test_visual/test_visual)
    ==17163== by 0x804A902: main (in ./test_visual/test_visual)
    ==17163== Address 0x52BFDE8C is on thread 1's stack
    ==17163==
    ==17163== Process terminating with default action of signal 11 (SIGSEGV)
    ==17163== GPF (Pointer out of bounds?)
    ==17163== at 0x1C4A5B4B: (within /usr/X11R6/lib/modules/dri/radeon_dri.so)
    ==17163== by 0x1C411AE9: (within /usr/X11R6/lib/modules/dri/radeon_dri.so)
    ==17163== by 0x1C411B05: (within /usr/X11R6/lib/modules/dri/radeon_dri.so)
    ==17163== by 0x1C38940C: (within /usr/X11R6/lib/modules/dri/radeon_dri.so)
    ==17163== by 0x1C38992F: (within /usr/X11R6/lib/modules/dri/radeon_dri.so)
    ==17163== by 0x1C4B0D94: (within /usr/X11R6/lib/modules/dri/radeon_dri.so)
    ==17163== by 0x1C4AF722: (within /usr/X11R6/lib/modules/dri/radeon_dri.so)
    ==17163== by 0x1BA18F48: (within /usr/X11R6/lib/libGL.so.1.2)
    ==17163== by 0x1BA193D0: glXCreateContext (in /usr/X11R6/lib/libGL.so.1.2)
    ==17163== by 0x1B968FD3: X11_GL_CreateContext (in /usr/lib/libSDL-1.2.so.0.7.1)
    ==17163== by 0x1B96E0A0: (within /usr/lib/libSDL-1.2.so.0.7.1)
    ==17163== by 0x1B9639D5: SDL_SetVideoMode (in /usr/lib/libSDL-1.2.so.0.7.1)
    ==17163==
    ==17163== ERROR SUMMARY: 88 errors from 13 contexts (suppressed: 8 from 2)
    ==17163== malloc/free: in use at exit: 1730853 bytes in 599 blocks.
    ==17163== malloc/free: 840 allocs, 241 frees, 1793490 bytes allocated.
    ==17163== For counts of detected errors, rerun with: -v
    ==17163== searching for pointers to 599 not-freed blocks.
    ==17163== checked 2947072 bytes.
    ==17163==
    ==17163== LEAK SUMMARY:
    ==17163== definitely lost: 0 bytes in 0 blocks.
    ==17163== possibly lost: 0 bytes in 0 blocks.
    ==17163== still reachable: 1730853 bytes in 599 blocks.
    ==17163== suppressed: 0 bytes in 0 blocks.
    ==17163== Reachable blocks (those to which a pointer was found) are not shown.
    ==17163== To see them, rerun with: --show-reachable=yes
    Erreur de segmentation
    Si ça peut aider, c'est un projet qui utilise OpenGL et la SDL.
    J'aimerais avoir un coup de main pour la compréhension de tout ça.

    Merci

  2. #2
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut
    Bonjour

    Pour avoir les infos utiles, compile avec les infos de debuggage, en passant le paramètre -v a valgrind tu aura toutes les infos qui vont bien pour les problèmes détectés (fichier, numéro de lignes, etc ...)

    La sortie te dit que le programme a accédé 88 fois a des zones ou il n'a pas le droit d'aller fouiller (en dehors de zones alouées quoi), depuis 13 endroits différents. Il y a eu 840 malloc et 241 free ce qui est assez embétant ...

    Ca peut également être causé par les librairies que tu utilises, valgrind installe de mémoire des fichiers énumérant les "problèmes connus" ce qui te permet d'épurer le résultat des erreurs qui ne sont pas de toi...

    Smortex

    Les FAQ Assembleur - Linux
    In The Beginning Was The Command Line Neal Stephenson

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    162
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2002
    Messages : 162
    Points : 88
    Points
    88
    Par défaut
    Merci, je comprend un peu mieux. J'ai corrigé deux erreurs dont je suis le responsable et pour les 11 qui reste, il semblerait que ça vienne de /lib/ld-2.3.5.so, et là je n'ai pas trop de possibilités.

    Sinon, quand j'enlève une certaine ligne de mon code, je n'ai toujours pas le résultat attendu mais au lieu d'une erreur de segmentation j'ai
    Expiration de la minuterie durant l'établissement du profile
    Qu'est-ce que ça peut bien vouloir dire ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/03/2014, 22h58
  2. Besoin d'un petit coup de main avec Reflection
    Par teddyalbina dans le forum C#
    Réponses: 1
    Dernier message: 18/11/2008, 00h54
  3. Besoin d'un petit coup de main avec les hash
    Par scaleo dans le forum Langage
    Réponses: 6
    Dernier message: 31/05/2006, 23h12
  4. Besoin d'un ti coup de mains avec WWW::RobotRules
    Par scaleo dans le forum Modules
    Réponses: 3
    Dernier message: 06/09/2005, 12h27
  5. Réponses: 3
    Dernier message: 28/02/2003, 17h06

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