Précédent   Forum des professionnels en informatique > C et C++ > Bibliothèques > Qt > Débuter

Débuter Forum d'entraide pour débuter avec la bibliothèque Qt

Réponse
 
Outils de la discussion
Vieux 20/11/2008, 04h56   #1 (permalink)
Membre Confirmé
 
Avatar de lastrecrue
 
Date d'inscription: février 2006
Localisation: Maroc, Salé
Âge: 26
Messages: 256
Par défaut message d'erreur incomprehensible

pour etre cours, mon interface marche bien pour j'avance doucement mais surment vers mon but final si tout ce passe bien mais de temps en temps j'ai ce messag d'erreur
la lus part du temps il ferme ma fenêtre des fois non...

Code :
*** glibc detected *** ./qt_metah: corrupted double-linked list: 0x0a14cd98 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb71bcf1f]
/lib/tls/i686/cmov/libc.so.6[0xb71be077]
/lib/tls/i686/cmov/libc.so.6(cfree+0x96)[0xb71be456]
/usr/lib/libQtCore.so.4(_Z5qFreePv+0x1d)[0xb7439f2d]
/usr/lib/libQtGui.so.4(_ZN12QPainterPathD1Ev+0x4c)[0xb7869c5c]
/usr/lib/libQtGui.so.4[0xb79096ac]
/usr/lib/libQtGui.so.4[0xb785a87b]
/usr/lib/libQtGui.so.4[0xb785a94b]
/usr/lib/libQtGui.so.4(_ZN8QPainter4saveEv+0x3e)[0xb785b58e]
/usr/lib/libQtGui.so.4[0xb785bc9a]
/usr/lib/libQtGui.so.4(_ZN8QPainterC1EP12QPaintDevice+0x35)[0xb785e555]
/usr/lib/libQtGui.so.4(_ZN14QWidgetPrivate10drawWidgetEP12QPaintDeviceRK7QRegionRK6QPointiP8QPainter+0x691)[0xb77a82b1]
/usr/lib/libQtGui.so.4[0xb7917fae]
/usr/lib/libQtGui.so.4[0xb7918477]
/usr/lib/libQtGui.so.4(_ZN7QWidget5eventEP6QEvent+0x5b6)[0xb77a95b6]
/usr/lib/libQtGui.so.4(_ZN11QMainWindow5eventEP6QEvent+0x77)[0xb7afd497]
/usr/lib/libQtGui.so.4(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0xbc)[0xb77518ec]
/usr/lib/libQtGui.so.4(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x18a)[0xb775983a]
/usr/lib/libQtCore.so.4(_ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent+0xb1)[0xb752fe61]
/usr/lib/libQtCore.so.4(_ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData+0x2a5)[0xb7530ae5]
/usr/lib/libQtCore.so.4(_ZN16QCoreApplication16sendPostedEventsEP7QObjecti+0x2d)[0xb7530cdd]
/usr/lib/libQtCore.so.4[0xb755a82f]
/usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x1e8)[0xb70596f8]
/usr/lib/libglib-2.0.so.0[0xb705cda3]
/usr/lib/libglib-2.0.so.0(g_main_context_iteration+0x71)[0xb705cf61]
/usr/lib/libQtCore.so.4(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x58)[0xb755a478]
/usr/lib/libQtGui.so.4[0xb77ebee5]
/usr/lib/libQtCore.so.4(_ZN10QEventLoop13processEventsE6QFlagsINS_17ProcessEventsFlagEE+0x4a)[0xb752e52a]
/usr/lib/libQtCore.so.4(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0xea)[0xb752e6ea]
/usr/lib/libQtCore.so.4(_ZN16QCoreApplication4execEv+0xb5)[0xb7530da5]
/usr/lib/libQtGui.so.4(_ZN12QApplication4execEv+0x27)[0xb7751767]
./qt_metah[0x804c087]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe5)[0xb7163685]
./qt_metah[0x804b721]
======= Memory map: ========
08048000-08051000 r-xp 00000000 08:09 587549     /home/achraf/Bureau/QT/qt_metah/qt_metah
08051000-08052000 r--p 00008000 08:09 587549     /home/achraf/Bureau/QT/qt_metah/qt_metah
08052000-08053000 rw-p 00009000 08:09 587549     /home/achraf/Bureau/QT/qt_metah/qt_metah
0a034000-0a176000 rw-p 0a034000 00:00 0          [heap]
b6900000-b6921000 rw-p b6900000 00:00 0 
b6921000-b6a00000 ---p b6921000 00:00 0 
b6a93000-b6aa7000 r--p 00000000 08:08 184136     /usr/share/fonts/type1/gsfonts/n019003l.pfb
b6aa7000-b6ab1000 r-xp 00000000 08:08 355278     /lib/tls/i686/cmov/libnss_files-2.8.90.so
b6ab1000-b6ab2000 r--p 00009000 08:08 355278     /lib/tls/i686/cmov/libnss_files-2.8.90.so
b6ab2000-b6ab3000 rw-p 0000a000 08:08 355278     /lib/tls/i686/cmov/libnss_files-2.8.90.so
b6ab3000-b6abc000 r-xp 00000000 08:08 355280     /lib/tls/i686/cmov/libnss_nis-2.8.90.so
b6abc000-b6abd000 r--p 00008000 08:08 355280     /lib/tls/i686/cmov/libnss_nis-2.8.90.so
b6abd000-b6abe000 rw-p 00009000 08:08 355280     /lib/tls/i686/cmov/libnss_nis-2.8.90.so
b6abe000-b6ac5000 r-xp 00000000 08:08 355276     /lib/tls/i686/cmov/libnss_compat-2.8.90.so
b6ac5000-b6ac6000 r--p 00006000 08:08 355276     /lib/tls/i686/cmov/libnss_compat-2.8.90.so
b6ac6000-b6ac7000 rw-p 00007000 08:08 355276     /lib/tls/i686/cmov/libnss_compat-2.8.90.so
b6ac7000-b6adc000 r-xp 00000000 08:08 355275     /lib/tls/i686/cmov/libnsl-2.8.90.so
b6adc000-b6add000 r--p 00014000 08:08 355275     /lib/tls/i686/cmov/libnsl-2.8.90.so
b6add000-b6ade000 rw-p 00015000 08:08 355275     /lib/tls/i686/cmov/libnsl-2.8.90.so
b6ade000-b6ae0000 rw-p b6ade000 00:00 0 
b6ae0000-b6b16000 r-xp 00000000 08:08 506529     /lib/libdbus-1.so.3.4.0
b6b16000-b6b17000 r--p 00035000 08:08 506529     /lib/libdbus-1.so.3.4.0
b6b17000-b6b18000 rw-p 00036000 08:08 506529     /lib/libdbus-1.so.3.4.0
b6b18000-b6b33000 r-xp 00000000 08:08 67507      /usr/lib/libdbus-glib-1.so.2.1.0
b6b33000-b6b34000 r--p 0001a000 08:08 67507      /usr/lib/libdbus-glib-1.so.2.1.0
b6b34000-b6b35000 rw-p 0001b000 08:08 67507      /usr/lib/libdbus-glib-1.so.2.1.0
b6b35000-b6b7e000 r-xp 00000000 08:08 66783      /usr/lib/libORBit-2.so.0.1.0
b6b7e000-b6b86000 r--p 00049000 08:08 66783      /usr/lib/libORBit-2.so.0.1.0
b6b86000-b6b88000 rw-p 00051000 08:08 66783      /usr/lib/libORBit-2.so.0.1.0
b6b88000-b6b8b000 r-xp 00000000 08:08 65991      /usr/lib/libgmodule-2.0.so.0.1800.2
b6b8b000-b6b8c000 r--p 00002000 08:08 65991      /usr/lib/libgmodule-2.0.so.0.1800.2
b6b8c000-b6b8d000 rw-p 00003000 08:08 65991      /usr/lib/libgmodule-2.0.so.0.1800.2
b6b8d000-b6bbb000 r-xp 00000000 08:08 65687      /usr/lib/libgconf-2.so.4.1.5
b6bbb000-b6bbc000 ---p 0002e000 08:08 65687      /usr/lib/libgconf-2.so.4.1.5
b6bbc000-b6bbd000 r--p 0002e000 08:08 65687      /usr/lib/libgconf-2.so.4.1.5
b6bbd000-b6bbf000 rw-p 0002f000 08:08 65687      /usr/lib/libgconf-2.so.4.1.5
b6bbf000-b6bfb000 r-xp 00000000 08:08 65993      /usr/lib/libgobject-2.0.so.0.1800.2
b6bfb000-b6bfc000 r--p 0003b000 08:08 65993      /usr/lib/libgobject-2.0.so.0.1800.2
b6bfc000-b6bfd000 rw-p 0003c000 08:08 65993      /usr/lib/libgobject-2.0.so.0.1800.2
b6bfd000-b6bff000 r-xp 00000000 08:08 67403      /usr/lib/Abandon
 
