[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] crashes during return-from-callbacks
From: |
Daniel B. Faken |
Subject: |
Re: [Chicken-users] crashes during return-from-callbacks |
Date: |
Wed, 7 Sep 2005 16:44:49 -0400 (EDT) |
On Wed, 7 Sep 2005, felix winkelmann wrote:
> On 9/7/05, Daniel B. Faken <address@hidden> wrote:
>
> > It is *not* reaching the callback-return-continuation (I inserted a
> > printf in there).
> > Also, if I compile the code [and eval (load "foo.so") instead of
> > (load "foo.scm")], I have no problems..
> >
> > On Wed, 7 Sep 2005, Daniel B. Faken wrote:
> > [snip]
> > > Its been very hard to track down what is causing this; all I can say is
> > > that it is affected by calls to (print) in the called-back scheme
> > > function. Specifically, if I print some of the parameters I'm passing via
> > > C_callback().
> >
> > A clarification: it crashes if I print parameters *multiple times*.
> > If I remove some of the print statements, there is no problem.
> >
>
> Do you have nested callbacks?
I call from C->Scheme->C, but thats it.
(I'm using Scheme to filter the C commands -- and the only filtering I'm
actually doing here is to print them to stdout (see below))
> Also try (set-gc-report! ...), it is possible that the more code executes
> (consumes stack-space), the earlier the problem appears.
What should I look for?
Here is the output for my program from shortly before it terminates:
MatrixMode[GL_PROJECTION]
GC: level 0 gcs(minor) 84 gcs(major) 1
GC: stack fefb1ae8 fefc1870 fefd1ae8 30
GC: from f60b1008 f6125b74 f612b128
GC: to f612d008 f612d008 f61a7128
LoadIdentity ==========>....... args=()
(IN super-spu-dispatch: spu= #<pointer 911aa70> () 0)
..and super-spu = #<pointer 911aa70>
LoadIdentity[]
GC: level 0 gcs(minor) 85 gcs(major) 1
GC: stack fefb1ae8 fefc4634 fefd1ae8 30
GC: from f60b1008 f6125ba4 f612b128
GC: to f612d008 f612d008 f61a7128
Frustum ==========>....... args=(-1.0 1.0 -1.0 1.0 5.0 60.0)
(IN super-spu-dispatch: spu= #<pointer 911aa70> (-1.0 1.0 -1.0 1.0 5.0
60.0) 6)
..and super-spu = #<pointer 911aa70>
Frustum[-1.0, 1.0, -1.0, 1.0, 5.0, 60.0]
GC: level 0 gcs(minor) 86 gcs(major) 1
GC: stack fefb1ae8 fefb1a5c fefd1ae8 404
GC: from f60b1008 f6125fa8 f612b128
GC: to f612d008 f612d008 f61a7128
CR Error(dhcp4-51:21510): "/usr/X11R6/bin/glxgears" terminated with
uncaught signal=11 (SIGSEGV)
- Daniel