Ciao,
Senza un po'di codice è difficile indicarti dove stia l'inghippo, la cosa migliore, come ti suggeriscono è proprio quella di postare qualche spezzone...
L'idea è proprio quella di un buffer overflow o di un uso ottimistico della memoria (allochi/deallochi qualcosa in questo ciclo? scrivi in strutture con delle memcpy/strcpy? Usi delle strlen come dimensione per degli spostamenti in memoria?).
Se la prima esecuzione va a buon fine e la seconda no, probabilmente hai scritto dove non dovevi, hai sporcato qualcosa che non era il caso di sporcare (qualche globale ad esempio), oppure hai un clash di nomi tra variabili locali e globali (pensi di usarne una e ne usi un'altra). Questi i motivi forse più probabili...
Ciaociao