The following crashes for me with CFFI (master) and sbcl-1.0.58 (actually as early as sbcl-1.0.57-49-gd720bc3) on amd64/x86_64:
https://gist.github.com/fa8f380a218b55b4ae6a
(This is a simplified case of a callback being used in cl-cairo2.) Altering some things causes it not to crash:
* Not declaring P with DYNAMIC-EXTENT.
* Not using STATUS_T as a return type, simply using :INT and 0.
* Altering the FORMAT to a simpler version.
However, I don't think any of these things are in error, and my guess is there is some corruption that happens regardless.
This works without error on earlier versions of SBCL as well as CCL, but it's unclear whether something bad is happening silently.
Am I doing something wrong here, or is there a bug in CFFI or SBCL?
thanks,
On Tue, Sep 25, 2012 at 6:51 PM, Ryan Pavlik rpavlik@gmail.com wrote:
This works without error on earlier versions of SBCL as well as CCL, but it's unclear whether something bad is happening silently.
Am I doing something wrong here, or is there a bug in CFFI or SBCL?
Sounds like an SBCL-specific bug from your description. FWIW, I don't see a crash on SBCL 1.1.1.7 on darwin/x86_64. If you're still having this problem, a good step would be to reproduce the crash using plain SB-ALIEN. (Macroexpanding the CFFI definition should get you most of the way there.)
On Sun, Nov 4, 2012 at 12:45 PM, Luís Oliveira luismbo@gmail.com wrote:
On Tue, Sep 25, 2012 at 6:51 PM, Ryan Pavlik rpavlik@gmail.com wrote:
This works without error on earlier versions of SBCL as well as CCL, but it's unclear whether something bad is happening silently.
Am I doing something wrong here, or is there a bug in CFFI or SBCL?
Sounds like an SBCL-specific bug from your description. FWIW, I don't see a crash on SBCL 1.1.1.7 on darwin/x86_64. If you're still having this problem, a good step would be to reproduce the crash using plain SB-ALIEN. (Macroexpanding the CFFI definition should get you most of the way there.)
Oh right .. forgot I posted this .. this was in fact an SBCL bug, which should be fixed in 1.1.1; this was the "stack allocation prevented by high DEBUG" issue. Workarounds are either not declaring DYNAMIC-EXTENT or locally declaring DEBUG to be <=1.
thanks,
On Mon, Nov 5, 2012 at 2:32 PM, Ryan Pavlik rpavlik@gmail.com wrote:
Oh right .. forgot I posted this .. this was in fact an SBCL bug, which should be fixed in 1.1.1; this was the "stack allocation prevented by high DEBUG" issue. Workarounds are either not declaring DYNAMIC-EXTENT or locally declaring DEBUG to be <=1.
Cool! Sorry about the long delay in the reply.
Cheers,