On 25 October 2013 01:28, Nicolas Cellier <nicolas.cellier.aka.nice@gmail.com> wrote:
The author of the test is Andreas Raab, but I'm not sure who found it (excavating mailing list is hard work)

and this test is missing in pharo, so thanks anyways :)

i can't imagine what can't go wrong is such basic stuff is broken.
so we should fix it first, and then see if on:fork: needs some extra handling.


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



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'.



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.




--
Best regards,
Igor Stasenko.