On 25 October 2013 00:26, Nicolas Cellier <nicolas.cellier.aka.nice@gmail.com> wrote:
Hard to debug this kind of code :(
This is reproducible on Squeak wiht on:do:, so on:fork: bizareness apart, this is another flaw in exception handling, along with wrong handler for nested exception (testHandlerFromAction below), unless it's an avatar.

Still, I do not see how you get the errorSubscriptBound:...
In Squeak that would mean that you sent #handleSignal: to a not isHandlerContext ContextPart...
I never saw this, but if Eliot says so...



ExceptionTests>>testHandlerFromAction
������ "A test ensuring that nested exceptions work as expected."

������ | result |
������ result := [
������ ������ [
������ ������ ������ [self error: 'trigger error'] on: ZeroDivide do: [ :ex | 'inner' ]
������ ������ ] on: Error do: [ :ex | 3 / 0 ]
������ ] on: ZeroDivide do: [ :ex | 'outer' ].
������ self assert: 'outer' equals: result description: 'Incorrect handler'.

good find :)

https://pharo.fogbugz.com/f/cases/11996/Wrong-exception-handler-problem
��


2013/10/24 Igor Stasenko <siguctua@gmail.com>

ok, it seems i found how to reproduce the situation with following:

[�� [ 1/0 ] ensure: [ nil foo ] ] on: Error fork: [ :ex | 1halt ]

you will get halt, and if you close the debugger , it will throw unwind error.
(while instead it should throw DNU)


--
Best regards,
Igor Stasenko.




--
Best regards,
Igor Stasenko.