The fix is however dependent on fixing a debugger issue I've tried to fix by Tools-jar.1161 (Inbox):
1) Make all three termination modes equal in terms of how the chosen termination mode is propagated to #windowIsClosing. Current asymmetrical approach leads to an incorrect debugger termination via #terminate mode (it first terminates the debugged process and then calls close while in case of terminateAggerssively the debugger first calls close and only then terminates the debugged process; imo this is the root cause.
2) Replace termination of the debugged process with an indirect termination via a forked process (otherwise the debugger waits until the debugged process is terminated but if another error is raised during unwind the termination is halted and the assertion fail). This is a separate issue from 1) and only has been visible by merging the latest #terminate version.
The proposed fix clears the failing tests but a review from someone experienced is necessary I believe.
Following up http://lists.squeakfoundation.org/pipermail/squeak-dev/2022-January/218167.html I've proposed a fix (Inbox: ToolsTests-jar.111) to
test19Abandon
andtest20TerminateProcess
The fix is however dependent on fixing a debugger issue I've tried to fix by Tools-jar.1161 (Inbox): 1) Make all three termination modes equal in terms of how the chosen termination mode is propagated to #windowIsClosing. Current asymmetrical approach leads to an incorrect debugger termination via #terminate mode (it first terminates the debugged process and then calls
close
while in case ofterminateAggerssively
the debugger first callsclose
and only then terminates the debugged process; imo this is the root cause.2) Replace termination of the debugged process with an indirect termination via a forked process (otherwise the debugger waits until the debugged process is terminated but if another error is raised during unwind the termination is halted and the assertion fail). This is a separate issue from 1) and only has been visible by merging the latest #terminate version.
The proposed fix clears the failing tests but a review from someone experienced is necessary I believe.