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

Reply via email to