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