je sais vraiment pas pourquoi...
lastrecrue est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 20/11/2008, 08h31   #2 (permalink)
Membre éclairé
 
Avatar de MacPro
 
Date d'inscription: novembre 2007
Localisation: Villeurbanne
Âge: 25
Messages: 319
Par défaut

Salut,

Je ne connais pas du tout linux, mais en une minute, je copie colle ton erreur sur google et je tombe rapidement sur des pages où ce problème est traité :

Glibc corrupted double-linked list

La personne qui poste ce message précise :

Citation:
Setting the environment variable
MALLOC_CHECK_ to 0 circumvents this behaviour
voilà sur une autre page un peu plus :

Citation:
.... 0 to ignore corruptions
1 to print to stderr(3)
2 to abort immediately

What I immediately did is $ export MALLOC_CHECK_=0 ....

Enfin, le problème ne semble pas venir de ton code. Pour plus d'infos sur le malloc, tu peux faire un man malloc.
__________________
Lorsque vous avez trouvé solution à votre problème, n'oubliez pas de cliquer en bas de la page
Besoin d'un photographe de mariage : http://www.triangle-photo.fr

Dernière modification par yan ; 20/11/2008 à 09h09. Motif: agressivité un peu trop rapide
MacPro est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 20/11/2008, 09h16   #3 (permalink)
yan
Rédacteur/Modérateur
 
