#489 segfault when signaling unbound-variable errors from fsubr

segfault
closed-fixed
clisp (525)
5
2008-07-17
2008-07-17
No

(HANDLER-BIND ((UNBOUND-VARIABLE (LAMBDA (C) (PRINC-ERROR C)
(STORE-VALUE 10)))) (LIST (LET (X) (MAKUNBOUND 'X) X) X))
[SIMPLE-UNBOUND-VARIABLE]:
*** - handle_fault error2 ! address = 0x29001ad0 not in
[0x1a9a0000,0x1ab623e4) !
SIGSEGV cannot be cured. Fault address = 0x29001ad0.
Permanently allocated: 86720 bytes.
Currently in use: 4446836 bytes.
Free space: 217119 bytes.
make[1]: *** [tests] Segmentation fault

<http://article.gmane.org/gmane.lisp.clisp.devel/18488>
OSX PPC (Tiger 10.4.11)

<http://article.gmane.org/gmane.lisp.clisp.general/12311>
Intel-based iMac with Tiger 10.4.11

Discussion

  • Sam Steingold

    Sam Steingold - 2008-07-17

    Logged In: YES
    user_id=5735
    Originator: YES

    the reason it worked for me but not for you is that fsubr and subr structs start the same:

    typedef struct {
    XRECORD_HEADER
    gcv_object_t name _attribute_aligned_object_; /* name */

    the the only difference is that subr ends with

    #if defined(HEAPCODES) && (alignment_long < 4) && defined(GNU)
    /* Force all Subrs to be allocated with a 4-byte alignment. GC needs this. */
    __attribute__ ((aligned (4)))
    #endif

    you can do "make lispbibl.h" (if you are using gcc) and see the values of HEAPCODES, alignment_long, and the actual definition of subr_t and fsubr_t.
    I bet you have the __attribute__ ((aligned (4))).

    <http://article.gmane.org/gmane.lisp.clisp.devel/18613>

     
  • Sam Steingold

    Sam Steingold - 2008-07-17
    • status: open --> closed-fixed
     
  • Sam Steingold

    Sam Steingold - 2008-07-17

    Logged In: YES
    user_id=5735
    Originator: YES

    thank you for your bug report.
    the bug has been fixed in the CVS tree.
    you can either wait for the next release (recommended)
    or check out the current CVS tree (see http://clisp.cons.org\)
    and build CLISP from the sources (be advised that between
    releases the CVS tree is very unstable and may not even build
    on your platform).

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks