[plt-scheme] sqlite.plt seg faults with 370

From: Eli Barzilay (eli at barzilay.org)
Date: Tue Jul 24 20:17:21 EDT 2007

On Jul 24, Hans Oesterholt-Dijkema wrote:
> I had the same problem with sqld-sqlite.plt. I fixed it, using
> semaphores. But now I got to think about it. SQLite uses callbacks
> from C to Scheme to return query results. Also it uses a callback
> function to fix locks. Maybe it has something to do with the moving
> GC (pointers get moved around)?

The foreign implementation use immobile boxes to make sure that
pointers to Scheme callbacks don't change.  But you need to make sure
that they are not collected -- for example, avoid (lambda () ...) with
no additional references as callbacks.

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                  http://www.barzilay.org/                 Maze is Life!

Posted on the users mailing list.