On Fri, Dec 2, 2011 at 6:16 AM, Marcus Denker <marcus.den...@inria.fr>wrote:
> Hi, > > We had a look and the problem is that printOn: on Stream is defined to > print the contents of the Stream even though it might > not be initialized yet (e.g. when creating a Stream instance with > #basicNew). > Yes, but the real problem is either the debugger or the the redefinition of subclassResponsibility. When I try Stream basicNew printString in a Squeak image I get a notifier which says: Stream(Object)>>error: Stream(Object)>>subclassResponsibility Stream>>contents Stream>>printContentsOn: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Stream>>printOn: [] in Stream(Object)>>printStringLimitedTo: String class(SequenceableCollection class)>>streamContents:limitedTo: Stream(Object)>>printStringLimitedTo: Stream(Object)>>printString But in Pharo this is crashing. I think you need to fix either the debugger or subclassResponsibility, > The simplest solution is to just not print the contents of Streams in > #printOn: > > http://code.google.com/p/pharo/issues/detail?id=5047 > > Stream should not print its contents in printOn: > > Reason: > > => Debugging leads to change the state of Stream when looking at it > => Network streams load all content > => unitialized Streams has undefined behavior for printing > > Solution: remove #printOn: > > On Fri, Dec 2, 2011 at 9:08 AM, Stéphane Ducasse > <stephane.duca...@inria.fr> wrote: > >>>> > >>>> I only had a look in Pharo 1.4 > >>>> It sounds like a subtle bug related to introduction of > >>>> SubclassResponsibility in Pharo. > >>>> If you revert Object>>subclassResponsibility to its previous version > >>>> you get a more reliable error. > >>> > >>> What would be your hypothesis? Because I'm stuck. > >>> error: is also signaling an exception > >>> > >>> error: aString > >>> "Throw a generic Error exception." > >>> > >>> ^Error new signal: aString > >>> > >>> So I wonder why one is more robust. > >>> > >> > >> I'm stuck too, and the Debugger is currently unusable in Pharo 1.4 (I > >> just can't step over…) > > > > Strange. Because I use it. > > Do you have a scenario that we can focus on to fix the problem you see. > > > > > >> I give up. I only had time for an easy task... > >> > >> Nicolas > >> > >>> > >>> > >>>> > >>>> Nicolas > >>>> > >>>> 2011/12/1 Larry White <ljw1...@gmail.com>: > >>>>> I was able to replicate with a clean version of the Seaside 3.0.6 > One Click > >>>>> download by executing Stream #basicNew in a workspace. It did work > a couple > >>>>> times ok using "do it" from the menu, but seems to lock pretty > regularly > >>>>> using print or explore keyboard shortcuts. > >>>>> > >>>>> thanks. > >>>>> > >>>>> > >>>>> > >>>>> On Thu, Dec 1, 2011 at 1:33 PM, Larry White <ljw1...@gmail.com> > wrote: > >>>>>> > >>>>>> I can do it with control-P (print) in the Workspace. I just did it > with a > >>>>>> single try, though sometimes it takes more than one. Speed isn't > an issue, > >>>>>> I can wait 10 minutes and see it happen sometimes.. > >>>>>> > >>>>>> I have to take a break now, but when I get a few minutes, I'll try > again > >>>>>> with a fresh install of the latest Seaside one-click for the mac. > >>>>>> > >>>>>> thanks. > >>>>>> > >>>>>> On Thu, Dec 1, 2011 at 1:20 PM, Schwab,Wilhelm K < > bsch...@anest.ufl.edu> > >>>>>> wrote: > >>>>>>> > >>>>>>> I just tried to hang 1.1.1 (using a traditional linux vm) and a > 1.4 image > >>>>>>> with a Cog vm (also linux). No problems, but I do have questions > that might > >>>>>>> be important to others trying to reproduce it: > >>>>>>> > >>>>>>> (1) how fast do you do this? > >>>>>>> (2) do you inspect the instances, or just let them get gc'd > immediately? > >>>>>>> > >>>>>>> Bill > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> ________________________________ > >>>>>>> From: pharo-project-boun...@lists.gforge.inria.fr > >>>>>>> [pharo-project-boun...@lists.gforge.inria.fr] on behalf of Larry > White > >>>>>>> [ljw1...@gmail.com] > >>>>>>> Sent: Thursday, December 01, 2011 12:56 PM > >>>>>>> To: Pharo-project@lists.gforge.inria.fr > >>>>>>> Subject: Re: [Pharo-project] VM freezes sending #basicNew to Stream > >>>>>>> subclass > >>>>>>> > >>>>>>> I can do it with > >>>>>>> > >>>>>>> Stream basicNew. > >>>>>>> > >>>>>>> but I have to invoke it twice. The first time it works ok. > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> On Thu, Dec 1, 2011 at 12:48 PM, Stéphane Ducasse > >>>>>>> <stephane.duca...@inria.fr> wrote: > >>>>>>>> > >>>>>>>> gary > >>>>>>>> > >>>>>>>> can you post the smallest code that makes the system hangs? > >>>>>>>> > >>>>>>>> Stef > >>>>>>>> > >>>>>>>> On Dec 1, 2011, at 4:48 PM, Larry White wrote: > >>>>>>>> > >>>>>>>>> Hi, > >>>>>>>>> > >>>>>>>>> Throwing this out there because it may be a bug. > >>>>>>>>> > >>>>>>>>> I'm running the Seaside one-click install on OS X Lion. > >>>>>>>>> Pharo1.3 > >>>>>>>>> Latest update: #13302 > >>>>>>>>> > >>>>>>>>> I can reliably cause my VM to freeze up and need to Force-Quit > it from > >>>>>>>>> the OS. > >>>>>>>>> > >>>>>>>>> I'm implementing (copying) the probability logic from the blue > book. > >>>>>>>>> When I tried to create an instance of the Binomial class, the > system hung. I > >>>>>>>>> can replicate the problem by sending the message #basicNew to > >>>>>>>>> ProbabilityDistribution. ProbabilityDistribution is a direct > subclass of > >>>>>>>>> Stream and I haven't overridden or modified #basicNew. > >>>>>>>>> > >>>>>>>>> What's happening is that it fails in the BlockClosure [anObject > doit], > >>>>>>>>> but only when I instantiate a member of this particular class > hierarchy. In > >>>>>>>>> the probability classes, a #doIt in a Workspace hits the line > "self suspend" > >>>>>>>>> in the #terminate method of Process and the VM hangs there. > >>>>>>>>> > >>>>>>>>> I believe they had ProbabilityDistribution subclass from Stream > >>>>>>>>> because sampling from a distribution is like reading from a > Stream, but I > >>>>>>>>> don't think any there's any actual shared code, so I switched > the superclass > >>>>>>>>> of ProbabilityDistribution to Object and the code works fine now. > >>>>>>>>> > >>>>>>>>> Thanks. > >>>>>>>>> > >>>>>>>>> Larry > >>>>>>>> > >>>>>>>> > >>>>>>> > >>>>>> > >>>>> > >>>> > >>> > >>> > >> > > > > > > > > -- > -- > Marcus Denker -- den...@acm.org > http://www.marcusdenker.de > > -- best, Eliot