Oh. It is my error.
I used "buildCall1 (s, cVoid, cPointer)",
but I must use "buildCall0 (s, (), cPointer)"
Sorry.
Thank you very much.

пт, 11 янв. 2019 г. в 15:55, David Matthews <david.matth...@prolingua.co.uk>:
>
> Hi,
> The assertion failure is in libffi so I'm not sure what is going on
> there.  It's possible that Poly is doing something wrong but assertion
> failures are usually faults in the code itself.
>
> The "Address out of bounds" message is simply something from the
> debugger.  The value is a union which may sometimes be an integer and
> sometimes an address.  In this case it is a small integer and isn't
> valid as an address.
>
> David
>
> On 11/01/2019 08:56, Kostirya wrote:
> > Hello.
> > I got FFI error when configure and built poly with --enable-debug *only*:
> > ASSERTION FAILURE: 0 at src/x86/ffi64.c:302
> >
> > The error happens on Linux and FreeBSD.
> > I use PolyML from git at "Thu Jan 3 14:35:50" date (Linux) and "Fri
> > Jun 22 13:49:32 2018" (FreeBSD):
> > ./configure --with-gmp --enable-debug
> >
> > When I use PolyML *without* debugIt is all right. :-)
> >
> > GDB backtrace on linux:
> >
> > (gdb) bt
> > #0  0x00007f53c3fca1f7 in raise () from /lib64/libc.so.6
> > #1  0x00007f53c3fcb8e8 in abort () from /lib64/libc.so.6
> > #2  0x00007f53c4c1295f in ffi_assert ()
> >     from /home/nick/polyml/lib/libpolyml.so.9
> > #3  0x00007f53c4c1326a in ffi_prep_cif_machdep ()
> >     from /home/nick/polyml/lib/libpolyml.so.9
> > #4  0x00007f53c4be1d31 in poly_ffi (taskData=0x7f53bc01b8c0,
> >      args=0x7f53bc01baf8, code=0x7f53bc01baf0) at polyffi.cpp:381
> > #5  0x00007f53c4be2986 in PolyFFIGeneral (threadId=0x7f53c4f54870, code=...,
> >      arg=...) at polyffi.cpp:587
> > #6  0x0000000000408aa2 in area1 ()
> > #7  0x00007f53abe429c0 in ?? ()
> > #8  0x00007f53abe42700 in ?? ()
> > #9  0x0000000000001000 in ?? ()
> > #10 0x00007f53c400f53b in new_heap () from /lib64/libc.so.6
> > #11 0x0000000000000000 in ?? ()
> >
> >
> > GDB backtrace on FreeBSD is more informative ans say "0x6f <Address
> > 0x6f out of bounds>":
> >
> > (gdb) bt
> > #0  0x000000080132a47a in thr_kill () from /lib/libc.so.7
> > #1  0x000000080132a444 in raise () from /lib/libc.so.7
> > #2  0x000000080132a3b9 in abort () from /lib/libc.so.7
> > #3  0x00000008009224a7 in ffi_assert ()
> >     from /home/nick/polyml_new/lib/libpolyml.so.9
> > #4  0x0000000800923922 in classify_argument ()
> >     from /home/nick/polyml_new/lib/libpolyml.so.9
> > #5  0x000000080092290e in examine_argument ()
> >     from /home/nick/polyml_new/lib/libpolyml.so.9
> > #6  0x00000008009227eb in ffi_prep_cif_machdep ()
> >     from /home/nick/polyml_new/lib/libpolyml.so.9
> > #7  0x000000080091b2d8 in ffi_prep_cif_core ()
> >     from /home/nick/polyml_new/lib/libpolyml.so.9
> > #8  0x000000080091b54d in ffi_prep_cif ()
> >     from /home/nick/polyml_new/lib/libpolyml.so.9
> > #9  0x00000008008e9cd8 in poly_ffi (taskData=0x802218200, args=0x80221c008,
> >      code=0x80221c000) at polyffi.cpp:379
> > #10 0x00000008008e8df0 in PolyFFIGeneral (threadId=0x8006b2208, code=
> >          {contents = {signedInt = 111, unsignedInt = 111, objectPtr =
> > 0x6f, codePtr = 0x6f <Address 0x6f out of bounds>, stackAddr = 0x6f}},
> > arg=
> >          {contents = {signedInt = 34366811360, unsignedInt =
> > 34366811360, objectPtr = 0x8006bece0, codePtr = 0x8006bece0 "\005",
> > stackAddr = 0x8006bece0}})
> >      at polyffi.cpp:585
> > _______________________________________________
> > polyml mailing list
> > polyml@inf.ed.ac.uk
> > http://lists.inf.ed.ac.uk/mailman/listinfo/polyml
> >
_______________________________________________
polyml mailing list
polyml@inf.ed.ac.uk
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml

Reply via email to