Avatar de yan
 
Date d'inscription: mars 2004
Localisation: rennes
Âge: 27
Messages: 5 797
Par défaut

Salut,
vérifie tes allocations et de-allocation.
Tu as surement une erreur mémoire quelque part.
As tu redéfinie le paintevent?
__________________
anciennement Mongaulois

Qt need you!!
Intéressé pour participer à la FAQ (100 QR), Tutoriels ou Traduction des tuto Qt? n'hésitez pas à m'envoyer un MP
Mon nom sur mars
yan est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 20/11/2008, 10h52   #4 (permalink)
Membre Confirmé
 
Date d'inscription: octobre 2007
Messages: 238
Par défaut

Pour info la backtrace en plus lisible :
Code :
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb71bcf1f]
/lib/tls/i686/cmov/libc.so.6[0xb71be077]
/lib/tls/i686/cmov/libc.so.6(cfree+0x96)[0xb71be456]
/usr/lib/libQtCore.so.4(qFree(void*)+0x1d)[0xb7439f2d]
/usr/lib/libQtGui.so.4(QPainterPath::~QPainterPath()+0x4c)[0xb7869c5c]
/usr/lib/libQtGui.so.4[0xb79096ac]
/usr/lib/libQtGui.so.4[0xb785a87b]
/usr/lib/libQtGui.so.4[0xb785a94b]
/usr/lib/libQtGui.so.4(QPainter::save()+0x3e)[0xb785b58e]
/usr/lib/libQtGui.so.4[0xb785bc9a]
/usr/lib/libQtGui.so.4(QPainter::QPainter(QPaintDevice*)+0x35)[0xb785e555]
/usr/lib/libQtGui.so.4(QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*)+0x691)[0xb77a82b1]
/usr/lib/libQtGui.so.4[0xb7917fae]
/usr/lib/libQtGui.so.4[0xb7918477]
/usr/lib/libQtGui.so.4(QWidget::event(QEvent*)+0x5b6)[0xb77a95b6]
/usr/lib/libQtGui.so.4(QMainWindow::event(QEvent*)+0x77)[0xb7afd497]
/usr/lib/libQtGui.so.4(QApplicationPrivate::notify_helper(QObject*, QEvent*)+0xbc)[0xb77518ec]
/usr/lib/libQtGui.so.4(QApplication::notify(QObject*, QEvent*)+0x18a)[0xb775983a]
/usr/lib/libQtCore.so.4(QCoreApplication::notifyInternal(QObject*, QEvent*)+0xb1)[0xb752fe61]
/usr/lib/libQtCore.so.4(QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)+0x2a5)[0xb7530ae5]
/usr/lib/libQtCore.so.4(QCoreApplication::sendPostedEvents(QObject*, int)+0x2d)[0xb7530cdd]
/usr/lib/libQtCore.so.4[0xb755a82f]
/usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x1e8)[0xb70596f8]
/usr/lib/libglib-2.0.so.0[0xb705cda3]
/usr/lib/libglib-2.0.so.0(g_main_context_iteration+0x71)[0xb705cf61]
/usr/lib/libQtCore.so.4(QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)+0x58)[0xb755a478]
/usr/lib/libQtGui.so.4[0xb77ebee5]
/usr/lib/libQtCore.so.4(QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)+0x4a)[0xb752e52a]
/usr/lib/libQtCore.so.4(QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)+0xea)[0xb752e6ea]
/usr/lib/libQtCore.so.4(QCoreApplication::exec()+0xb5)[0xb7530da5]
/usr/lib/libQtGui.so.4(QApplication::exec()+0x27)[0xb7751767]
./qt_metah[0x804c087]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe5)[0xb7163685]
./qt_metah[0x804b721]
 
