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
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 20/11/2008, 04h56   #1
Membre confirmé
 
Avatar de lastrecrue
 
Développeur informatique
Inscription : février 2006
Messages : 359
Détails du profil
Informations personnelles :
Âge : 29

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 359
Points : 233
Points : 233
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 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
*** 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 00
Vieux 20/11/2008, 08h31   #2
Membre éprouvé
 
Avatar de MacPro
 
Inscription : novembre 2007
Messages : 354
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : novembre 2007
Messages : 354
Points : 409
Points : 409
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 00
Vieux 20/11/2008, 09h16   #3
yan
Rédacteur/Modérateur
 
Avatar de yan
 
Homme yan verdavaine
Ingénieur expert
Inscription : mars 2004
Messages : 9 520
Détails du profil
Informations personnelles :
Nom : Homme yan verdavaine
Âge : 30
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 : 9 520
Points : 12 084
Points : 12 084
Salut,
vérifie tes allocations et de-allocation.
Tu as surement une erreur mémoire quelque part.
As tu redéfinie le paintevent?
__________________
[Critique] L'art du game design : 100 objectifs pour mieux concevoir vos jeux
QExtend
Moi
Android : TVA Calculator & My Tip

-----------------------------------------------------------------------------
Intéressé pour participer à la rubrique Qt ou Android? n'hésitez pas à m'envoyer un MP
yan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2008, 10h52   #4
Membre confirmé
 
Inscription : octobre 2007
Messages : 234
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 234
Points : 254
Points : 254
Pour info la backtrace en plus lisible :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
======= 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 00
Vieux 20/11/2008, 14h03   #5
Membre émérite
 
Avatar de FloMo
 
Inscription : juillet 2004
Messages : 715
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 715
Points : 899
Points : 899
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 iPhone / iPod Touch / iPad
Formation au développement iOS sur iPhone - video2brain
FloMo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2008, 20h03   #6
Membre confirmé
 
Avatar de lastrecrue
 
Développeur informatique
Inscription : février 2006
Messages : 359
Détails du profil
Informations personnelles :
Âge : 29

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 359
Points : 233
Points : 233
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 00
Vieux 21/11/2008, 22h35   #7
yan
Rédacteur/Modérateur
 
Avatar de yan
 
Homme yan verdavaine
Ingénieur expert
Inscription : mars 2004
Messages : 9 520
Détails du profil
Informations personnelles :
Nom : Homme yan verdavaine
Âge : 30
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 : 9 520
Points : 12 084
Points : 12 084
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
__________________
[Critique] L'art du game design : 100 objectifs pour mieux concevoir vos jeux
QExtend
Moi
Android : TVA Calculator & My Tip

-----------------------------------------------------------------------------
Intéressé pour participer à la rubrique Qt ou Android? n'hésitez pas à m'envoyer un MP
yan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2008, 03h16   #8
Membre confirmé
 
Avatar de lastrecrue
 
Développeur informatique
Inscription : février 2006
Messages : 359
Détails du profil
Informations personnelles :
Âge : 29

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 359
Points : 233
Points : 233
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 00
Vieux 22/11/2008, 07h59   #9
Membre confirmé
 
Avatar de lastrecrue
 
Développeur informatique
Inscription : février 2006
Messages : 359
Détails du profil
Informations personnelles :
Âge : 29

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 359
Points : 233
Points : 233
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 :
1
2
QList<double> *ql=new QList<double();
ql=new QList<double();
lastrecrue est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2008, 10h30   #10
Membre confirmé
 
Inscription : octobre 2007
Messages : 234
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 234
Points : 254
Points : 254
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 00
Vieux 22/11/2008, 10h58   #11
yan
Rédacteur/Modérateur
 
Avatar de yan
 
Homme yan verdavaine
Ingénieur expert
Inscription : mars 2004
Messages : 9 520
Détails du profil
Informations personnelles :
Nom : Homme yan verdavaine
Âge : 30
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 : 9 520
Points : 12 084
Points : 12 084
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.
__________________
[Critique] L'art du game design : 100 objectifs pour mieux concevoir vos jeux
QExtend
Moi
Android : TVA Calculator & My Tip

-----------------------------------------------------------------------------
Intéressé pour participer à la rubrique Qt ou Android? n'hésitez pas à m'envoyer un MP
yan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2008, 18h13   #12
Membre confirmé
 
Avatar de lastrecrue
 
Développeur informatique
Inscription : février 2006
Messages : 359
Détails du profil
Informations personnelles :
Âge : 29

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 359
Points : 233
Points : 233
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 00
Vieux 22/11/2008, 18h44   #13
yan
Rédacteur/Modérateur
 
Avatar de yan
 
Homme yan verdavaine
Ingénieur expert
Inscription : mars 2004
Messages : 9 520
Détails du profil
Informations personnelles :
Nom : Homme yan verdavaine
Âge : 30
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 : 9 520
Points : 12 084
Points : 12 084
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]
__________________
[Critique] L'art du game design : 100 objectifs pour mieux concevoir vos jeux
QExtend
Moi
Android : TVA Calculator & My Tip

-----------------------------------------------------------------------------
Intéressé pour participer à la rubrique Qt ou Android? n'hésitez pas à m'envoyer un MP
yan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 05h17.


 
 
 
 
Partenaires

Hébergement Web