Ticket #677 (closed bug: fixed)
segfault with C<->Haskell ping-pong, should be stack overflow
Description
Maybe this relates to bug #370. In the infinite sequence:
Haskell function f: alloca memory then call C func g C function g: call Haskell function f
The program terminates with a segmentation fault, rather than a stack overflow. I think I experience this problem in a real program which has a finite ping-pong sequence. I think there is actually a bug in the GC, since the segfault occurs after a very varying number of steps. It works with both, 6.2.2 and 6.4.
The three files membug.h membug.c MemBug.hs show this behaviour (nothing deep, but saves typing).
Compile with:
ghc-6.4 -fffi -c MemBug.hs membug.c
Link with:
ghc-6.4 MemBug.o membug.o MemBug_stub.o
Run with:
./a.out +RTS -H5m -G1
Note that any other opetions would do, too.
Axel.

