Je roept een functie aan binnen een functie binnen een functie binnen een functie etcetc en komt eigenlijk nooit tot het einde van die functie.
Als je een functie aanroept wordt er een zgn. return adress en mogelijk return variabele op de stack geplaatst. Tevens worden er locale variabelen op de stack gegooid. De stack zit in het RAM geheugen Als je dit eindeloos doet is de pot op een gegeven moment leeg. Idem met interrupts als je binnen een interrupt interrupts weer mogelijk maak, kan je de hele zaak laten 'hangen'.