Login  Register

Re: Solving multiple termination bugs - summary & proposal

Posted by Jaromir Matas on Apr 10, 2021; 8:58am
URL: https://forum.world.st/Solving-multiple-termination-bugs-summary-proposal-tp5128285p5128377.html

Hi,

The enclosed changeset fixes all bugs/inconsistencies concerning process
termination listed below. It's a simplified version of the previous
proposal. Feedback very welcome indeed!

The idea is to simply extend the existing mechanism for completing
halfway-through unwind blocks and let it deal with *all* unwind blocks.

best,

Fix_terminate_v3.cs <http://forum.world.st/file/t372955/Fix_terminate_v3.cs>  


Jaromir Matas wrote

> Hi All,
>
> here's a summary of bugs in the current termination procedure:
>
> 1. #isTerminated and #isSuspended fail to report correctly - in [1]
>
> 2. active process termination bug causing an image crash - in [2]
>
> 3. nested unwind bug: skipping some ensure blocks - in [3]
>
> 4. likely a bug: a failure to complete nested unwind blocks halfway thru
> execution - also in [3]
>
> 5. Christoph's discovery: a failure to correctly close the debugger in
> case
> of error or non-local return in unwind - in [4]
>
> 6. inconsistent semantics of unwinding protected blocks during active vs.
> suspended process termination





-----
^[^ Jaromir
--
Sent from: http://forum.world.st/Squeak-Dev-f45488.html

^[^ Jaromir