[squeak-dev] DebuggerUnwindBug>>testUnwindDebuggerWithStep
Norbert Hartl
norbert at hartl.name
Fri Jun 20 12:50:27 UTC 2008
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
More information about the Squeak-dev
mailing list
|