[cffi-devel] How do I debug a memory fault?

Liam Healy lnp at healy.washington.dc.us
Tue Oct 9 21:26:38 UTC 2007


James,

I tried both

(defvar *step-rk8pd* (cffi:foreign-symbol-pointer "gsl_odeiv_step_rk8pd"))

and

(cffi:defcvar ("gsl_odeiv_step_rk8pd" *step-rk8pd*) :pointer :read-only t)

I'm not clear on what the difference is, but they both give a memory
fault.

Liam



On 10/9/07, James Bielman <jamesjb at haytonsystems.com> wrote:
> On Sun, 2007-10-07 at 13:16 -0400, Liam Healy wrote:
> > I am using CFFI in SBCL on Debian GNU/Linux etch (amd64).  I have had
> > a great deal of success interfacing to the GNU scientific library
> > (GSL).  Usually, when I get a "memory fault" I quickly can see my
> > mistake in defining the interface, and once fixed, the error goes
> > away.
> >
> > I can't figure this one out however.  The interface is:
> >   gsl_odeiv_step * gsl_odeiv_step_alloc (const gsl_odeiv_step_type *
> > T, size_t dim)
> > I attempt to call this with a predefined pointer,
> >   (describe *step-rk8pd*)
> >   #.(SB-SYS:INT-SAP #X2B31DAEB0328) is a SB-SYS:SYSTEM-AREA-POINTER.
> > and I get a memory fault.  What is the best way to debug this?
>
> Hi Liam,
>
> You don't show how you are defining *STEP-RK8PD* here, but I am
> wondering if what you actually have is the address of that variable.
>
> Are you defining this with DEFCVAR?
>
> James
>
>
>



More information about the cffi-devel mailing list