スタックは意味合いは複数あるみたいですが「積み重ねる」って意味合いが妥当でしょうか。英語辞書 引くと出てきますので御自分でも確かめるが吉かと。
HMFさんも言われていますがオーバーフローが起きたのは「積み重ねが許容範囲を越した」から。
ご存知かもしれませんがGOTOとは違い「GOSUBはRETURNと対」で記述します。
GOSUBを実行した行は内部で保持(積み重ね)されRETURNが記述された時点で、GOSUBを実行した行に復帰し「積み重ねが減って」いきます。
件のソースではRETURNがなく「GOSUBで実行した行を積み重ねすぎ」でエラーになっています(呼び出し順はBACKTRACE命令を参考)
永久ループがしたいのであれば、GOSUBよりGOTOで実装するのが妥当でしょうか。

プレイ済み