Lorsque je suivais mes études, un ami avait codé un petit programme en C qui faisait des calculs de codage de canal, sur un nombre très important de données. Pour analyser les résultats, il enregistrait le tout dans un fichier texte, qui devait atteindre les 500 Mo (ce qui est déjà un premier problème).
Pas de chance, il avait une erreur dans son code : en plus d'appeler
fclose(filePointer);
avec le pointeur vers le fichier, il appelait
free(filePointer);
.
En faisant ses tests sur une petite base, le runtime n'appréciait déjà pas du tout, et mettait des messages d'alerte à répétition. Cependant, comme les données étaient bien écrites dans le fichier texte, il n'en tenait pas compte (second problème).
Mais au moment où il est passé sur la grosse base, ce n'est pas son programme qui a planté, mais le serveur de calcul qui exécutait le programme.
Au final, une demi-journée a été nécessaire pour faire repartir le serveur. PEBKAC.