> Prelude> [1..]
> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,ASSE
> RTION FAILED: file ../rts/GC.c, line 1111
>
> So I went in with gdb. Couldn't figure out what was wrong but I'm
> hoping the following transcript will suggest something to you.
> (btw note that start is called _start on FreeBSD. This doesn't seem
> to matter too much though since it doesn't seem to be used.)
>
> STGHUGSDIR=`pwd` gdb ./hugs
> Prelude> [1..]
> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,ASSE
> RTION FAILED: file ../rts/GC.c, line 1111
>
> Program received signal SIGABRT, Aborted.
> 0x2812ca88 in _kill ()
> (gdb) up 3
> #3 0x8091098 in evacuate (q=0x50087000) at ../rts/GC.c:1111
> 1111 || IS_HUGS_CONSTR_INFO(GET_INFO(q))));
Lines 1110/1111 of GC.c are:
ASSERT(q && (LOOKS_LIKE_GHC_INFO(GET_INFO(q))
|| IS_HUGS_CONSTR_INFO(GET_INFO(q))));
It might be a matter of making sure these work correctly on FreeBSD.
They eventually reduce to uses of IS_CODE_PTR and IS_DATA_PTR defined
in includes/ClosureMacros.h. Thing is, I would have thought SimonM
had these working for FreeBSD. Perhaps it was NetBSD. You can
ignore the is_dynamically_loaded_code_or_rodata_pointers; they are
only used when running mixed interp/compiled code.
I guess my first line of attack would be to make sure IS_CODE_PTR and
IS_DATA_PTR work correctly on your box.
> have jumped on it right away. All my spare cycles have been spent
> porting the Graphics library to X11 (beta release in a few days).
Cool. What graphics library is that? Is it a Hugs98 thing?
J