Path: utzoo!mnetor!uunet!lll-winken!lll-tis!ames!pasteur!ucbvax!decwrl!pyramid!voder!apple!singer From: singer@Apple.COM (Dave Singer) Newsgroups: comp.windows.news Subject: Re: Problems with window/resource loops.. Message-ID: <8778@apple.Apple.Com> Date: 22 Apr 88 15:23:25 GMT References: <8804202342.AA04039@denali.sunpeaks.uucp> Reply-To: singer@apple.UUCP (Dave Singer) Organization: Apple Computer Inc, Cupertino, CA Lines: 14 In article <8804202342.AA04039@denali.sunpeaks.uucp> bill@denali.UUCP (Bill Meine [Sun Rocky Mtn TSE]) writes: >Sorry to say, I don't know of any way to take a direct look at the heap >to try to track down the offending objects that have cyclic references. >Avoidance is the only policy I have found to work so far. In the absence of a full GC (that at least should click in when NeWS would otherwise say 'Out of memory'), I wrote a small piece of lispscript/postscript that finds circular references from a given object (dict, array, or other structured type such as event), chasing at most 'n' pointers. It does the obvious 'tree' search, so it takes ages to chase to more than a few levels. It's helpful to do it this way, coz often one can test each class/individual in isolation. I don't have the code anymore; maybe someone at SUN SPE or at Schlumberger could post circular.ps/.pls if it was warranted. Dave Singer