Effettivamente più interruzioni vuol dire poco.
Questa funzione, eseguita singolarmente sull'albero appena creato funzione, se eseguita dopo una funzione di esplorazione dell'albero (che apparentemente funziona correttamente), interrompe l'esecuzione del programma.
Il mini debug che ho fatto mi ha fatto notare che arriva fino alla prima chiamata della funzione visita_perlista.