<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>I think I have here a pretty Kosher (uses retain, does not use depreciated functions) version of the dialog + memory surge problem. This version of choose-file-dialog is completely stripped of any non essential activity. It does not even return the path, i.e., there is no practical value to this function.</div><div><br></div><div>Please have a go and see if you can or cannot experience that Memory surge phenomenon. Please follow the instructions closely. Otherwise you may miss the issues at sometimes can be kind subtle. </div><div><br></div><div>Alex</div><div><br></div><div><br></div><div>______________</div><div><br></div><div><div>;; CCL 1.8.1 64 (Mac App store) crash on Mountain Lion 10.8.1</div><div><br></div><div><br></div><div>(defun choose-file-dialog2 ()</div><div>  ;; 100% kosher: retain, no use of depreciated calls</div><div>  (let ((panel (#/retain (#/openPanel ns:ns-open-panel))))</div><div>    (#/runModal panel)</div><div>    (#/release panel)))</div><div><br></div><div><br></div><div>(defun THE-AMAZING-MEMORY-SURGE ()</div><div>  (dotimes (i 100)</div><div>    (ccl::with-autorelease-pool</div><div>        (choose-file-dialog2)</div><div>      (ccl::process-run-function "pretent to load project"  #'(lambda () )))))</div><div><br></div><div><br></div><div>;; this will pop up a file chooser for a number of times. Each time just press ESC and watch the Activity Monitor. </div><div>;; Set view > update frequency in Actvity Monitor to very often (0.5s) for best results</div><div>;; Watch out for Clozure CL % CPU and Real Mem</div><div>;; for some time Real Mem will go up gradually (memory leak) then at some unpredicatable time it will SURGE to GIGABITES of memory and ultimately crash CCL</div><div>;; with with-autorelease-pool CCL may crash quite quickly with a Unhandled exception 10, comment out if needed</div><div><br></div><div>; (the-amazing-memory-surge)</div></div><div><br></div><div>_______________</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><br><div><div>On Aug 28, 2012, at 3:08 PM, Gary Byers wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div><br><br>On Tue, 28 Aug 2012, Raffael Cavallaro wrote:<br><br><blockquote type="cite"><br></blockquote><blockquote type="cite">On Aug 28, 2012, at 9:21 AM, Gary Byers <<a href="mailto:gb@clozure.com">gb@clozure.com</a>> wrote:<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><blockquote type="cite">People who are<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">  tempted to ascribe supernatural powers to some versions of CCL (powers that<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">  allow it to hide some files/directories that would otherwise appear) might<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">  want to try toggling the presentation style (whatever it's called) to see<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">  if this is just a Mountain Lion display/caching bug.<br></blockquote></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">I am not in any way tempted to ascribe supernatural powers to any version of CCL - though I have at times been tempted to ascribe supernatural powers to you and Matthew ;^)<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Changing the presentation style (whatever it's called) does cause the directories to populate, and to remain populated when the style is changed back. However, subsequent calls to ccl::choose-file-dialog still show the same empty-directories-until-presentation-style-is-changed issue.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">It would still be useful to know why this only manifests with ccl::choose-file-dialog and not with File:Open? (nor with any other application), but that's just idle curiosity?<br></blockquote><br>My current theory is that the methods invoked by the shared instance<br>of NSDocumentController (that implement things like File:Open) work<br>more reliably because they aren't as brain-dead about autoreleasing<br>things that need to stick around through a modal event-loop as<br>CCL::CHOOSE-FILE-DIALOG seems to be.  According to TFM (which I just<br>R'ed), the NSOpenPanel itself has to be explicitly retained on (at least)<br>10.6 and earlier, and I don't think that CHOOSE-FILE-DIALOG has ever bothered<br>to do that.<br><br><br><blockquote type="cite"><br></blockquote><blockquote type="cite">Maybe its because the deprecated #/runModalForDirectory:file:types: is causing problems under Mountain Lion even for apps like CCL that are not sandboxed.<br></blockquote><br>My first attempt at replacing the deprecated method with supported<br>ones caused my tests to start showing unpopulated directories; I'd only<br>seen that once before.  Alex was apparently getting reliably good results<br>by mixing deprecated methods with their replacements; if his results were<br>universally reproducible, I'd have publicly sworn off badmouthing Mountain<br>Lion (since it'd have been obvious that the damned thing wasn't even finished<br>yet.)<br><br>One of the worst aspects of bugs where things get freed prematurely is<br>that the worst symptoms of those bugs may only appear if and when the<br>freed memory is reallocated, and when and whether that happens tends<br>to be dependent on lots of subtle little things.  That in turn can<br>mean that different people see different results and different OS releases seem to behave differently for mysterious reasons.<br><br>I don't know if this is the only problem and I may do something other<br>than Fighting The Good Mountain Lion Fight (like sleep ...) before trying<br>to check these changes in, but it's pretty clear to me at this point that<br>CHOOSE-FILE-DIALOG has never been quite right in its memory management<br>behavior.<br><br><br><blockquote type="cite">warmest regards,<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Ralph<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Raffael Cavallaro<br></blockquote><blockquote type="cite"><a href="mailto:raffaelcavallaro@me.com">raffaelcavallaro@me.com</a><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">_______________________________________________<br></blockquote><blockquote type="cite">Openmcl-devel mailing list<br></blockquote><blockquote type="cite"><a href="mailto:Openmcl-devel@clozure.com">Openmcl-devel@clozure.com</a><br></blockquote><blockquote type="cite"><a href="http://clozure.com/mailman/listinfo/openmcl-devel">http://clozure.com/mailman/listinfo/openmcl-devel</a><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote>_______________________________________________<br>Openmcl-devel mailing list<br><a href="mailto:Openmcl-devel@clozure.com">Openmcl-devel@clozure.com</a><br>http://clozure.com/mailman/listinfo/openmcl-devel<br></div></blockquote></div><br><div>
<span class="Apple-style-span" style="font-size: 12px; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><p style="margin: 0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" size="3" style="font: 12.0px Helvetica">Prof. Alexander Repenning</font></p><p style="margin: 0.0px 0.0px 0.0px 0.0px"><br class="khtml-block-placeholder"></p><p style="margin: 0.0px 0.0px 0.0px 0.0px">University of Colorado</p><p style="margin: 0.0px 0.0px 0.0px 0.0px">Computer Science Department</p><p style="margin: 0.0px 0.0px 0.0px 0.0px">Boulder, CO 80309-430</p><p style="margin: 0.0px 0.0px 0.0px 0.0px"><br class="khtml-block-placeholder"></p><p style="margin: 0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" size="3" style="font: 12.0px Helvetica">vCard: <a href="http://www.cs.colorado.edu/~ralex/AlexanderRepenning.vcf">http://www.cs.colorado.edu/~ralex/AlexanderRepenning.vcf</a></font></p><br class="Apple-interchange-newline"></span></span></span>
</div>
<br></body></html>