Open
Description
process := [[1 second wait] valueWithin: 2 seconds onTimeout: []] newProcess.
process runUntil: [:c | c isClosureContext and: [c size > 0 and: [c top isKindOf: Process]]]. "<-- simulate a possible context switch in primitiveResume"
process step.
process terminate.
Expected: The stack of the process is fully unwound, and the process is terminated correctly.
Actual: The following debugger appears (BlockCannotReturn):
This is not a regression and failed in 5.3, too (but with a different error).
I have no idea yet why this happens, but it is blowing up every few minutes in my current multiprocessing-intensive project. Fix or workaround would be highly desired.
Cc'ing @isCzech in case this bug interests you :)