Hello.

I have a crash when use CFFI + CCL + callbacks on Windows.

I am not sure the crash is caused by CFFI, there is another suspect. But the 
CFFI tests on Windows have errors.
Could you take a look to the test results (attached)? This is CFFI 0.10.6

About the crash. It happens with CL+SSL.

OpenSSL requires multi-threaded applications to provide a callback, which 
implements locking, 
as described here: http://www.openssl.org/docs/crypto/threads.html.

The callback function prototype is 

   void locking_function(int mode, int n, const char *file, int line)

The callback is installed using 

  void CRYPTO_set_locking_callback(void (*func)(int mode,int type,
                                              const char *file,int line))


CL+SSL has the following definitions:

(cffi:defcallback locking-callback :void
    ((mode :int)
     (n :int)
     (file :string)
     (line :int))
  ;(declare (ignore file line))

;; the callback body here

)

(cffi:defcfun ("CRYPTO_set_locking_callback" crypto-set-locking-callback)
    :void
  (fun :pointer))

If during initialization of CL+SSL we do

  (crypto-set-locking-callback (cffi:callback locking-callback))

then we have a crash at the first SSL connection to hunchentoot. The crash is 
100% reproducible.

It doesn't matter what we have in the callback body, it may be even empty. The 
symptoms are 
always the same.

If we comment out the line

;;  (crypto-set-locking-callback (cffi:callback locking-callback))

then the crash doesn't happen.

As I said, I am not sure CFFI is the cause of the crash. I tried to print the 
values
passed to the callback, they are not corrupted, valid numbers and strings.
Also, the callback is called thousands of times before the crash happen.

But on the other hand, if we don't set the callback, the crash doesn't happen;
and setting even empty callback guarantees the crash...

Anyway, If you provide any patches to CFFI, at least to fix the tests, I can
run the tests on Windows.

Best regards,
- Anton
;;; -------- Running tests in Clozure Common Lisp --------
;Compiler warnings for 
"home:quicklisp;dists;quicklisp;software;cffi_0.10.6;tests;funcall.lisp.newest" 
:
;   In (EXPAND-TO-FOREIGN (T CHECK-NIL-SKIP-TYPE)) inside an anonymous lambda 
form: Unused lexical variable VAL
; Warning: COMPILE-FILE warned while performing #<COMPILE-OP (:VERBOSE NIL) 
#xC619266> on #<CL-SOURCE-FILE "cffi-tests" "tests" "funcall">.
; While executing: #<STANDARD-METHOD ASDF:PERFORM (ASDF:COMPILE-OP 
ASDF:CL-SOURCE-FILE)>, in process listener(1).
; Warning: Redefining test FOREIGN-ALLOC.6
; While executing: REGRESSION-TEST::REPORT-ERROR, in process listener(1).
;;; running tests (uncompiled)
Doing 238 pending tests of 238 tests total.
 FUNCALL.CHAR FUNCALL.INT.1 FUNCALL.INT.2 FUNCALL.LONG
 FUNCALL.LONG-LONG FUNCALL.FLOAT FUNCALL.DOUBLE FUNCALL.STRING.1
 FUNCALL.STRING.2 FUNCALL.STRING.3 FUNCALL.VARARGS.CHAR
 FUNCALL.VARARGS.INT FUNCALL.VARARGS.LONG
