[Pharo-dev] Unwind error during termination

Stéphane Ducasse stephane.ducasse at inria.fr
Fri Oct 25 12:46:09 EDT 2013


If I remember correctly andreas wrote the tests. 
I always like them.

Stef

> The author of the test is Andreas Raab, but I'm not sure who found it (excavating mailing list is hard work)
> 
> 
> 2013/10/25 Igor Stasenko <siguctua at gmail.com>
> 
> 
> 
> On 25 October 2013 00:26, Nicolas Cellier <nicolas.cellier.aka.nice at 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 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.
> 
> 
> 
> 
> -- 
> Best regards,
> Igor Stasenko.
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131025/d54ed6cb/attachment-0002.html>


More information about the Pharo-dev mailing list