Je peux pas trop dire ce qui se passe vraiment, j'ai l'impression qu'il dessine quelque chose et au destructeur de QPainterPath il veut faire un free sur quelque chose, mais ça ne passe pas. Peut-être que le truc a déjà été désalloué avant ?
kinji1 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 20/11/2008, 14h03   #5 (permalink)
Modérateur
 
Avatar de FloMo
 
Date d'inscription: juillet 2004
Messages: 508
Par défaut

Je pense que si on avait ton code en parallèle ce serait plus facile à déboguer.

Si tu veux cibler exactement à quel endroit de ton code source se produit l'erreur, tu peux utiliser valgrind qui est très efficace en la matière.
__________________
"Il est plus facile de décomposer un problème en ses éléments, forcément plus simples, que de le traiter en sa totalité." (R. Descartes)

Développeur Indépendant

iPhone / iPod Touch

Qt Software
Code Less. Create More. Deploy Everywhere.
FloMo est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/11/2008, 20h03   #6 (permalink)
Membre Confirmé
 
Avatar de lastrecrue
 
Date d'inscription: février 2006
Localisation: Maroc, Salé
Âge: 26
Messages: 256
Par défaut

est ce que des malloc sans free peuvent etre la raison de ce message d'erreur????
lastrecrue est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/11/2008, 22h35   #7 (permalink)
yan
Rédacteur/Modérateur
 
Avatar de yan
 
Date d'inscription: mars 2004
Localisation: rennes
Âge: 27
Messages: 5 797
Par défaut

Citation:
Envoyé par lastrecrue Voir le message
est ce que des malloc sans free peuvent etre la raison de ce message d'erreur????
Si tu en fait beaucoup c'est possible.
Mais comme tu est en C++ cela serait très obscures que tu utilise des malloc
__________________
anciennement Mongaulois

