[Vm-dev] [Cog] Stack (mis)alignment on windows

Eliot Miranda eliot.miranda at gmail.com
Fri Sep 28 20:32:36 UTC 2012


On Fri, Sep 28, 2012 at 8:55 AM, Igor Stasenko <siguctua at gmail.com> wrote:

>
> Hi,
>
> if i build a debug version of VM on windows , it spams me with this
> assertion failed in debug console window:
>
> (getfp() & STACK_ALIGN_MASK) == STACK_FP_ALIGN_BYTES 41946
> ....
>
> what is this number '41946', which follows? sometimes it is 42015 (and
> sometimes other), but most of times it's 41946.
>

It is the line number of the assert that is failing.  This will be in the
interpreter file somewhere. This is not spam.  It is a bug (and likely in
NativeBoost).


> Actual question, how i can instruct gdb to break on a first failure of
> this assertion, so i can catch who causing this (or at least get close
> to one who causing it)..
>

wot Mariano said.


> P.S. the STACK_ALIGN_BYTES  is 16
>
> P.P.S. i wonder for how long this thing broken there, since we're not
> building/using debug version of VM that often.
>

I doubt it is broken in the VM.  Stack alignment is very important for e.g.
SSE floating-point on x86.  If it were broken the VM would not work.  I
guess you're generating NB code that is not preserving stack alignment and
on callback you're falling foul of the assert.



> Igor Stasenko.
>



-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20120928/bee48e9c/attachment.htm


More information about the Vm-dev mailing list