[squeak-dev] Re: [Pharo-dev] Unwind error during termination
Levente Uzonyi
leves at elte.hu
Fri Oct 25 01:10:47 UTC 2013
On Fri, 25 Oct 2013, Nicolas Cellier 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'.
I had an attempt to fix it, but it's incomplete, and other issues popped
up:
http://lists.squeakfoundation.org/pipermail/squeak-dev/2012-August/165364.html
Levente
>
>
>
> 2013/10/24 Igor Stasenko <siguctua at 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.
>
>
>
>
More information about the Squeak-dev
mailing list
|