[gambit-list] print vs. display segfault

Marc Feeley feeley at iro.umontreal.ca
Thu Apr 26 17:27:57 EDT 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 26-Apr-07, at 12:03 PM, Lang Martin wrote:

> Program received signal SIGSEGV, Segmentation fault.
> 0x080c4269 in ___garbage_collect ()
>
> says gdb. Which of course makes sense in light of it not failing  
> for a while.
>
> I can avoid the crash by creating less garbage (making a smaller  
> string -- 40 works for me) or by changing print to display, as  
> previously reported.
>
> both of those bits are at the bottom of the file.

The handling of #!key parameters when combined with a #!rest  
parameter has a nasty bug.  When there is not enough space on the  
heap to handle the parameters, the runtime system saves the  
parameters in a vector (which takes less space than a list), then  
calls the GC and then retries the procedure call (by copying the  
parameters back to the stack and registers).  I'll investigate  
further what's going wrong.

For now stay away from "print" (which uses #!key and #!rest) and use  
"display".

Marc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (Darwin)

iD8DBQFGMRld//V9Zc2T/v4RAuFFAJ4jkLr0IEYcyQKQVUAbtF4p8Vb+6wCfXNdG
ygKIOsvpUyoARF9mkZ1yzRc=
=JjAS
-----END PGP SIGNATURE-----



More information about the Gambit-list mailing list