Qt need you!!
Intéressé pour participer à la FAQ (100 QR), Tutoriels ou Traduction des tuto Qt? n'hésitez pas à m'envoyer un MP
Mon nom sur mars
yan est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/11/2008, 03h16   #8 (permalink)
Membre Confirmé
 
Avatar de lastrecrue
 
Date d'inscription: février 2006
Localisation: Maroc, Salé
Âge: 26
Messages: 256
Par défaut

comme vous dit pour être moins obscure, je suis entrain de tout refaire avec des class.
je retape la même chose, mais c'est le week end. et puis c'est une bonne occasion d'utiliser Qt a fond, si non y'a pas un équivalent de cmath pour Qt, comme ça je fais du code 100% Qt???

__________________________________________________________________
vive les FAR
lastrecrue est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/11/2008, 07h59   #9 (permalink)
Membre Confirmé
 
Avatar de lastrecrue
 
Date d'inscription: février 2006
Localisation: Maroc, Salé
Âge: 26
Messages: 256
Par défaut

en fait une question qui m'intrigue avant d'avoir le probleme des fuite memoire, qu'est ce qui sepasse pour ce boux de code,
Code :
QList<double> *ql=new QList<double();
ql=new QList<double();
lastrecrue est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/11/2008, 10h30   #10 (permalink)
Membre Confirmé
 
Date d'inscription: octobre 2007
Messages: 238
Par défaut

Avec le chevron fermant manquant, là tu fais une jolie fuite de mémoire.
En gros tu alloues deux fois de suite de la mémoire pour créer une liste (même si elle est vide) et tu stockes les adresses dans ql. Sauf que la deuxième fois, tu perds l'adresse de la première liste allouée et donc tu n'as plus moyen ni de t'en servir, ni de la delete plus tard.
kinji1 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/11/2008, 10h58   #11 (permalink)
yan
Rédacteur/Modérateur
 
Avatar de yan
 
Date d'inscription: mars 2004
Localisation: rennes
Âge: 27
Messages: 5 797
Par défaut

De plus il est tout à fait inutile de faire un pointeur sur une QList car QList est déjà un gestionnaire de mémoire basé sur le RAII.
__________________
anciennement Mongaulois

Qt need you!!
Intéressé pour participer à la FAQ (100 QR), Tutoriels ou Traduction des tuto Qt? n'hésitez pas à m'envoyer un MP
Mon nom sur mars
yan est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/11/2008, 18h13   #12 (permalink)
Membre Confirmé
 
Avatar de lastrecrue
 
Date d'inscription: février 2006
Localisation: Maroc, Salé
Âge: 26
Messages: 256
Par défaut

pourquoi en C++ il y a pas un grabuge collecteur qui va voir que aucune variable ne pointe sur la première mémoire et ainsi libérer la premier mémoire alloué ???
lastrecrue est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/11/2008, 18h44   #13 (permalink)
yan
Rédacteur/Modérateur
 
Avatar de yan
 
Date d'inscription: mars 2004
Localisation: rennes
Âge: 27
Messages: 5 797
Par défaut

Citation:
Envoyé par lastrecrue Voir le message
pourquoi en C++ il y a pas un grabuge collecteur qui va voir que aucune variable ne pointe sur la première mémoire et ainsi libérer la premier mémoire alloué ???
ben non, tu fait tout à l'ancienne (enfin presque)
[troll]
c'est pas un langage d'assisté
[/troll]
__________________
anciennement Mongaulois

Qt need you!!
Intéressé pour participer à la FAQ (100 QR), Tutoriels ou Traduction des tuto Qt? n'hésitez pas à m'envoyer un MP
Mon nom sur mars
yan est déconnecté   Envoyer un message privé Réponse avec citation
NEWS QTFAQ QtTUTORIELS QtOUTILS QtLIVRES QtBLOG QtQt TV

Réponse

Précédent   Forum des professionnels en informatique > C et C++ > Bibliothèques > Qt > Débuter



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 17h01.


Vos questions techniques : forum d'entraide Qt - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2009 www.developpez.com - Legal informations.