2008/11/24 Phil@Work phil@retailinfo.com.au:
Hi Igor, Thanks for the quick reply. Sorry if this is a silly question - how do i go about fixing this? :) I don't see any MA classes that respond to #terminate, i haven't seen any exceptions referring to #terminate, so i'm not sure how to start... Many thanks in advance. Phil
Well, as with any recursion (if it recursion) , find a repetitive pattern - then somewhere in it put check for a flag , which initially should be false, and set to true on first entry.
And, you don't have to look after #terminate implementors. When process terminates in squeak, it initiates the stack unwinding, so any #ensure: or #ifCurtailed: blocks get executed. There is plenty of them in Magma, and looks like one of them causing recursion.