[Pharo-dev] Unexpected block variable change of value

Clément Bera bera.clement at gmail.com
Tue Nov 12 04:00:32 EST 2013


This bug is tricky and nasty.

It will be fixed before Pharo 3 release but it may not be fixed very soon.

Regards.



2013/11/12 <btc at openinworld.com>

>  Thanks Clément.
>
> Making that setting change, then "Compiler recompileAll" did fix the
> problem.
> However following up with "OpalCompiler recompileAll" does not reintroduce
> the problem.
>
> Starting again with a fresh build #30564, I confirmed the problem was
> there,
> then first did "OpalCompiler recompileAll" and the problem remained.
>
> btw, (sorry) a correction below,
> the place to insert the breakpoint was SpecLayout>>privateAsArray
> not SpecRowLayout>>privateAsArray.
>
> regards, Ben
>
>
> Clément Bera wrote:
>
> There is a bug left in double nested blocks in the debugger (some variables
> then shows incorrect value).
>
> Retry with the old compiler (world menu>settings>compiler>Compiler) and see
> if this is fixed.
>
>
>
> 2013/11/11 Max Leske <maxleske at gmail.com> <maxleske at gmail.com>
>
>    Not sure if it’s related to your issue but I’ve been seeing swapped
> temporary variables in the debugger. The value used for execution is
> correct but in the view two variables will have the value of the other.
> Are you sure that the value *effectively* changes or could it be a
> visualization problem?
>
> Max
>
> On 11.11.2013, at 17:29, btc at openinworld.com wrote:
>
>
>
>  I'm not sure if I'm missing something, but there seems some strange
>
>
>  behavior that I don't understand.  The value of a block variable changes
> when stepping over a method that acts on that variable.  I encountered this
> in Spec, but that seems co-incidental to the behaviour.
>
>
>  SETUP
> 1. The attached "My-Spec-Tutorial-BenComan.1.mcz" (i.e. Bahman's
>
>
>  tutorial) was loaded into build #30564.
>
>
>  2. A breakpoint was inserted after the first "e generateArguments" in...
> SpecRowLayout>>privateAsArray
>   | result shouldCheckSplitters |
>   result := OrderedCollection new.
>   shouldCheckSplitters := false.         (self commands reject: [:e | e
>
>
>  isSplitter ]) do: [:e |
>
>
>    ...lots..hidden.for..conciseness....
>       e generateArguments.
>       self haltOnce. "<------------------"
>       e asSpecElements do: [:el |
>           result add: el ]].
>
> 3. The following was evaluated...
>   Halt enableHaltOnce.
>   MyFirstWindow new openWithSpec: #defaultSpec.
>
>
> OBSERVATION
> 1. When the debugger opened at the breakpoint
> e = a SpecLayoutAdd
>
> 2. But after stepping over #asSpecElements
> e = an OrderedCollection()
>
> So how did the value of 'e' change?
>
> Where...
> SpecLayoutAdd(SpecLayoutSend)>>asSpecElements
>   ^ {self selector.}, self arguments
>
> SpecLayoutAdd(SpecLayoutSend)>>selector
>   ^ selector
>
> SpecLayoutAdd(SpecLayoutSend)>>arguments
>   ^ arguments
>
>
> This was on Windows 7.  Since files.pharo.org is offline, I wasn't able
>
>
>  to try a newer VM. My current was...
>
>
>  NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid:
>
>
>  a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
>
>
>  NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid:
>
>
>  a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
>
>
>  git://gitorious.org/cogvm/blessed.git Commit:
>
>
>  412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100
> By: Esteban Lorenzano <estebanlm at gmail.com> <estebanlm at gmail.com> Jenkins build #14535
>
>
>  Win32 built on Mar 13 2013 18:49:42 Compiler: 4.6.2
> VMMaker versionString git://gitorious.org/cogvm/blessed.git Commit:
>
>
>  412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100
> By: Esteban Lorenzano <estebanlm at gmail.com> <estebanlm at gmail.com> Jenkins build #14535
>
>
>  NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid:
>
>
>  a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
>
>
>  NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid:
>
>
>  a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
>
>
>  cheers -ben
>
> <My-Spec-Tutorial-BenComan.1.mcz>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131112/fb08b44e/attachment-0002.html>


More information about the Pharo-dev mailing list