[Vm-dev] FFI-Tests initialization problem
Eliot Miranda
eliot.miranda at gmail.com
Sun Jan 26 22:39:17 UTC 2020
Hi Nicolas,
I can't reproduce this because FFITestSfd & FFITestSsSfd et al are not
yet in FFI_Tests. Can you co bit them to FFI_Tests? You can put it in
FFIinbox if you don't feel comfortable putting it straight in FFI.
On Sun, Jan 26, 2020 at 1:38 PM Nicolas Cellier <
nicolas.cellier.aka.nice at gmail.com> wrote:
>
> Hi all,
> I defined new FFI-Tests with struct inside struct.
> I wanted to check for correct alignment (this works as it should thanks to
> Ronie!).
>
> But when I reload the package into a new image, there is an initialization
> order problem.
> It seems that the struct FFITestSfd is created AFTER the struct
> FFITestSsSfd.
> But struct FFITestSsSfd depends on struct FFITestSfd (it is just struct
> {short s1; struct FFITestSfd sfd2;}
> Consequently, FFITestSsSfd DOES not get correctly initialized...
> It simply ignore the missing FFITestSfd definition, and believes that it
> has a single field (short s1) and that it is of size 2...
>
> When we execute the FFIPluginTests testSuite, this can badly crash the
> image because the FFI is allocating a ByteArray handle of size 2 for
> returning the FFITestSsSfd by value, and the test function writes a struct
> of size 12 into it...
>
> We can't live long with such hanging sword above our heads and should
> urgently fix it.
> At least, you are warned, don't execute new FFI tests blindly.
>
--
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20200126/950378a6/attachment.html>
More information about the Vm-dev
mailing list