issue
18615 Can not access named temp vector from within optimized block scope
put a fix (with a new test case for this issue) in the inbox.



2016-06-24 23:22 GMT+02:00 Nicolai Hess <nicolaihess@gmail.com>:
Can you try if this is working with this change (attach .st)
I'll open an issue and do some more tests.



2016-06-24 21:56 GMT+02:00 Alistair Grant <akgrant0710@gmail.com>:
Hi Nicolai,

On Fri, Jun 24, 2016 at 09:15:41PM +0200, Nicolai Hess wrote:
>
>
> 2016-06-24 20:57 GMT+02:00 Alistair Grant <akgrant0710@gmail.com>:
>
>�� �� ��Hi All,
>
>�� �� ��I'm currently regularly hitting an issue with the debugger where
>�� �� ��inspecting a temporary variable shows the string "error obtaining field
>�� �� ��value" rather than the actual value.
>
>
> I am not sure if this is the same error. We had a couple of issues with reading
> different kinds of variables in the debugger,
> and some fix work for one access and introduces new issues for other kinds of
> variables :(
>
> Most things are working now, but we have still an issue in Pharo 6.0 with block
> local vars in optimized blocks (case 17343)
> But I think this one is a different issue.
> Before we open a new issue, it would be good if I can reproduce this one.
> Give me some time ( or some hints) what I need to reproduce this)

Thanks for your reply.

I've created a class that reproduces the problem:


'From Pharo5.0 of 16 April 2015 [Latest update: #50757] on 24 June 2016 at 9:51:07.97744 pm'!
Object subclass: #AKGDebuggerBug
�� �� �� �� instanceVariableNames: ''
�� �� �� �� classVariableNames: ''
�� �� �� �� poolDictionaries: ''
�� �� �� �� category: 'AKG-Bugs'!

!AKGDebuggerBug methodsFor: 'demo' stamp: 'AlistairGrant 6/24/2016 21:49'!
method1
�� �� �� �� "AKGDebuggerBug new method1"
�� �� �� �� self method2: [ 'hello world' ].! !

!AKGDebuggerBug methodsFor: 'demo' stamp: 'AlistairGrant 6/24/2016 21:50'!
method3: aBlock

�� �� �� �� | result |

�� �� �� �� [ result := aBlock value ] value.
�� �� �� �� ^result.! !

!AKGDebuggerBug methodsFor: 'demo' stamp: 'AlistairGrant 6/24/2016 21:50'!
method2: aBlock
�� �� �� �� | result |
�� �� �� �� [ result := aBlock numArgs = 1
�� �� �� �� �� �� �� �� ifTrue: [ aBlock value: self ]
�� �� �� �� �� �� �� �� ifFalse: [ aBlock value ] ] value.
�� �� �� �� ^ result! !


Debugging "AKGDebuggerBug new method1" and stepping through to where
result is assigned in method2: will trigger the problem.

Note that modifying method1 to call method3: will not reproduce the
problem.


Thanks,
Alistair