Issue status update for
http://smalltalk.gnu.org/node/596Post a follow up:
http://smalltalk.gnu.org/project/comments/add/596 Project: GNU Smalltalk
Version: <none>
Component: VM
Category: bug reports
Priority: critical
Assigned to: Unassigned
Reported by: MrGwen
Updated by: MrGwen
Status: active
In _gst_save_to_file (save.c line 277), there are two hook calls.
Unfortunately when they are called from the primitive
VMpr_ObjectMemory_snapshot it's not safe:
- The process P1 calls the primitive
- the primitive calls the hooks
- the hooks at the end (in _gst_nvmsg_send) selects another process P3
- leave _gst_save_to_file
- The interpretor is in the primitive code which set the stack on the
wrong process.
Possible solution ?
the hooks can be removed from the c side and be called from the
smalltalk side. But that doesn't solve the problem because the compiler
(maybe others with libgst??) calls Smalltalk code. So using
push_jmp_buf (&jb, false, get_active_process ()); could solve the
problem.
Gwen
_______________________________________________
help-smalltalk mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-smalltalk