help-smalltalk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-smalltalk] [bug] Reentrancy error


From: Gwenael Casaccio
Subject: [Help-smalltalk] [bug] Reentrancy error
Date: Fri, 01 Jul 2011 05:33:11 -0700

Issue status update for http://smalltalk.gnu.org/node/597 Post a follow up: http://smalltalk.gnu.org/project/comments/add/597

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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]