Hi.
I think there is an inconsistency in how ##esTerminationBlocks is initialized.
Here, it is initialized with #()
Process>>sstTerminationBlocks
"Answer the receiver's termination blocks, a collection."
attributes isNil ifTrue: [^#()].
^attributes at: ##esTerminationBlocks ifAbsent: [#()]
And here, with an OrderedCollection new
Process>>addTerminationBlock: block
"Add to the receiver, a block which is executed when the receiver is terminated."
^(self attributes at: ##esTerminationBlocks ifAbsentPut: [OrderedCollection new])
add: block
Process>>removeTerminationBlock: block
"Add to the receiver, a block which is executed when the receiver is terminated."
^(self attributes at: ##esTerminationBlocks ifAbsentPut: [OrderedCollection new])
remove: block ifAbsent: []
Thanks,
JP