Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/04/2014, à 18:42

Dark42100

Valgrind, reconnaître faux positif

Bonjour,

J'ai écrit un programme que j'ai suivit via un tuto. J'ai voulu faire un test valgrind afin de me familiariser avec ses différentes options. Et le rapport m'a montré différentes erreurs. En faisant pas mal de recherche sur Google, j'ai appris ce qu'il existé des faux positifs et qu'on pouvait faire en sorte que Valgrind les ignore. Le problème est que je ne sais pas du tout quelles erreurs n'en sont pas. Et je ne voudrais pas me planter. Si quelqu'un est susceptible de m'aider à les reconnaître.

J'ai fournis le rapport de valgrind. Ainsi que mon main.cpp. Si jamais j'ai fait de réelles erreurs.

Merci d'avance.

#include <QApplication>
#include <QPushButton>
#include <QBoxLayout>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QWidget fenetre;
    
    QPushButton *bouton1 = new QPushButton("Bonjour");
    QPushButton *bouton2 = new QPushButton("les");
    QPushButton *bouton3 = new QPushButton("Zeros");

    QHBoxLayout *layout = new QHBoxLayout;

    layout->addWidget(bouton1);
    layout->addWidget(bouton2);
    layout->addWidget(bouton3);
    fenetre.setLayout(layout);
    fenetre.show();

    return app.exec();
}
==11843== Memcheck, a memory error detector
==11843== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==11843== Using Valgrind-3.9.0 and LibVEX; rerun with -h for copyright info
==11843== Command: /home/nouvalinux/Programmations/Qt/Layouts-build-desktop-Qt_4_8_1_dans_le_PATH__Syst_me__Debug/Layouts
==11843== 
==11843== Invalid read of size 4
==11843==    at 0x68B20D3: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68B4464: FcConfigFilename (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C7A15: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68BD176: FcInitLoadConfig (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68BD265: FcInitLoadConfigAndFonts (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68BD484: FcInit (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x50793D9: ??? (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.1)
==11843==    by 0x50069C3: QApplicationPrivate::construct(_XDisplay*, unsigned long, unsigned long) (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.1)
==11843==    by 0x5007283: QApplication::QApplication(int&, char**, int) (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.1)
==11843==    by 0x400CB0: main (main.cpp:7)
==11843==  Address 0xa0f97d4 is 20 bytes inside a block of size 22 alloc'd
==11843==    at 0x4C2C857: malloc (vg_replace_malloc.c:291)
==11843==    by 0x68B202C: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68B4464: FcConfigFilename (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C7A15: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68BD176: FcInitLoadConfig (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68BD265: FcInitLoadConfigAndFonts (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68BD484: FcInit (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x50793D9: ??? (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.1)
==11843==    by 0x50069C3: QApplicationPrivate::construct(_XDisplay*, unsigned long, unsigned long) (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.1)
==11843==    by 0x5007283: QApplication::QApplication(int&, char**, int) (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.1)
==11843==    by 0x400CB0: main (main.cpp:7)
==11843== 
==11843== Invalid read of size 4
==11843==    at 0x68B20E8: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68B4464: FcConfigFilename (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C7A15: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C80FD: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x8FC86F3: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC9950: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC67C6: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC817A: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FCB75C: XML_ParseBuffer (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x68C7B70: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68BD176: FcInitLoadConfig (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68BD265: FcInitLoadConfigAndFonts (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==  Address 0xa101990 is 16 bytes inside a block of size 18 alloc'd
==11843==    at 0x4C2C857: malloc (vg_replace_malloc.c:291)
==11843==    by 0x68B202C: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68B4464: FcConfigFilename (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C7A15: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C80FD: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x8FC86F3: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC9950: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC67C6: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC817A: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FCB75C: XML_ParseBuffer (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x68C7B70: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68BD176: FcInitLoadConfig (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843== 
==11843== Invalid read of size 4
==11843==    at 0x68B20E8: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C7A15: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C7E77: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C80FD: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x8FC86F3: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC9950: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC67C6: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC817A: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FCB75C: XML_ParseBuffer (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x68C7B70: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68BD176: FcInitLoadConfig (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68BD265: FcInitLoadConfigAndFonts (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==  Address 0xa117e48 is 40 bytes inside a block of size 42 alloc'd
==11843==    at 0x4C2C857: malloc (vg_replace_malloc.c:291)
==11843==    by 0x68B202C: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C7A15: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C7E77: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C80FD: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x8FC86F3: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC9950: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC67C6: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC817A: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FCB75C: XML_ParseBuffer (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x68C7B70: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68BD176: FcInitLoadConfig (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843== 
==11843== Invalid read of size 4
==11843==    at 0x68B20D3: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C7A15: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C7E77: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C80FD: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x8FC86F3: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC9950: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC67C6: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC817A: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FCB75C: XML_ParseBuffer (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x68C7B70: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68BD176: FcInitLoadConfig (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68BD265: FcInitLoadConfigAndFonts (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==  Address 0xa14b654 is 36 bytes inside a block of size 39 alloc'd
==11843==    at 0x4C2C857: malloc (vg_replace_malloc.c:291)
==11843==    by 0x68B202C: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C7A15: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C7E77: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C80FD: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x8FC86F3: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC9950: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC67C6: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC817A: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FCB75C: XML_ParseBuffer (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x68C7B70: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68BD176: FcInitLoadConfig (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843== 
==11843== Invalid read of size 4
==11843==    at 0x68B20D3: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C7A15: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C80FD: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x8FC86F3: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC9950: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC67C6: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC817A: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FCB75C: XML_ParseBuffer (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x68C7B70: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C7E77: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C80FD: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x8FC86F3: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==  Address 0xa17136c is 28 bytes inside a block of size 30 alloc'd
==11843==    at 0x4C2C857: malloc (vg_replace_malloc.c:291)
==11843==    by 0x68B202C: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C7A15: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C80FD: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x8FC86F3: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC9950: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC67C6: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC817A: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FCB75C: XML_ParseBuffer (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x68C7B70: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C7E77: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C80FD: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843== 
==11843== Invalid read of size 4
==11843==    at 0x68B20D3: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68B4464: FcConfigFilename (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C7A15: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C80FD: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x8FC86F3: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC9950: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC67C6: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC817A: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FCB75C: XML_ParseBuffer (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x68C7B70: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C7E77: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C80FD: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==  Address 0xa1793d4 is 20 bytes inside a block of size 22 alloc'd
==11843==    at 0x4C2C857: malloc (vg_replace_malloc.c:291)
==11843==    by 0x68B202C: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68B4464: FcConfigFilename (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C7A15: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C80FD: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x8FC86F3: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC9950: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC67C6: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FC817A: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x8FCB75C: XML_ParseBuffer (in /lib/x86_64-linux-gnu/libexpat.so.1.5.2)
==11843==    by 0x68C7B70: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843==    by 0x68C7E77: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.4.4)
==11843== 
==11843== 
==11843== HEAP SUMMARY:
==11843==     in use at exit: 183,644 bytes in 2,296 blocks
==11843==   total heap usage: 24,262 allocs, 21,966 frees, 3,535,587 bytes allocated
==11843== 
==11843== LEAK SUMMARY:
==11843==    definitely lost: 1,916 bytes in 13 blocks
==11843==    indirectly lost: 3,936 bytes in 101 blocks
==11843==      possibly lost: 2,448 bytes in 7 blocks
==11843==    still reachable: 175,344 bytes in 2,175 blocks
==11843==         suppressed: 0 bytes in 0 blocks
==11843== Rerun with --leak-check=full to see details of leaked memory
==11843== 
==11843== For counts of detected and suppressed errors, rerun with: -v
==11843== ERROR SUMMARY: 23 errors from 6 contexts (suppressed: 0 from 0)

Dernière modification par Dark42100 (Le 17/04/2014, à 19:49)

Hors ligne

#2 Le 17/04/2014, à 19:16

pingouinux

Re : Valgrind, reconnaître faux positif

Bonjour,
Je peux juste faire une remarque, c'est que les 4 delete à la fin du main ne sont jamais atteints (à cause du return qui les précède).

Hors ligne

#3 Le 17/04/2014, à 19:52

Dark42100

Re : Valgrind, reconnaître faux positif

Bonjour,

C'est pas faux, une erreur que j'ai fait quand je testais différentes choses avec le débogueur. Ça n'a rien changé sur le rapport Valgrind par contre. En plus ils sont détruits automatiquement à la fin du programme, non ?

Hors ligne