Hi Windows Experts,
I'm trying to have the FFI exception failure support work across the
board. What I see now is that the 64-bit StackVM works, while the 64-bit
CogVM does not, even though they have exactly the same exception handling
machinery in place (the new squeakExceptionHandler machinery; thank you
whoever wrote it, it looks very nice), and the same essential architecture
for jumping back into the interpreter.
I expect the issue is that the machinery for maintaining a chain through
the stack and/or the stack search used in exception delivery is broken my
careless management of the C stack in the Cog VM, whereas in the StackVM
the C stack remains undisturbed.
To reproduce the crash in the Cog VM and the successful failure in the
StackVM in an updated trunk image simply
- load the FFI (script attached; it does a snapshot and quit)
- run the example at the end of ExceptionInFFICallError's class comment
Any help on debugging this appreciated.