From: Hoehle, Joerg-C. <Joe...@t-...> - 2004-12-20 09:16:58
|
Hi again, >> Then (c-ptr next) is certainly bad, if you're not interested in the >> whole thing. (c-pointer entree) looks like the best match. >so how do I convert the variable to an entree? >[7]> (with-c-place (v (entree-next e)) v) That's it. >Segmentation fault (core dumped) 0x610d3f51 in strlen () from /usr/bin/cygwin1.dll Ouch. Say, is PARI some C++ library, possibly using destructors so that the = objects could be delete'd when returning to Lisp? Well, http://pari.math.u-bordeaux.fr/ says it's plain C, and http://www.math.u-psud.fr/~belabas/pari/doc/faq.html suggests cygwin dll oddities might be involved. Still no idea as to = what's going bad. >Are you trying to hint that stack addresses have non-0 after #x? I have no idea of Linux or MS-w2k memory mappings. But I was suggesting looking whether the address you receive point into = stack or other locations that have highly variable extent/content. What's the allocation protocol ("convention") for PARI objects (I'm not = talking about CLISP' FFI :allocation here)? Could you check alignment & offset of the entree struct (e.g. cast it = to all bytes and look whether it looks like garbage or correct = content)? Is the next pointer address close to the first one? Is it as close as in gdb? Regards, J=C3=B6rg H=C3=B6hle |