I've submitted a slice to inbox, which contains a proposed fix. Details in the issue (2825) for those interested.
Cheers, Henry On Aug 18, 2010, at 9:25 52AM, Stéphane Ducasse wrote: > thanks david for the pointer. > Yes we should investigate that again. > > > On Aug 18, 2010, at 3:20 AM, David T. Lewis wrote: > >> Probably completely off the mark but just in case it jogs someone's >> memory, the fixes for this issue that went into Squeak 3.9 were >> tracked on Mantis here: >> >> http://bugs.squeak.org/view.php?id=1041 >> >> Possibly one of the patches got undone by accident? >> >> HTH, >> Dave >> >> >> On Tue, Aug 17, 2010 at 10:28:31PM +0200, Adrian Lienhard wrote: >>> I heard about that problem too... >>> >>> In Squeak 3.9 I can interrupt [[true] whileTrue] fork, but not in Pharo. >>> >>> Has anybody an idea why this doesn't work anymore? >>> >>> Adrian >>> >>> On Aug 17, 2010, at 16:27 , Henrik Johansen wrote: >>> >>>> >>>> On Aug 17, 2010, at 3:38 20PM, TimM wrote: >>>> >>>>> Henrik Johansen wrote: >>>>> >>>>>> Is this code run in a separate process? >>>>>> UserInterruptHandler>>handleUserInterrupt specifically interrupts the >>>>>> UI-process, rather than f.ex. the last process consuming cycles. >>>>>> Whether that is desired behaviour or not, is up for discussion :) >>>>> >>>>> I'm not sure - as its seaside is that a UI-process (I don't think it is). >>>>> By browser - I mean web browser. And then I notice my cpu spike and if I >>>>> switch back to squeak, its hosed. >>>>> >>>>> Tim >>>> There's only one UI Process (tm) in Pharo/Squeak, responsible for updating >>>> the UI, running doits, etc. >>>> >>>> Not quite sure how Seaside does its magic when requests are coming in, but >>>> if it forks of their processing with priority >= UIProcess priority, it >>>> will indeed "hose" the image with no means of recovering using Cmd-dot in >>>> the case of an infinite loop. >>>> >>>> Try the following from a workspace to illustrate: >>>> >>>> "Interruptable with Cmd-dot" >>>> [true ] whileTrue. >>>> >>>> "Forking at lower than UI process, so UI stays responsive, but does not >>>> interrupt runaway process with Cmd-dot (you can terminate it using process >>>> browser)" >>>> [[true ] whileTrue] forkAt: Processor activePriority - 1 "Code run from >>>> a workspace will run in the UI process, so active priority will be the UI >>>> process priority" >>>> >>>> "Forking at same as UI process, Cmd-dot interrups UI process rather than >>>> runaway, but debugger is (almost) never displayed since runaway process >>>> takes almost all cycles" >>>> [[true] whileTrue] fork "Fork forks of the process at same priority as >>>> active process" >>>> >>>> >>>> Cheers, >>>> Henry >>>> _______________________________________________ >>>> Pharo-project mailing list >>>> Pharo-project@lists.gforge.inria.fr >>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >>> >>> >>> _______________________________________________ >>> Pharo-project mailing list >>> Pharo-project@lists.gforge.inria.fr >>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >> >> _______________________________________________ >> Pharo-project mailing list >> Pharo-project@lists.gforge.inria.fr >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > > > _______________________________________________ > Pharo-project mailing list > Pharo-project@lists.gforge.inria.fr > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project