I uploaded a cs fix_closure_stack_frame_size_computation for this issue
13854
frameSize calculated wrongly for #lineSegmentsDo: !

It is not meant as a fix but to show and make it easier to understand where
the bug is. I don't like this fix because it looks like
"fixing the right bug at the wrong place"

About the issue:
It is all about calculating the correct stack frame size for a compiled method
(compiledmethod>>#header)
With opal, the result is sometimes larger than it is needed
or to small (strangly enough, although we have *some* methods with
a too small stack frame, a vm crash only happens for me if I am stepping
through the method with the debugger).

The needed stack frame size is calculated from the
numTemps (arguments + number of temporaries) + the max stack depth
*and* if the method defines any blocks the methods stack frame size is
the maximum of
- its own needed stack frame size
- all of its blocks needed stack frame sizes.

(And what makes this calculation a little bit tricky, the methods arguments
and tempvars, although it looks like that,
don't influence the stack frame size for the blocks. Every block context starts
with its own stack)

nicolai