le cas classique est celui d'une personne développant son projet sous Mac puis passant sur Linux.
En effet, dans le monde "Mac", toutes les variables locales sont initialisées à zéro d'office. Vous n'avez pas besoin de le faire vous-même et du coup vous prenez une mauvais habitude de ne pas initialiser vos variables locales vous-même.
Résultat quand votre code passe sur LINUX vos variables non-initialisées peuvent avoir un motif binaire quelconque et causer toutes sortes de bugs imprévus.
Donc première piste à suivre : donner une valeur initiale explicite à toutes vos variables locales.