non ha alcun senso un puntatore statico dichiarato poi in una routine.. la parola chiave static serve a tutt'altro..
per capire il perchè si blocca serve vedere il main, se ci sono errori sapere quali e infine più o meno serve sapere dove si "rompe"