est-ce que des outils comme valdring et ASAN ne trouvaient pas ça ?
Malheureusement on pense que c'était un cas de undefined behaviour (en effet ce bug n'était pas systématique). Et on soupçonne que valgrind et AddressSanitizer change ce comportement car dès qu'on runnait avec valgrind ou compilait avec ASAN le segfault disparaissait et le programme semblait se comporter normalement.
Aussi, vu que le segfault n'était pas lors de l'écriture, mais bien quand le programme essayait de remonter la backtrace corrompue (et donc segfaultait sur un return 0, ce qui nous a causé beaucoup de confusion), je ne suis pas sur si ces programmes. si ils avait réussi à simuler l'erreur, aurait trouvé sa source.