Bonjour,
Je suis un peu paumé fâce au caractère aléatoire de mon code.

Il compile et il tourne, 80% du temps sans beuguer, mais de temps en temps il plante et comme je veux qu'il soit robuste c'est embêtant.
En débeugant les erreurs de segmentations aléatoires avec gdb, il me sort deux types d'erreurs :
Erreur 1 :
in free ()
in _int_free ()
in _libc_message ()
in abort ()
in raise ()
in _dl_sysinfo_int80 ()
Erreur 2:
in malloc ()
in _int_malloc ()
[...]
Et ce de manière aléatoire, est-ce que quelqu'un pourrait m'expliquer d'où ça vient (mémoire vive défectueuse ?) ou s'il existe des biblio pour avoir des malloc() et free() plus robustes ?
(sachant que j'ai déjà dédoublé toutes mes allocations dynamiques de mémoires ce qui a réduit considérablement la fréquence des échecs d'allocation)
Je précise aussi que mon programme est "multi threadé" (2 processus car biprocesseur à disposition) mais que j'ai bien réécris toutes les fonctions et toutes les variables de deux manières distinctes afin d'éviter les conflits d'accès. (au cas où)
Partager