J'ai un petit (gros) problème sur un projet sur lequel j'interviens en ce moment.
Je travaille sur le portage (nouvelles versions de l'OS, du compilateur, du SGBD, etc.) d'un logiciel de plus de 10 ans, mal conçu, extrêmement mal écrit, en C.
Depuis quelques semaines, certains appels à malloc provoquent une erreur de segmentation. Les traces que j'ai ajoutées, et l'examen des fichiers core, indiquent que le problème survient dans la fonction malloc elle-même. Ce n'est pas systématique, d'où mon problème, mais ça a l'air de se produire de plus en plus fréquemment.
J'ai pensé que les paramètres étaient peut-être incohérents (malloc(0) par exemple), mais le man et quelques tests montrent que malloc renvoie bien NULL dans ces cas. J'ai pensé à un problème matériel, mais ça se produit sur plusieurs machines.
Ca fait un moment que je cherche, en vain, une explication. Je me tourne donc vers vous en espérant que quelqu'un aura une idée lumineuse.
Petite précision qui peut avoir son importance: L'OS est un AIX 64 bits, mais l'appli est compilée en 32 bits.
Partager