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

C++ Discussion :

fuite de mémoire?


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 95
    Par défaut fuite de mémoire?
    bonjour,

    j'ai un problème, un segfault avec le message suivant que Je ne comprends pas bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
     
     
    /usr/lib/libmysqlclient.so.15(end_server+0x47)[0xb7e56a87]
    /usr/lib/libmysqlclient.so.15(cli_safe_read+0x70)[0xb7e56c80]
    /usr/lib/libmysqlclient.so.15[0xb7e572c5]
    /usr/lib/libmysqlclient.so.15(mysql_real_query+0x44)[0xb7e55ed4]
    /usr/lib/libmysqlclient.so.15(mysql_query+0x35)[0xb7e2ec75]
    ./test[0x804ab14]
    ./test[0x804f428]
    ./test[0x804ff22]
    ./test[0x804ff7a]
    ./test[0x804ffbd]
    ./test[0x804ffd7]
    /usr/lib/libboost_thread-gcc41-mt-1_34_1.so.1.34.1(_ZNK5boost9function0IvSaINS_13function_baseEEEclEv+0xca)[0xb7dac41a]
    /usr/lib/libboost_thread-gcc41-mt-1_34_1.so.1.34.1[0xb7dac047]
    /lib/tls/i686/cmov/libpthread.so.0[0xb7b2446b]
    /lib/tls/i686/cmov/libc.so.6(clone+0x5e)[0xb7c0a6de]
    ======= Memory map: ========
    08048000-08053000 r-xp 00000000 08:08 5275673    /home/zorg/developpement/bt_r/src_essai_telechargement_liste_url/test
    08053000-08054000 rw-p 0000b000 08:08 5275673    /home/zorg/developpement/bt_r/src_essai_telechargement_liste_url/test
    08054000-08097000 rw-p 08054000 00:00 0          [heap]
    914dd000-914de000 ---p 914dd000 00:00 0 
    914de000-91cde000 rw-p 914de000 00:00 0 
    91cde000-91cdf000 ---p 91cde000 00:00 0 
    91cdf000-924df000 rw-p 91cdf000 00:00 0 
    924df000-924e0000 ---p 924df000 00:00 0 
    924e0000-92ce0000 rw-p 924e0000 00:00 0 
    92ce0000-92ce1000 ---p 92ce0000 00:00 0 
    92ce1000-934e1000 rw-p 92ce1000 00:00 0 
    934e1000-934e2000 ---p 934e1000 00:00 0 
    934e2000-93ce2000 rw-p 934e2000 00:00 0 
    93ce2000-93ce3000 ---p 93ce2000 00:00 0 
    93ce3000-944e3000 rw-p 93ce3000 00:00 0 
    944e3000-944e4000 ---p 944e3000 00:00 0 
    944e4000-94ce4000 rw-p 944e4000 00:00 0 
    94ce4000-94ce5000 ---p 94ce4000 00:00 0 
    94ce5000-954e5000 rw-p 94ce5000 00:00 0 
    954e5000-954e6000 ---p 954e5000 00:00 0 
    954e6000-95ce6000 rw-p 954e6000 00:00 0 
    95ce6000-95ce7000 ---p 95ce6000 00:00 0 
    95ce7000-964e7000 rw-p 95ce7000 00:00 0 
    964e7000-964e8000 ---p 964e7000 00:00 0 
    964e8000-96ce8000 rw-p 964e8000 00:00 0 
    96ce8000-96ce9000 ---p 96ce8000 00:00 0 
    96ce9000-974e9000 rw-p 96ce9000 00:00 0 
    974e9000-974ea000 ---p 974e9000 00:00 0 
    974ea000-97cea000 rw-p 974ea000 00:00 0 
    97cea000-97ceb000 ---p 97cea000 00:00 0 
    97ceb000-984eb000 rw-p 97ceb000 00:00 0 
    984eb000-984ec000 ---p 984eb000 00:00 0 
    984ec000-98cec000 rw-p 984ec000 00:00 0 
    98cec000-98ced000 ---p 98cec000 00:00 0 
    98ced000-994ed000 rw-p 98ced000 00:00 0 
    994ed000-994ee000 ---p 994ed000 00:00 0 
    994ee000-99cee000 rw-p 994ee000 00:00 0 
    99cee000-99cef000 ---p 99cee000 00:00 0 
    99cef000-9a4ef000 rw-p 99cef000 00:00 0 
    9a4ef000-9a4f0000 ---p 9a4ef000 00:00 0 
    9a4f0000-9acf0000 rw-p 9a4f0000 00:00 0 
    9acf0000-9acf1000 ---p 9acf0000 00:00 0 
    9acf1000-9b4f1000 rw-p 9acf1000 00:00 0 
    9b4f1000-9b4f2000 ---p 9b4f1000 00:00 0 
    9b4f2000-9bcf2000 rw-p 9b4f2000 00:00 0 
    9bcf2000-9bcf3000 ---p 9bcf2000 00:00 0 
    9bcf3000-9c4f3000 rw-p 9bcf3000 00:00 0 
    9c4f3000-9c4f4000 ---p 9c4f3000 00:00 0 
    9c4f4000-9ccf4000 rw-p 9c4f4000 00:00 0 
    9ccf4000-9ccf5000 ---p 9ccf4000 00:00 0 
    9ccf5000-9d4f5000 rw-p 9ccf5000 00:00 0 
    9d4f5000-9d4f6000 ---p 9d4f5000 00:00 0 
    9d4f6000-9dcf6000 rw-p 9d4f6000 00:00 0 
    9dcf6000-9dcf7000 ---p 9dcf6000 00:00 0 
    9dcf7000-9e4f7000 rw-p 9dcf7000 00:00 0 
    9e4f7000-9e4f8000 ---p 9e4f7000 00:00 0 
    9e4f8000-9ecf8000 rw-p 9e4f8000 00:00 0 
    9ecf8000-9ecf9000 ---p 9ecf8000 00:00 0 
    9ecf9000-9f4f9000 rw-p 9ecf9000 00:00 0 
    9f4f9000-9f4fa000 ---p 9f4f9000 00:00 0 
    9f4fa000-9fcfa000 rw-p 9f4fa000 00:00 0 
    9fcfa000-9fcfb000 ---p 9fcfa000 00:00 0 
    9fcfb000-a04fb000 rw-p 9fcfb000 00:00 0 
    a04fb000-a04fc000 ---p a04fb000 00:00 0 
    a04fc000-a0cfc000 rw-p a04fc000 00:00 0 
    a0cfc000-a0cfd000 ---p a0cfc000 00:00 0 
    a0cfd000-a14fd000 rw-p a0cfd000 00:00 0 
    a14fd000-a14fe000 ---p a14fd000 00:00 0 
    a14fe000-a1cfe000 rw-p a14fe000 00:00 0 
    a1cfe000-a1cff000 ---p a1cfe000 00:00 0 
    a1cff000-a24ff000 rw-p a1cff000 00:00 0 
    a24ff000-a2500000 ---p a24ff000 00:00 0 
    a2500000-a2d21000 rw-p a2500000 00:00 0 
    a2d21000-a2e00000 ---p a2d21000 00:00 0 
    a2efd000-a2efe000 ---p a2efd000 00:00 0 
    a2efe000-a36fe000 rw-p a2efe000 00:00 0 
    a36fe000-a36ff000 ---p a36fe000 00:00 0 
    a36ff000-a3eff000 rw-p a36ff000 00:00 0 
    a3eff000-a3f00000 ---p a3eff000 00:00 0 
    a3f00000-a4721000 rw-p a3f00000 00:00 0 
    a4721000-a4800000 ---p a4721000 00:00 0 
    a4884000-a4885000 ---p a4884000 00:00 0 
    a4885000-a5085000 rw-p a4885000 00:00 0 
    a5085000-a5086000 ---p a5085000 00:00 0 
    a5086000-a5886000 rw-p a5086000 00:00 0 
    a5886000-a5887000 ---p a5886000 00:00 0 
    a5887000-a6087000 rw-p a5887000 00:00 0 
    a6087000-a6088000 ---p a6087000 00:00 0 
    a6088000-a6888000 rw-p a6088000 00:00 0 
    a6888000-a6889000 ---p a6888000 00:00 0 
    a6889000-a7089000 rw-p a6889000 00:00 0 
    a7089000-a708a000 ---p a7089000 00:00 0 
    a708a000-a788a000 rw-p a708a000 00:00 0 
    a788a000-a788b000 ---p a788a000 00:00 0 
    a788b000-a808b000 rw-p a788b000 00:00 0 
    a808b000-a808c000 ---p a808b000 00:00 0 
    a808c000-a888c000 rw-p a808c000 00:00 0 
    a888c000-a888d000 ---p a888c000 00:00 0 
    a888d000-a908d000 rw-p a888d000 00:00 0 
    a908d000-a908e000 ---p a908d000 00:00 0 
    a908e000-a988e000 rw-p a908e000 00:00 0 
    a988e000-a988f000 ---p a988e000 00:00 0 
    a988f000-aa08f000 rw-p a988f000 00:00 0 
    aa08f000-aa090000 ---p aa08f000 00:00 0 
    aa090000-aa890000 rw-p aa090000 00:00 0 
    aa890000-aa891000 ---p aa890000 00:00 0 
    aa891000-ab091000 rw-p aa891000 00:00 0 
    ab091000-ab092000 ---p ab091000 00:00 0 
    ab092000-ab892000 rw-p ab092000 00:00 0 
    ab892000-ab893000 ---p ab892000 00:00 0 
    ab893000-ac093000 rw-p ab893000 00:00 0 
    ac093000-ac094000 ---p ac093000 00:00 0 
    ac094000-ac894000 rw-p ac094000 00:00 0 
    ac894000-ac895000 ---p ac894000 00:00 0 
    ac895000-ad095000 rw-p ac895000 00:00 0 
    ad095000-ad096000 ---p ad095000 00:00 0 
    ad096000-ad896000 rw-p ad096000 00:00 0 
    ad896000-ad897000 ---p ad896000 00:00 0 
    ad897000-ae097000 rw-p ad897000 00:00 0 
    ae097000-ae098000 ---p ae097000 00:00 0 
    ae098000-ae898000 rw-p ae098000 00:00 0 
    ae898000-ae899000 ---p ae898000 00:00 0 
    ae899000-af099000 rw-p ae899000 00:00 0 
    af099000-af09a000 ---p af099000 00:00 0 
    af09a000-af89a000 rw-p af09a000 00:00 0 
    af89a000-af89b000 ---p af89a000 00:00 0 
    af89b000-b009b000 rw-p af89b000 00:00 0 
    b009b000-b009c000 ---p b009b000 00:00 0 
    b009c000-b089c000 rw-p b009c000 00:00 0 
    b089c000-b089d000 ---p b089c000 00:00 0 
    b089d000-b109d000 rw-p b089d000 00:00 0 
    b109d000-b109e000 ---p b109d000 00:00 0 
    b109e000-b189e000 rw-p b109e000 00:00 0 
    b189e000-b189f000 ---p b189e000 00:00 0 
    b189f000-b209f000 rw-p b189f000 00:00 0 
    b209f000-b20a0000 ---p b209f000 00:00 0 
    b20a0000-b28a0000 rw-p b20a0000 00:00 0 
    b28a0000-b28a1000 ---p b28a0000 00:00 0 
    b28a1000-b30a1000 rw-p b28a1000 00:00 0 
    b30a1000-b30a2000 ---p b30a1000 00:00 0 
    b30a2000-b38a2000 rw-p b30a2000 00:00 0 
    b38a2000-b38a3000 ---p b38a2000 00:00 0 
    b38a3000-b40a3000 rw-p b38a3000 00:00 0 
    b40a3000-b40a4000 ---p b40a3000 00:00 0 
    b40a4000-b48a4000 rw-p b40a4000 00:00 0 
    b48a4000-b48a5000 ---p b48a4000 00:00 0 
    b48a5000-b50a5000 rw-p b48a5000 00:00 0 
    b50a5000-b50a6000 ---p b50a5000 00:00 0 
    b50a6000-b58a6000 rw-p b50a6000 00:00 0 
    b58a6000-b58a7000 ---p b58a6000 00:00 0 
    b58a7000-b60a7000 rw-p b58a7000 00:00 0 
    b60a7000-b60a8000 ---p b60a7000 00:00 0 
    b60a8000-b68a8000 rw-p b60a8000 00:00 0 
    b68a8000-b68a9000 ---p b68a8000 00:00 0 
    b68a9000-b70a9000 rw-p b68a9000 00:00 0 
    b70a9000-b70aa000 ---p b70a9000 00:00 0 
    b70aa000-b78aa000 rw-p b70aa000 00:00 0 
    b78aa000-b78b3000 r-xp 00000000 08:06 677463     /lib/tls/i686/cmov/libnss_files-2.6.1.so
    b78b3000-b78b5000 rw-p 00008000 08:06 677463     /lib/tls/i686/cmov/libnss_files-2.6.1.so
    b78b5000-b78b7000 rw-p b78b5000 00:00 0 
    b78b7000-b7906000 r-xp 00000000 08:06 242056     /usr/lib/libgcrypt.so.11.2.3
    b7906000-b7908000 rw-p 0004e000 08:06 242056     /usr/lib/libgcrypt.so.11.2.3
    b7908000-b790b000 r-xp 00000000 08:06 242054     /usr/lib/libgpg-error.so.0.3.0
    b790b000-b790c000 rw-p 00002000 08:06 242054     /usr/lib/libgpg-error.so.0.3.0
    b790c000-b790d000 rw-p b790c000 00:00 0 
    b790d000-b791c000 r-xp 00000000 08:06 242058     /usr/lib/libtasn1.so.3.0.9
    b791c000-b791d000 rw-p 0000e000 08:06 242058     /usr/lib/libtasn1.so.3.0.9
    b791d000-b792c000 r-xp 00000000 08:06 677469     /lib/tls/i686/cmov/libresolv-2.6.1.so
    b792c000-b792e000 rw-p 0000f000 08:06 677469     /lib/tls/i686/cmov/libresolv-2.6.1.so
    b792e000-b7930000 rw-p b792e000 00:00 0 
    b7930000-b7931000 r-xp 00000000 08:06 645190     /lib/libkeyutils-1.2.so
    b7931000-b7932000 rw-p 00001000 08:06 645190     /lib/libkeyutils-1.2.so
    b7932000-b7939000 r-xp 00000000 08:06 129535     /usr/lib/libkrb5support.so.0.1
    b7939000-b793a000 rw-p 00006000 08:06 129535     /usr/lib/libkrb5support.so.0.1
    b793a000-b793c000 r-xp 00000000 08:06 646320     /lib/libcom_err.so.2.1
    b793c000-b793d000 rw-p 00001000 08:06 646320     /lib/libcom_err.so.2.1
    b793d000-b793e000 rw-p b793d000 00:00 0 
    b793e000-b7962000 r-xp 00000000 08:06 129515     /usr/lib/libk5crypto.so.3.1
    b7962000-b7963000 rw-p 00024000 08:06 129515     /usr/lib/libk5crypto.so.3.1
    b7963000-b79e9000 r-xp 00000000 08:06 129519     /usr/lib/libkrb5.so.3.3
    b79e9000-b79eb000 rw-p 00086000 08:06 129519     /usr/lib/libkrb5.so.3.3
    b79eb000-b79f2000 r-xp 00000000 08:06 677470     /lib/tls/i686/cmov/librt-2.6.1.so
    b79f2000-b79f4000 rw-p 00006000 08:06 677470     /lib/tls/i686/cmov/librt-2.6.1.so
    b79f4000-b7a5e000 r-xp 00000000 08:06 241953     /usr/lib/libgnutls.so.13.3.0
    b7a5e000-b7a64000 rw-p 0006a000 08:06 241953     /usr/lib/libgnutls.so.13.3.0
    b7a64000-b7a66000 r-xp 00000000 08:06 677449     /lib/tls/i686/cmov/libdl-2.6.1.so
    b7a66000-b7a68000 rw-p 00001000 08:06 677449     /lib/tls/i686/cmov/libdl-2.6.1.so
    b7a68000-b7a69000 rw-p b7a68000 00:00 0 
    b7a69000-b7a99000 r-xp 00000000 08:06 129592     /usr/lib/libidn.so.11.5.29
    b7a99000-b7a9a000 rw-p 0002f000 08:06 129592     /usr/lib/libidn.so.11.5.29
    b7a9a000-b7ac2000 r-xp 00000000 08:06 129514     /usr/lib/libgssapi_krb5.so.2.2
    b7ac2000-b7ac3000 rw-Abandon (core dumped)

    Est ce une fuite de mémoire? C'est un programme multi-thread. Un thread ça va, 2 ok, 3 également... mais à partir de 4 et plus je commence à avoir des segfault. Et plus j'ai de thread plus ça plantera facilement. J'utilise boost thread. Quand le thread se termine, il doit normalement libérer la mémoire, non?

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 : 10 035
    Par défaut
    Bonjour,
    une fuite memoire n'est pas sensé faire un seg fault. Sauf si tu utilise beaucoup de memoire et qu'un allocation foirée n'as pas été detecté.
    Je ne m'y connait pas trop en thread mais a mon avis du as 2 type d'erreur possible :
    1- tu fait une erreur memoire : tu accède a de la memoire non alloué
    2- problème de synchronisation des données partagées entre les thread

  3. #3
    Membre Expert
    Avatar de Anthony.Desvernois
    Homme Profil pro
    Ingénieur sécurité & risque
    Inscrit en
    Juin 2007
    Messages
    1 489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur sécurité & risque
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 489
    Par défaut
    ++ ca ne peut pas etre une fuite memoire.

    Au passagem sur les fuites, valgrind est ton ami

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 95
    Par défaut
    Je vais juste chercher des données dans ma base en lecture pour le moment. Je n'utilise pas de mutex et je ne fais pas de lock. Je voulais juste savoir si mes threads pouvaient extraire des données de ma base.

    Est ce que ce message d'erreur est explicite? un segfault est il provoqué essentiellement avec un problème de mémoire?

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 95
    Par défaut
    Merci Anthony, on s'est croisé dans nos réponses.

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 : 10 035
    Par défaut
    Citation Envoyé par Zorgloub Voir le message
    Est ce que ce message d'erreur est explicite? un segfault est il provoqué essentiellement avec un problème de mémoire?
    A ma connaissance oui.
    Tu accède a ta base par chaque thread?? c'est peut être la le problème

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 95
    Par défaut
    En fait j'utilise le même socket avec plusieurs thread. C'est mal? Mais pour le moment je ne fais que lire dans la base. Je n'écris rien du tout. C'est juste pour tester. Je ferai des locks ensuite.

  8. #8
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 : 10 035
    Par défaut
    Citation Envoyé par Zorgloub Voir le message
    En fait j'utilise le même socket avec plusieurs thread. C'est mal? Mais pour le moment je ne fais que lire dans la base. Je n'écris rien du tout. C'est juste pour tester. Je ferai des locks ensuite.
    Je ne sait pas pourquoi mais ca me semble mal....
    Je dirait que ton problème viens de la. Mais Je ne suis pas un spécialiste du réseau non plus

Discussions similaires

  1. fuite de mémoire ?
    Par salseropom dans le forum C
    Réponses: 2
    Dernier message: 12/01/2006, 16h19
  2. Réponses: 1
    Dernier message: 02/12/2005, 14h18
  3. fuite de mémoire
    Par mamag dans le forum MFC
    Réponses: 17
    Dernier message: 19/08/2005, 10h42
  4. Fuite de mémoire en utilisant le template list
    Par schtroumpf_farceur dans le forum Langage
    Réponses: 9
    Dernier message: 18/07/2005, 20h44
  5. Réponses: 8
    Dernier message: 17/10/2002, 12h52

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