Hard to debug this kind of code :(
This is reproducible on Squeak wiht on:do:, so on:fork: bizareness apart, this is another flaw in exception handling, along with wrong handler for nested exception (testHandlerFromAction below), unless it's an avatar.
Still, I do not see how you get the errorSubscriptBound:...
In Squeak that would mean that you sent #handleSignal: to a not isHandlerContext ContextPart...
I never saw this, but if Eliot says so...
ExceptionTests>>testHandlerFromAction
��� "A test ensuring that nested exceptions work as expected."
��� | result |
��� result := [
��� ��� [
��� ��� ��� [self error: 'trigger error'] on: ZeroDivide do: [ :ex | 'inner' ]
��� ��� ] on: Error do: [ :ex | 3 / 0 ]
��� ] on: ZeroDivide do: [ :ex | 'outer' ].
��� self assert: 'outer' equals: result description: 'Incorrect handler'.