Ich vermute, dass das wahre Problem nicht in dieser Funktion liegt, sondern schon vorher irgendwas Dummes passiert, z.B. Speicher überschrieben. Beim "Wiederholen" tritt es dann auf. Darum würde ich erst mal mit
compilieren und dann müsste man doch was sehen?