Hi, I just ran Squeak3.10.2-7179-basic 'out of the box' and it passed 2253 tests out of 2254. This is the one it fell over on. It seems a shame not to have all tests green. I can't find a Mantis report for this.
There was a mailing list thread about it in June. http://www.nabble.com/-squeak-dev--DebuggerUnwindBug%3E%3EtestUnwindDebugger...
Is there a fix? If not I'll log a bug.
...Stan
NorbertHartl wrote:
This test case appears at some point to fail. It succeeds in 3.9. I narrowed the problem to an update of 3.9.1 with update 7071 (Kernel-sd.151) which introduced it.
The piece of code that triggers it is:
Process>>terminate ... suspendedContext ifNotNil: [ "Figure out if we are terminating the process while waiting in Semaphore>>critical: In this case, pop the suspendedContext so that we leave the ensure: block inside Semaphore>>critical: without signaling the semaphore." (inSema == true and:[ suspendedContext method == ( Semaphore compiledMethodAt: #critical:) ]) ifTrue:[ suspendedContext := suspendedContext home. ]. ...
I don't really understand the rationale behind doing this but it seems that it conflicts with the test assumption:
DebuggerUnwindBug>>testUnwindDebuggerWithStep ... debugger doStep. "close debugger" top delete.
"and see if unwind protection worked" self assert: sema isSignaled.
As I don't really understand what happens and what should happen I would be glad to hear some words of advice.
Norbert