gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gcl-devel] segfault fixed


From: Camm Maguire
Subject: Re: [Gcl-devel] segfault fixed
Date: 03 Jan 2003 14:23:40 -0500

Greetings, and thanks for chasing this down!  I've just committed it.  

At first it wasn't obvious to me that the si::s-data-included name,
and not the si::s-data-includes name, wasn't intended.  The problem
with the former is that it is non-unique, and is returned as a list.
Without a 'car on this result, the structure-type-internal-slotds
crashes when compiled with the (default) no-safety options.  As the
only invocation of structure-type-included-type-name never unpacked
the list, and treated the result as an atom, I think the
si::s-data-includes that Peter has substituted is in fact what is
sought by the structure-type-slot-description-list.

Thanks again,

Peter Wood <address@hidden> writes:

> Hi
> On Thu, Jan 02, 2003 at 11:52:12PM -0500, Camm Maguire wrote:
> > Greetings!  I've traced this segfault so far down to the compilation
> > of 
> > 
> > (defun structure-type-internal-slotds (type)
> >    (si::s-data-slot-descriptions (get type 'si::s-data))
> >   )
> > 
> > in pcl/impl/gcl-low.lisp.  I hope to have it resolved soon, but am
> > running too much interference these days with other work.  There is a
> > discrepancy between the way the slot-descriptions and the
> > slot-position, for example, are handled by the compiler.
> > 
> > More later,
> 
> Ok.  You gave me enough clues to find it. (and I cheated and
> 'borrowed' from pcl/impl/kcl/kcl-low.lisp)
> 
> Its not #'structure-type-internal-slotds, but
> #'structure-type-included-type-name.  I changed the definition to
> this: 
> 
> (defun structure-type-included-type-name (type)
>   (or (car (gethash type *structure-table*))
> ;;;;the next 3 lines taken from kcl-low.lisp
>       (let ((includes (si::s-data-includes (get type 'si::s-data))))
>              (when includes
>                (si::s-data-name includes)))))
> ;;;this is the old line
>      ; (si::s-data-included (get type 'si::s-data))))
> 
> It looks to me like a cut-and-paste bug from the move from akcl to
> GCl. 
> 
> Whew.
> 
> Regards,
> Peter
> 
> 
> _______________________________________________
> Gcl-devel mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/gcl-devel
> 
> 

-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

[Prev in Thread] Current Thread [Next in Thread]