[Seaside] Re: Internal Error

Chris Muller asqueaker at gmail.com
Tue Apr 17 02:06:54 UTC 2007


Hi Hilaire, it almost like a MagmaMutatingProxy is an argument to the
perform:withArguments: (either the selector or argArray).  You must
employ a ReadStrategy to ensure this does not happen.

Performance tuning is not the only purpose of ReadStrategys.  They are
also needed for those special-cases where objects that could end up
being arguments to a primitive or in-lined message like ==.

Hope this helps..

On 4/16/07, Hilaire Fernandes <hilaire at ofset.org> wrote:
> I think the error originate when fetching an object persisted with Magma.
> Worst than that, after a second reload the page is rendered as expected,
> after a third reload Squeak is gone...
>
> The error seems to come from the method:
>
> pictureInitial
>     | extent morph |
>     extent := step exerciceView extent.
>     morph := step generateNativeExercice view extent: extent.
>
> step is the persisted object, and generateNativeExercice does:
>
> generateNativeExercice
>     ^ (self exerciceClass perform: self method withArguments: self
> arguments) counter: self timeLimit
>
>
> Chris, do you see any problem doing a perform:withArguements?
> Hum, according to my trace with the debugger the BANG is taking place
> with the perform: message. Does it make sense to you?
>
> Hilaire
>
>
> Hilaire Fernandes a écrit :
> > I have this error that show up in the browser, when I am rendering this
> > code:
> >
> > It may look like an overflow (there are two PNG image) but I am not sure.
> >
> >
> > ---
> >     (html paragraph)
> >         attributeAt: 'color'
> >         put: (moment isSuccess ifTrue: ['#c0ffc0'] ifFalse: ['#ff5050']);
> >         with:
> >             [html heading: self description level: 2.
> >             html text: 'Pas d''étayage : ' , self steps asString.
> >             html heading: 'Capture écran' level: 3.
> >             html
> >                 text: 'Exercice de départ';
> >                 break.
> >             (html image)
> >                 document: moment pictureInitial;
> >                 altText: 'Capture de l''exercice';
> >                 fileName: 'sshot.png';
> >                 mimeType: 'image/png'.
> >             html break.
> >             html
> >                 text: 'Exercice réalisé';
> >                 break.
> >             (html image)
> >                 document: moment pictureFinal;
> >                 altText: 'Capture de l''exercice';
> >                 fileName: 'sshot.png';
> >                 mimeType: 'image/png'.
> >
> >
> > ---
> >
> >
> > Internal Error
> > Error: subscript is out of bounds: 2
> >
> > MethodContext(Object)>>errorSubscriptBounds:
> > MethodContext(Object)>>at:
> > MethodContext>>tempAt:
> > [] in WAWalkback>>renderStackFrame:on: {[:name :index | self
> > renderObject: (aContext tempAt: index) labelled: na...]}
> > OrderedCollection(SequenceableCollection)>>withIndexDo:
> > [] in WAWalkback>>renderStackFrame:on: {[receiver := aContext receiver.
> > self renderObject: receiver labelled: '...]}
> > BlockContext>>renderOn:
> > WATableTag(WATagBrush)>>within:
> > [] in WATableTag(WATagBrush)>>with: {[self within: aBlock]}
> > BlockContext>>renderOn:
> > WARenderCanvas(WACanvas)>>nest:
> > WATableTag(WABrush)>>with:
> > WATableTag(WATagBrush)>>with:
> > WARenderCanvas(WAHtmlCanvas)>>table:
> > [] in WAWalkback>>renderStackFrame:on: {[html table: [receiver :=
> > aContext receiver. self renderObject: rec...]}
> > BlockContext>>renderOn:
> > WAGenericTag(WATagBrush)>>within:
> > [] in WAGenericTag(WATagBrush)>>with: {[self within: aBlock]}
> > BlockContext>>renderOn:
> > WARenderCanvas(WACanvas)>>nest:
>
> _______________________________________________
> Seaside mailing list
> Seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>


More information about the Seaside mailing list