Strange CFFI callback error with SBCL

I have this Common Lisp code which is a CFFI binding to PortAudio: https://github.com/thodg/cffi-portaudio

The first time I create an ASDF it doesn't give any warnings, but if I try to reboot the system it tells me so:

STYLE-WARNING: Undefined alien: "Pa_GetErrorText"
STYLE-WARNING: Undefined alien: "Pa_Initialize"
STYLE-WARNING: Undefined alien: "Pa_Terminate"
STYLE-WARNING: Undefined alien: "Pa_OpenStream"
STYLE-WARNING: Undefined alien: "Pa_OpenDefaultStream"
STYLE-WARNING: Undefined alien: "Pa_CloseStream"
STYLE-WARNING: Undefined alien: "Pa_StartStream"
STYLE-WARNING: Undefined alien: "Pa_StopStream"
STYLE-WARNING: Undefined alien: "Pa_AbortStream"
STYLE-WARNING: Undefined alien: "Pa_IsStreamStopped"
STYLE-WARNING: Undefined alien: "Pa_IsStreamActive"

      

And then - if I load the code once or twice, it doesn't matter - if I run the TEST function, it flushes the SBCL with this weird message:

"callback" CORRUPTION WARNING in SBCL pid 3501(tid 0x7fffe0ac9700):
Received signal 8 in non-lisp thread 140736962795264, resignalling to a lisp thread.
The integrity of this image is possibly compromised.
Continuing with fingers crossed.

Process inferior-lisp floating point exception

      

There are no floats in my callback, so the error seems very strange to me. Everything before START-STREAM seems to be working fine. But then START-STREAM jumps to the callback and it crashes.

What am I doing wrong?

+3


source to share





All Articles