Issue status update for http://smalltalk.gnu.org/node/596 Post 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
[email protected]
https://lists.gnu.org/mailman/listinfo/help-smalltalk

Reply via email to