[Vm-dev] 3.10-6 shaky?
John M McIntosh
johnmci at smalltalkconsulting.com
Wed Aug 19 08:13:48 UTC 2009
There is a known problem where unbalanced primitive calls, where the
logic pop/push variables in an unbalanced manner
as it passes variables to primitive calls will cause the VM to crash.
This was identified in eToys where it would make calls to check
Normally those calls aren't made in the squeak vm, but perhaps others
What happens is the unbalanced pop leaves garbage on the stack where
in the past that slot was not used, but now it's
used for the block closure logic, so when the method returns it
attempts to use that slot data, and BOOM.
The crash happens on the return from a method call where the method is
invoking a primitive. The trick then is to find
which method is being called.
Of course this all presumes that is the issue, and not some other
problem, since I've not built a VM from the latest
code base for a few months now and there has been a few changes which
I've not eyeballed.
On 19-Aug-09, at 1:08 AM, Michael Haupt wrote:
> Hi John,
> On Wed, Aug 19, 2009 at 10:01 AM, John M
> McIntosh<johnmci at smalltalkconsulting.com> wrote:
>> Is this a closure VM?
> it seems it is. (Eliot's factorial example produces a sensible
> result.) I don't have the time to look at the code right now, though.
John M. McIntosh <johnmci at smalltalkconsulting.com> Twitter:
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
More information about the Vm-dev