Non entro nella complessità del codice ma se il loop non va avanti è evidente che qualcosa non funziona come pensavi in

p = list.succlista(p)

Esegui passo passo e cerca di capire il perché ...