Test FUNCALL.VARARGS.DOUBLE failed
Form: (WITH-FOREIGN-POINTER-AS-STRING (S 100) (SETF (MEM-REF S :CHAR) 0) 
(FOREIGN-FUNCALL "sprintf" :POINTER S :STRING "%.2f" :DOUBLE (COERCE PI 
'DOUBLE-FLOAT) :INT))
Expected value: "3.14"
Actual value: "f".
 FUNCALL.VARARGS.STRING FUNCALL.DOUBLE26 FUNCALL.FLOAT26
 FUNCALL.F-S-P.1
Test FUNCALL.STDCALL.1 failed
Form: (FLET ((FUN NIL (FOREIGN-FUNCALL ("stdcall_fun@12" :CONVENTION :STDCALL) 
:INT 1 :INT 2 :INT 3 :INT))) (LOOP REPEAT 100 DO (FUN) FINALLY (RETURN (FUN))))
Expected value: 6
Actual value: #<SIMPLE-ERROR #xCFCF1BE>.
 FUNCALL.NIL-SKIP FUNCALL.POINTER-NOT-NIL DEFCFUN.CHAR
 DEFCFUN.DOCSTRING DEFCFUN.INT DEFCFUN.LONG DEFCFUN.LONG-LONG
 DEFCFUN.FLOAT DEFCFUN.DOUBLE DEFCFUN.STRING.1 DEFCFUN.STRING.2
 DEFCFUN.STRING.3 DEFCFUN.NOARGS
Test DEFCFUN.NOOP failed
Form: (NOOP)
Expected values: 
Actual value: NIL.
 DEFCFUN.VARARGS.DOCSTRINGS DEFCFUN.VARARGS.CHAR DEFCFUN.VARARGS.SHORT
 DEFCFUN.VARARGS.INT DEFCFUN.VARARGS.LONG
Test DEFCFUN.VARARGS.FLOAT failed
Form: (WITH-FOREIGN-POINTER-AS-STRING (S 100) (SPRINTF S "%.2f" :FLOAT (FLOAT 
PI)))
Expected value: "3.14"
Actual value: "f".
Test DEFCFUN.VARARGS.DOUBLE failed
Form: (WITH-FOREIGN-POINTER-AS-STRING (S 100) (SPRINTF S "%.2f" :DOUBLE (FLOAT 
PI 1.0D0)))
Expected value: "3.14"
Actual value: "f".
 DEFCFUN.VARARGS.STRING DEFCFUN.BFF.1
Test DEFCFUN.BFF.2 failed
Form: (SUM-127 (MAKE-POINTER 2746181372) (MAKE-POINTER 177623060) -32334.0 
3158055028 (MAKE-POINTER 242315091) 4288001754991016425 -21047.0D0 287.0D0 
18722 243379286 -8677366518541007140 581399424 -13872 4240394881 1353358999 226 
969197676 -26207.0D0 6484 11150 1241680089902988480 106068320 61865 2253 
(MAKE-POINTER 866809333) -31613 35616 11715 1393601698 8940888681199591845 
(MAKE-POINTER 1524606024) 805638893 3315410736 3432596795 (MAKE-POINTER 
1490355706) 696175657106383698 -25438.0 1294381547 26724 (MAKE-POINTER 
3196569545) 2506913373410783697 -4405955718732597856 4075932032 3224670123 
2183829215657835866 1318320964 -22 -3786.0D0 -2017024146 1579225515 -626617701 
-1456 (MAKE-POINTER 3561444187) 395687791 1968033632506257320 -1847773261 48853 
142937735275669133 -17974.0 (MAKE-POINTER 2791749948) -14140.0 2707 3691328585 
3306.0 1132012981 303633191773289330 (MAKE-POINTER 981183954) 9114.0D0 
8664374572369470 -19013.0D0 -10288.0D0 -3679345119891954339 (MAKE-POINTER 
3538786709) 23761 -154264605 (MAKE-POINTER 2694396308) 7023 997.0D0 1009561368 
241 (MAKE-POINTER 2612292671) 48 1431872408 -32675.0D0 (MAKE-POINTER 
1587599336) 958916472 -9857.0D0 111 -14370.0D0 -7308 -967514912 488790941 
2146978095 -24111.0D0 13711 86681861 717987770 111 1013402998690933877 
17234.0D0 -8772.0 3959216275 -8711 (MAKE-POINTER 3142780851) 9480.0 
-3820453146461186120 1616574376 -3336232268263990050 -1906114671562979758 
-27925.0D0 9695970875869913114 27033.0D0 1096518219 -12 104 3392025403 -27911 
60 89 509297051 -533066551 29158.0 110 54 -9802.0D0 593950442165910888 -79)
Expected value: 7758614658402721936
Actual value: 7758614624042983568.
 DEFCFUN.UNDEFINED DEFCFUN.DOUBLE26 DEFCFUN.FLOAT26
Test DEFCFUN.STDCALL.1 failed
Form: (LOOP REPEAT 100 DO (STDCALL-FUN 1 2 3) FINALLY (RETURN (STDCALL-FUN 1 2 
3)))
Expected value: 6
Actual value: #<SIMPLE-ERROR #xD01B4CE>.
 CALLBACKS.CHAR CALLBACKS.UNSIGNED-CHAR CALLBACKS.SHORT
 CALLBACKS.UNSIGNED-SHORT CALLBACKS.INT CALLBACKS.UNSIGNED-INT
 CALLBACKS.LONG CALLBACKS.UNSIGNED-LONG CALLBACKS.LONG-LONG
 CALLBACKS.UNSIGNED-LONG-LONG CALLBACKS.FLOAT CALLBACKS.DOUBLE
 CALLBACKS.POINTER CALLBACKS.STRING CALLBACKS.STRING-NOT-DOCSTRING
 CALLBACKS.NIL-FOR-NULL CALLBACKS.QSORT CALLBACKS.VOID
 CALLBACKS.FUNCALL.1 CALLBACKS.FUNCALL.2
Test CALLBACKS.BFF.1 failed
Form: (CALL-SUM-127-NO-LL (CALLBACK SUM-127-NO-LL))
Expected value: 2008547941
Actual value: #<SIMPLE-ERROR #xD022A66>.
Test CALLBACKS.BFF.2 failed
Form: (CALL-SUM-127 (CALLBACK SUM-127))
Expected value: 8166570665645582011
Actual value: #<SIMPLE-ERROR #xD0228E6>.
 CALLBACKS.NON-EXISTANT CALLBACKS.DOUBLE26 CALLBACKS.DOUBLE26.FUNCALL
 CALLBACKS.FLOAT26 CALLBACKS.FLOAT26.FUNCALL CALLBACKS.STDCALL.1
 CALLBACKS.UNINTERNED FOREIGN-GLOBALS.REF.CHAR
 FOREIGN-GLOBALS.REF.UNSIGNED-CHAR FOREIGN-GLOBALS.REF.SHORT
 FOREIGN-GLOBALS.REF.UNSIGNED-SHORT FOREIGN-GLOBALS.REF.INT
 FOREIGN-GLOBALS.REF.UNSIGNED-INT FOREIGN-GLOBALS.REF.LONG
 FOREIGN-GLOBALS.REF.UNSIGNED-LONG FOREIGN-GLOBALS.REF.FLOAT
 FOREIGN-GLOBALS.REF.DOUBLE FOREIGN-GLOBALS.REF.POINTER
 FOREIGN-GLOBALS.REF.STRING FOREIGN-GLOBALS.REF.LONG-LONG
 FOREIGN-GLOBALS.REF.UNSIGNED-LONG-LONG FOREIGN-GLOBALS.SET.INT
 FOREIGN-GLOBALS.SET.STRING FOREIGN-GLOBALS.SET.LONG-LONG
 FOREIGN-GLOBALS.GET-VAR-POINTER.1 FOREIGN-GLOBALS.GET-VAR-POINTER.2
 FOREIGN-GLOBALS.REF.UPPERCASEINT1 FOREIGN-GLOBALS.REF.UPPER-CASE-INT1
 FOREIGN-GLOBALS.REF.MIXEDCASEINT1 FOREIGN-GLOBALS.REF.MIXED-CASE-INT1
 FOREIGN-GLOBALS.REF.UPPERCASEINT2 FOREIGN-GLOBALS.REF.UPPER-CASE-INT2
 FOREIGN-GLOBALS.REF.MIXEDCASEINT2 FOREIGN-GLOBALS.REF.MIXED-CASE-INT2
 FOREIGN-GLOBALS.REF.UPPERCASEINT3 FOREIGN-GLOBALS.REF.UPPER-CASE-INT3
 FOREIGN-GLOBALS.REF.MIXEDCASEINT3 FOREIGN-GLOBALS.REF.MIXED-CASE-INT3
 FOREIGN-GLOBALS.SYMBOL-NAME FOREIGN-GLOBALS.READ-ONLY.1
 DEFCVAR.DOCSTRING DEREF.CHAR DEREF.UNSIGNED-CHAR DEREF.SHORT
 DEREF.UNSIGNED-SHORT DEREF.INT DEREF.UNSIGNED-INT DEREF.LONG
 DEREF.UNSIGNED-LONG DEREF.LONG-LONG DEREF.UNSIGNED-LONG-LONG
 DEREF.FLOAT.1 DEREF.FLOAT.2 DEREF.FLOAT.3 DEREF.DOUBLE.1
 DEREF.DOUBLE.2 DEREF.DOUBLE.3 DEREF.POINTER.NULL
 LISP-STRING-TO-FOREIGN.EMPTY WITH-FOREIGN-POINTER.EVALX2
 WITH-FOREIGN-POINTER.CONSTANT-SIZE MEM-REF.LEFT-TO-RIGHT
 %MEM-REF.LEFT-TO-RIGHT %MEM-SET.LEFT-TO-RIGHT MEM-AREF.EVAL-TYPE-X2
 MEM-AREF.LEFT-TO-RIGHT MEM-REF.NESTED MEM-AREF.NESTED DEREF.AGGREGATE
 DEREF.ARRAY-OF-AGGREGATES POINTER.1 POINTER.2 POINTER.NULL
 FOREIGN-POINTER-TYPE.NIL MAKE-POINTER.HIGH INC-POINTER.ZERO
 FOREIGN-ALLOC.1 FOREIGN-ALLOC.2 FOREIGN-ALLOC.3 FOREIGN-ALLOC.4
 FOREIGN-ALLOC.5 FOREIGN-ALLOC.6 FOREIGN-ALLOC.7 FOREIGN-ALLOC.8
 FOREIGN-ALLOC.9 DEREF.NONCONST.CHAR DEREF.NONCONST.UNSIGNED-CHAR
 DEREF.NONCONST.SHORT DEREF.NONCONST.UNSIGNED-SHORT DEREF.NONCONST.INT
 DEREF.NONCONST.UNSIGNED-INT DEREF.NONCONST.LONG
 DEREF.NONCONST.UNSIGNED-LONG DEREF.NONCONST.LONG-LONG
 DEREF.NONCONST.UNSIGNED-LONG-LONG DEREF.NONCONST.FLOAT.1
 DEREF.NONCONST.FLOAT.2 DEREF.NONCONST.FLOAT.3 DEREF.NONCONST.DOUBLE.1
 DEREF.NONCONST.DOUBLE.2 DEREF.NONCONST.DOUBLE.3 MEM-REF.RT.1
 MEM-REF.RT.2 INCF-POINTER.1 INCF-POINTER.2 POINTERP.1 POINTERP.2
 POINTERP.3 POINTERP.4 POINTERP.5 POINTERP.6 MEM-REF.SETF.1
 POINTER-EQ.NON-POINTERS.1 POINTER-EQ.NON-POINTERS.2
 NULL-POINTER-P.NON-POINTER.1 NULL-POINTER-P.NON-POINTER.2
 NULL-POINTER-P.NON-POINTER.3 STRING.CONVERSION.BASIC
 STRING.CONVERSION.BASIC.2 STRING.ENCODING.ASCII
Test STRING.ENCODING.UTF-16.BASIC failed
Form: (WITH-FOREIGN-STRING (S *ASCII-TEST-STRING* :ENCODING :UTF-16) 
(FOREIGN-STRING-TO-LISP S :ENCODING :UTF-16))
Expected values: " 
!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
                 190
Actual values: 
""
               190.
 STRING.SHORT-WRITE.1 STRING.ENCODING.UTF-8.BASIC
Test STRING.ENCODINGS.ALL.BASIC failed
Form: (LET (FAILED) (DOLIST (ENCODING (LIST-LATIN-COMPATIBLE-ENCODINGS) FAILED) 
(WITH-FOREIGN-STRING (PTR *BASIC-LATIN-ALPHABET* :ENCODING ENCODING) (LET 
((STRING (FOREIGN-STRING-TO-LISP PTR :ENCODING ENCODING))) (UNLESS (STRING= 
*BASIC-LATIN-ALPHABET* STRING) (PUSH ENCODING FAILED))))))
Expected value: NIL
Actual value: #<UNBOUND-VARIABLE #xCCC8C7E>.
 STRING.ENCODINGS.DEFAULT STRUCT.1 STRUCT.2 STRUCT.3 STRUCT.4
 STRUCT.NAMES STRUCT.5 STRUCT.STRING.1 STRUCT.STRING.2
 STRUCT.ALIGNMENT.1 STRUCT.ALIGNMENT.2 STRUCT.ALIGNMENT.3
 STRUCT.ALIGNMENT.4 STRUCT.ALIGNMENT.5 STRUCT.ALIGNMENT.6
 STRUCT.ALIGNMENT.7 STRUCT.NESTED-SETF STRUCT.ALIGNMENT.8
 STRUCT-WRAPPER.1 STRUCT-WRAPPER.2 UNION.1 ENUM.1 ENUM.2 ENUM.3
 BITFIELD.1 BITFIELD.2 BITFIELD.3 BITFIELD.4 MISC-TYPES.STRING+PTR
 MISC-TYPES.BOOLEAN.1 MISC-TYPES.BOOLEAN.2 MISC-TYPES.WRAPPER
 MISC-TYPES.SIZED-INTS MISC-TYPES.EXPAND.1 MISC-TYPES.EXPAND.2
 MISC-TYPES.EXPAND.3 MISC-TYPES.EXPAND.4 MISC-TYPES.EXPAND.5
 MISC-TYPES.EXPAND.6
Test FOREIGN-SYMBOL-POINTER.1 failed
Form: (COMPARE-AGAINST-ABS (FOREIGN-SYMBOL-POINTER "abs"))
Expected value: T
Actual value: NIL.
 FOREIGN-SYMBOL-POINTER.2 LIBRARY.ERROR.1 LIBRARY.T-CLAUSE
 SHAREABLE-VECTOR.1 SHAREABLE-VECTOR.2
12 out of 238 total tests failed: FUNCALL.VARARGS.DOUBLE, FUNCALL.STDCALL.1, 
DEFCFUN.NOOP, 
   DEFCFUN.VARARGS.FLOAT, DEFCFUN.VARARGS.DOUBLE, DEFCFUN.BFF.2, 
   DEFCFUN.STDCALL.1, CALLBACKS.BFF.1, CALLBACKS.BFF.2, 
   STRING.ENCODING.UTF-16.BASIC, STRING.ENCODINGS.ALL.BASIC, 
   FOREIGN-SYMBOL-POINTER.1.
7 unexpected failures: FUNCALL.VARARGS.DOUBLE, FUNCALL.STDCALL.1, 
   DEFCFUN.VARARGS.FLOAT, DEFCFUN.VARARGS.DOUBLE, DEFCFUN.BFF.2, 
   DEFCFUN.STDCALL.1, FOREIGN-SYMBOL-POINTER.1.
;;; running tests (compiled)
Doing 238 pending tests of 238 tests total.
 FUNCALL.CHAR FUNCALL.INT.1 FUNCALL.INT.2 FUNCALL.LONG
 FUNCALL.LONG-LONG FUNCALL.FLOAT FUNCALL.DOUBLE FUNCALL.STRING.1
 FUNCALL.STRING.2 FUNCALL.STRING.3 FUNCALL.VARARGS.CHAR
 FUNCALL.VARARGS.INT FUNCALL.VARARGS.LONG
Test FUNCALL.VARARGS.DOUBLE failed
Form: (WITH-FOREIGN-POINTER-AS-STRING (S 100) (SETF (MEM-REF S :CHAR) 0) 
(FOREIGN-FUNCALL "sprintf" :POINTER S :STRING "%.2f" :DOUBLE (COERCE PI 
'DOUBLE-FLOAT) :INT))
Expected value: "3.14"
Actual value: "f".
 FUNCALL.VARARGS.STRING FUNCALL.DOUBLE26 FUNCALL.FLOAT26
 FUNCALL.F-S-P.1
Test FUNCALL.STDCALL.1 failed
Form: (FLET ((FUN NIL (FOREIGN-FUNCALL ("stdcall_fun@12" :CONVENTION :STDCALL) 
:INT 1 :INT 2 :INT 3 :INT))) (LOOP REPEAT 100 DO (FUN) FINALLY (RETURN (FUN))))
Expected value: 6
Actual value: #<SIMPLE-ERROR #xCCADB7E>.
 FUNCALL.NIL-SKIP FUNCALL.POINTER-NOT-NIL DEFCFUN.CHAR
 DEFCFUN.DOCSTRING DEFCFUN.INT DEFCFUN.LONG DEFCFUN.LONG-LONG
 DEFCFUN.FLOAT DEFCFUN.DOUBLE DEFCFUN.STRING.1 DEFCFUN.STRING.2
 DEFCFUN.STRING.3 DEFCFUN.NOARGS
Test DEFCFUN.NOOP failed
Form: (NOOP)
Expected values: 
Actual value: NIL.
 DEFCFUN.VARARGS.DOCSTRINGS DEFCFUN.VARARGS.CHAR DEFCFUN.VARARGS.SHORT
 DEFCFUN.VARARGS.INT DEFCFUN.VARARGS.LONG
Test DEFCFUN.VARARGS.FLOAT failed
Form: (WITH-FOREIGN-POINTER-AS-STRING (S 100) (SPRINTF S "%.2f" :FLOAT (FLOAT 
PI)))
Expected value: "3.14"
Actual value: "f".
Test DEFCFUN.VARARGS.DOUBLE failed
Form: (WITH-FOREIGN-POINTER-AS-STRING (S 100) (SPRINTF S "%.2f" :DOUBLE (FLOAT 
PI 1.0D0)))
Expected value: "3.14"
Actual value: "f".
 DEFCFUN.VARARGS.STRING DEFCFUN.BFF.1
Test DEFCFUN.BFF.2 failed
Form: (SUM-127 (MAKE-POINTER 2746181372) (MAKE-POINTER 177623060) -32334.0 
3158055028 (MAKE-POINTER 242315091) 4288001754991016425 -21047.0D0 287.0D0 
18722 243379286 -8677366518541007140 581399424 -13872 4240394881 1353358999 226 
969197676 -26207.0D0 6484 11150 1241680089902988480 106068320 61865 2253 
(MAKE-POINTER 866809333) -31613 35616 11715 1393601698 8940888681199591845 
(MAKE-POINTER 1524606024) 805638893 3315410736 3432596795 (MAKE-POINTER 
1490355706) 696175657106383698 -25438.0 1294381547 26724 (MAKE-POINTER 
3196569545) 2506913373410783697 -4405955718732597856 4075932032 3224670123 
2183829215657835866 1318320964 -22 -3786.0D0 -2017024146 1579225515 -626617701 
-1456 (MAKE-POINTER 3561444187) 395687791 1968033632506257320 -1847773261 48853 
142937735275669133 -17974.0 (MAKE-POINTER 2791749948) -14140.0 2707 3691328585 
3306.0 1132012981 303633191773289330 (MAKE-POINTER 981183954) 9114.0D0 
8664374572369470 -19013.0D0 -10288.0D0 -3679345119891954339 (MAKE-POINTER 
3538786709) 23761 -154264605 (MAKE-POINTER 2694396308) 7023 997.0D0 1009561368 
241 (MAKE-POINTER 2612292671) 48 1431872408 -32675.0D0 (MAKE-POINTER 
1587599336) 958916472 -9857.0D0 111 -14370.0D0 -7308 -967514912 488790941 
2146978095 -24111.0D0 13711 86681861 717987770 111 1013402998690933877 
17234.0D0 -8772.0 3959216275 -8711 (MAKE-POINTER 3142780851) 9480.0 
-3820453146461186120 1616574376 -3336232268263990050 -1906114671562979758 
-27925.0D0 9695970875869913114 27033.0D0 1096518219 -12 104 3392025403 -27911 
60 89 509297051 -533066551 29158.0 110 54 -9802.0D0 593950442165910888 -79)
Expected value: 7758614658402721936
Actual value: 7758614624042983568.
 DEFCFUN.UNDEFINED DEFCFUN.DOUBLE26 DEFCFUN.FLOAT26
Test DEFCFUN.STDCALL.1 failed
Form: (LOOP REPEAT 100 DO (STDCALL-FUN 1 2 3) FINALLY (RETURN (STDCALL-FUN 1 2 
3)))
Expected value: 6
Actual value: #<SIMPLE-ERROR #xCC1D2A6>.
 CALLBACKS.CHAR CALLBACKS.UNSIGNED-CHAR CALLBACKS.SHORT
 CALLBACKS.UNSIGNED-SHORT CALLBACKS.INT CALLBACKS.UNSIGNED-INT
 CALLBACKS.LONG CALLBACKS.UNSIGNED-LONG CALLBACKS.LONG-LONG
 CALLBACKS.UNSIGNED-LONG-LONG CALLBACKS.FLOAT CALLBACKS.DOUBLE
 CALLBACKS.POINTER CALLBACKS.STRING CALLBACKS.STRING-NOT-DOCSTRING
 CALLBACKS.NIL-FOR-NULL CALLBACKS.QSORT CALLBACKS.VOID
 CALLBACKS.FUNCALL.1 CALLBACKS.FUNCALL.2
Test CALLBACKS.BFF.1 failed
Form: (CALL-SUM-127-NO-LL (CALLBACK SUM-127-NO-LL))
Expected value: 2008547941
Actual value: #<SIMPLE-ERROR #xCC320FE>.
Test CALLBACKS.BFF.2 failed
Form: (CALL-SUM-127 (CALLBACK SUM-127))
Expected value: 8166570665645582011
Actual value: #<SIMPLE-ERROR #xCC30E86>.
 CALLBACKS.NON-EXISTANT CALLBACKS.DOUBLE26 CALLBACKS.DOUBLE26.FUNCALL
 CALLBACKS.FLOAT26 CALLBACKS.FLOAT26.FUNCALL CALLBACKS.STDCALL.1
 CALLBACKS.UNINTERNED FOREIGN-GLOBALS.REF.CHAR
 FOREIGN-GLOBALS.REF.UNSIGNED-CHAR FOREIGN-GLOBALS.REF.SHORT
 FOREIGN-GLOBALS.REF.UNSIGNED-SHORT FOREIGN-GLOBALS.REF.INT
 FOREIGN-GLOBALS.REF.UNSIGNED-INT FOREIGN-GLOBALS.REF.LONG
 FOREIGN-GLOBALS.REF.UNSIGNED-LONG FOREIGN-GLOBALS.REF.FLOAT
 FOREIGN-GLOBALS.REF.DOUBLE FOREIGN-GLOBALS.REF.POINTER
 FOREIGN-GLOBALS.REF.STRING FOREIGN-GLOBALS.REF.LONG-LONG
 FOREIGN-GLOBALS.REF.UNSIGNED-LONG-LONG FOREIGN-GLOBALS.SET.INT
 FOREIGN-GLOBALS.SET.STRING FOREIGN-GLOBALS.SET.LONG-LONG
 FOREIGN-GLOBALS.GET-VAR-POINTER.1 FOREIGN-GLOBALS.GET-VAR-POINTER.2
 FOREIGN-GLOBALS.REF.UPPERCASEINT1 FOREIGN-GLOBALS.REF.UPPER-CASE-INT1
 FOREIGN-GLOBALS.REF.MIXEDCASEINT1 FOREIGN-GLOBALS.REF.MIXED-CASE-INT1
 FOREIGN-GLOBALS.REF.UPPERCASEINT2 FOREIGN-GLOBALS.REF.UPPER-CASE-INT2
 FOREIGN-GLOBALS.REF.MIXEDCASEINT2 FOREIGN-GLOBALS.REF.MIXED-CASE-INT2
 FOREIGN-GLOBALS.REF.UPPERCASEINT3 FOREIGN-GLOBALS.REF.UPPER-CASE-INT3
 FOREIGN-GLOBALS.REF.MIXEDCASEINT3 FOREIGN-GLOBALS.REF.MIXED-CASE-INT3
 FOREIGN-GLOBALS.SYMBOL-NAME FOREIGN-GLOBALS.READ-ONLY.1
 DEFCVAR.DOCSTRING DEREF.CHAR DEREF.UNSIGNED-CHAR DEREF.SHORT
 DEREF.UNSIGNED-SHORT DEREF.INT DEREF.UNSIGNED-INT DEREF.LONG
 DEREF.UNSIGNED-LONG DEREF.LONG-LONG DEREF.UNSIGNED-LONG-LONG
 DEREF.FLOAT.1 DEREF.FLOAT.2 DEREF.FLOAT.3 DEREF.DOUBLE.1
 DEREF.DOUBLE.2 DEREF.DOUBLE.3 DEREF.POINTER.NULL
 LISP-STRING-TO-FOREIGN.EMPTY WITH-FOREIGN-POINTER.EVALX2
 WITH-FOREIGN-POINTER.CONSTANT-SIZE MEM-REF.LEFT-TO-RIGHT
 %MEM-REF.LEFT-TO-RIGHT %MEM-SET.LEFT-TO-RIGHT MEM-AREF.EVAL-TYPE-X2
 MEM-AREF.LEFT-TO-RIGHT MEM-REF.NESTED MEM-AREF.NESTED DEREF.AGGREGATE
 DEREF.ARRAY-OF-AGGREGATES POINTER.1 POINTER.2 POINTER.NULL
 FOREIGN-POINTER-TYPE.NIL MAKE-POINTER.HIGH INC-POINTER.ZERO
 FOREIGN-ALLOC.1 FOREIGN-ALLOC.2 FOREIGN-ALLOC.3 FOREIGN-ALLOC.4
 FOREIGN-ALLOC.5 FOREIGN-ALLOC.6 FOREIGN-ALLOC.7 FOREIGN-ALLOC.8
 FOREIGN-ALLOC.9 DEREF.NONCONST.CHAR DEREF.NONCONST.UNSIGNED-CHAR
 DEREF.NONCONST.SHORT DEREF.NONCONST.UNSIGNED-SHORT DEREF.NONCONST.INT
 DEREF.NONCONST.UNSIGNED-INT DEREF.NONCONST.LONG
 DEREF.NONCONST.UNSIGNED-LONG DEREF.NONCONST.LONG-LONG
 DEREF.NONCONST.UNSIGNED-LONG-LONG DEREF.NONCONST.FLOAT.1
 DEREF.NONCONST.FLOAT.2 DEREF.NONCONST.FLOAT.3 DEREF.NONCONST.DOUBLE.1
 DEREF.NONCONST.DOUBLE.2 DEREF.NONCONST.DOUBLE.3 MEM-REF.RT.1
 MEM-REF.RT.2 INCF-POINTER.1 INCF-POINTER.2 POINTERP.1 POINTERP.2
 POINTERP.3 POINTERP.4 POINTERP.5 POINTERP.6 MEM-REF.SETF.1
 POINTER-EQ.NON-POINTERS.1 POINTER-EQ.NON-POINTERS.2
 NULL-POINTER-P.NON-POINTER.1 NULL-POINTER-P.NON-POINTER.2
 NULL-POINTER-P.NON-POINTER.3 STRING.CONVERSION.BASIC
 STRING.CONVERSION.BASIC.2 STRING.ENCODING.ASCII
Test STRING.ENCODING.UTF-16.BASIC failed
Form: (WITH-FOREIGN-STRING (S *ASCII-TEST-STRING* :ENCODING :UTF-16) 
(FOREIGN-STRING-TO-LISP S :ENCODING :UTF-16))
Expected values: " 
!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
                 190
Actual values: 
""
               190.
 STRING.SHORT-WRITE.1 STRING.ENCODING.UTF-8.BASIC
Test STRING.ENCODINGS.ALL.BASIC failed
Form: (LET (FAILED) (DOLIST (ENCODING (LIST-LATIN-COMPATIBLE-ENCODINGS) FAILED) 
(WITH-FOREIGN-STRING (PTR *BASIC-LATIN-ALPHABET* :ENCODING ENCODING) (LET 
((STRING (FOREIGN-STRING-TO-LISP PTR :ENCODING ENCODING))) (UNLESS (STRING= 
*BASIC-LATIN-ALPHABET* STRING) (PUSH ENCODING FAILED))))))
Expected value: NIL
Actual value: #<UNBOUND-VARIABLE #xCCA6DF6>.
 STRING.ENCODINGS.DEFAULT STRUCT.1 STRUCT.2 STRUCT.3 STRUCT.4
 STRUCT.NAMES STRUCT.5 STRUCT.STRING.1 STRUCT.STRING.2
 STRUCT.ALIGNMENT.1 STRUCT.ALIGNMENT.2 STRUCT.ALIGNMENT.3
 STRUCT.ALIGNMENT.4 STRUCT.ALIGNMENT.5 STRUCT.ALIGNMENT.6
 STRUCT.ALIGNMENT.7 STRUCT.NESTED-SETF STRUCT.ALIGNMENT.8
 STRUCT-WRAPPER.1 STRUCT-WRAPPER.2 UNION.1 ENUM.1 ENUM.2 ENUM.3
 BITFIELD.1 BITFIELD.2 BITFIELD.3 BITFIELD.4 MISC-TYPES.STRING+PTR
 MISC-TYPES.BOOLEAN.1 MISC-TYPES.BOOLEAN.2 MISC-TYPES.WRAPPER
 MISC-TYPES.SIZED-INTS MISC-TYPES.EXPAND.1 MISC-TYPES.EXPAND.2
 MISC-TYPES.EXPAND.3 MISC-TYPES.EXPAND.4 MISC-TYPES.EXPAND.5
 MISC-TYPES.EXPAND.6
Test FOREIGN-SYMBOL-POINTER.1 failed
Form: (COMPARE-AGAINST-ABS (FOREIGN-SYMBOL-POINTER "abs"))
Expected value: T
Actual value: NIL.
 FOREIGN-SYMBOL-POINTER.2 LIBRARY.ERROR.1 LIBRARY.T-CLAUSE
 SHAREABLE-VECTOR.1 SHAREABLE-VECTOR.2
12 out of 238 total tests failed: FUNCALL.VARARGS.DOUBLE, FUNCALL.STDCALL.1, 
DEFCFUN.NOOP, 
   DEFCFUN.VARARGS.FLOAT, DEFCFUN.VARARGS.DOUBLE, DEFCFUN.BFF.2, 
   DEFCFUN.STDCALL.1, CALLBACKS.BFF.1, CALLBACKS.BFF.2, 
   STRING.ENCODING.UTF-16.BASIC, STRING.ENCODINGS.ALL.BASIC, 
   FOREIGN-SYMBOL-POINTER.1.
7 unexpected failures: FUNCALL.VARARGS.DOUBLE, FUNCALL.STDCALL.1, 
   DEFCFUN.VARARGS.FLOAT, DEFCFUN.VARARGS.DOUBLE, DEFCFUN.BFF.2, 
   DEFCFUN.STDCALL.1, FOREIGN-SYMBOL-POINTER.1.
_______________________________________________
cffi-devel mailing list
cffi-devel@common-lisp.net
http://common-lisp.net/cgi-bin/mailman/listinfo/cffi-devel

Reply via email to