Bug avec allocation dynamique de tableaux
Bonjour,
je suis complètement paumé...
J'ai un programme que je compile avec gfortran et dans lequel j'alloue une petite dizaine de tableaux dynamiquement. Aucun problème jusque là, ni dailleurs pour les calculs. A la fin de ce programme je désalloue comme il se doit les tableaux. C'est là que ça fait mal ! La désallocation de l'un d'entre eux (que j'ai identifié) me renvoie le bug suivant que je ne comprends pas et donc ai du mal à résoudre...
Donc dans l'ordre :
Code:
1 2 3 4 5 6 7 8 9
| INTEGER (KIND=4),DIMENSION(:) ,ALLOCATABLE :: tab_mv
(Calcul de dim_tab_mv)
ALLOCATE(tab_mv(dim_tab_mv))
(Calcul)
DEALLOCATE(tab_mv) |
Si quelqu'un a une idée, merci d'avance.
Yann.
Citation:
*** glibc detected *** ./prog.x: free(): invalid pointer: 0x0805a6c0 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb7e0fa85]
/lib/tls/i686/cmov/libc.so.6(cfree+0x90)[0xb7e134f0]
/usr/lib/libgfortran.so.2(_gfortran_deallocate+0x29)[0xb7f332b9]
./prog.x[0x804e784]
./prog.x[0x804e817]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe0)[0xb7dba450]
./prog.x[0x8048b41]
======= Memory map: ========
08048000-0804f000 r-xp 00000000 08:01 7947833 /home/yann/Travail/These/MCMP/MCMP_F90/Dev/prog.x
0804f000-08050000 rw-p 00006000 08:01 7947833 /home/yann/Travail/These/MCMP/MCMP_F90/Dev/prog.x
08050000-08071000 rw-p 08050000 00:00 0 [heap]
b7c00000-b7c21000 rw-p b7c00000 00:00 0
b7c21000-b7d00000 ---p b7c21000 00:00 0
b7da3000-b7da4000 rw-p b7da3000 00:00 0
b7da4000-b7eed000 r-xp 00000000 08:01 4342999 /lib/tls/i686/cmov/libc-2.7.so
b7eed000-b7eee000 r--p 00149000 08:01 4342999 /lib/tls/i686/cmov/libc-2.7.so
b7eee000-b7ef0000 rw-p 0014a000 08:01 4342999 /lib/tls/i686/cmov/libc-2.7.so
b7ef0000-b7ef3000 rw-p b7ef0000 00:00 0
b7ef3000-b7efd000 r-xp 00000000 08:01 4309010 /lib/libgcc_s.so.1
b7efd000-b7efe000 rw-p 0000a000 08:01 4309010 /lib/libgcc_s.so.1
b7efe000-b7eff000 rw-p b7efe000 00:00 0
b7eff000-b7f22000 r-xp 00000000 08:01 4343003 /lib/tls/i686/cmov/libm-2.7.so
b7f22000-b7f24000 rw-p 00023000 08:01 4343003 /lib/tls/i686/cmov/libm-2.7.so
b7f24000-b7fba000 r-xp 00000000 08:01 8798311 /usr/lib/libgfortran.so.2.0.0
b7fba000-b7fbb000 rw-p 00096000 08:01 8798311 /usr/lib/libgfortran.so.2.0.0
b7fcb000-b7fcd000 rw-p b7fcb000 00:00 0
b7fcd000-b7fce000 r-xp b7fcd000 00:00 0 [vdso]
b7fce000-b7fe8000 r-xp 00000000 08:01 4309011 /lib/ld-2.7.so
b7fe8000-b7fea000 rw-p 00019000 08:01 4309011 /lib/ld-2.7.so
bfbd6000-bfbeb000 rw-p bffeb000 00:00 0 [stack]
Abandon