[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Bug in Victoria Day PCL (Lucid 3.0), using eql specializers
- To: CommonLoops.PA@Xerox.COM
- Subject: Bug in Victoria Day PCL (Lucid 3.0), using eql specializers
- From: matsj@delfi.udac.uu.se (Mats Johnson)
- Date: Wed, 30 Aug 89 16:01:14 +0100
- Cc: CommonLoops@delfi.UDAC.UU.SE
- Redistributed: CommonLoops.PA
There is a bug in pcl on lucid 3.0 when using eql specializers. This bug
makes it
impossible to compile clue, and can be demonstrated as follows:
The file bug.lisp:
(in-package 'pcl)
(defclass foo () ())
(defmethod bug ((object foo) (tag (eql 'hej)) arg)
(format t "~&~s!" arg))
The result when trying to compile it:
> (pcl::bug-report-info)
PCL system date: 5/22/89 Victoria Day PCL
Lisp Implementation type: Domain/CommonLISP
Lisp Implementation version: Domain/CommonLISP, Development Environment
Version 3.00, 10 March 1989
*features*: (:CLOS :XLIB :PORTABLE-COMMONLOOPS :PCL :MULTITASKING :LCL3.0
:EGC :FLAVORS :COMPILER :LOOP :IEEE-FLOATING-POINT :MC68000 :APOLLO
:DOMAIN/OS :AEGIS :UNIX :LUCID :COMMON-LISP)
NIL
> (compile-file "bug.lisp")
;; You are using the compiler in development mode (compilation-speed = 3)
;;; Generation of full safety checking code is enabled (safety = 3)
;;; Optimization of tail calls is disabled (speed = 2)
;;; Reading source file "bug.lisp"
>>Trap: Main Stack Overflow
The main Lisp stack has overflowed. If you use more than 32K bytes
of stack space in this error break or by continuing the
computation,
an automatic return to Lisp Top Level will be forced.
LUCID:%ZERO-REGION:
:C 0: Resume Interrupted Instruction
:A 1: Abort to Lisp Top Level
-> :b 50
LUCID:%ZERO-REGION <- SYSTEM:GC-INTERNAL <- (:INTERNAL
COMPUTE-PRECEDENCE-DAG-PASS-1 BUILD-1) <- (:INTERNAL
COMPUTE-PRECEDENCE-DAG-PASS-1 BUILD) <- COMPUTE-PRECEDENCE-DAG-PASS-1 <-
COMPUTE-PRECEDENCE-DAG-1 <- COMPUTE-PRECEDENCE-DAG <-
COMPUTE-ONE-COLUMN-INTERNAL <- COMPUTE-ONE-COLUMN <- COMPUTE-COLUMNS <-
COMPUTE-COMBINATION-POINTS <- COMPUTE-COMBINED-METHODS <-
NOTICE-METHODS-CHANGE-1 <- NOTICE-METHODS-CHANGE-2 <- MAKE-INSTANCE <-
(:INTERNAL COMPUTE-COLUMN-SPECIALIZERS GET-EQL-CLASS) <-
COMPUTE-COLUMN-SPECIALIZERS <- COMPUTE-COMBINATION-POINTS <-
COMPUTE-COMBINED-METHODS <- NOTICE-METHODS-CHANGE-1 <-
NOTICE-METHODS-CHANGE <- |(METHOD INVALIDATE-GENERIC-FUNCTION
(STANDARD-GENERIC-FUNCTION))| <- INVALIDATE-GENERIC-FUNCTION <- (:INTERNAL
|(METHOD UPDATE-METHOD-INHERITANCE (STANDARD-CLASS T T))| RESET-GFS) <-
|(METHOD UPDATE-METHOD-INHERITANCE (STANDARD-CLASS T T))| <-
UPDATE-METHOD-INHERITANCE <- |(METHOD PROPAGATE-CLASS-UPDATE
(STANDARD-CLASS T T T))| <- PROPAGATE-CLASS-UPDATE <- |(METHOD UPDATE-CLASS
(STANDA
RD-CLASS))| <- UPDATE-CLASS <- (:INTERNAL COMPUTE-COLUMN-SPECIALIZERS
GET-EQL-CLASS) <- COMPUTE-COLUMN-SPECIALIZERS <- COMPUTE-COMBINATION-POINTS
<- COMPUTE-COMBINED-METHODS <- NOTICE-METHODS-CHANGE-1 <-
NOTICE-METHODS-CHANGE <- |(METHOD INVALIDATE-GENERIC-FUNCTION
(STANDARD-GENERIC-FUNCTION))| <- INVALIDATE-GENERIC-FUNCTION <- (:INTERNAL
|(METHOD UPDATE-METHOD-INHERITANCE (STANDARD-CLASS T T))| RESET-GFS) <-
|(METHOD UPDATE-METHOD-INHERITANCE (STANDARD-CLASS T T))| <-
UPDATE-METHOD-INHERITANCE <- |(METHOD PROPAGATE-CLASS-UPDATE
(STANDARD-CLASS T T T))| <- PROPAGATE-CLASS-UPDATE <- |(METHOD UPDATE-CLASS
(STANDARD-CLASS))| <- UPDATE-CLASS <- (:INTERNAL
COMPUTE-COLUMN-SPECIALIZERS GET-EQL-CLASS) <- COMPUTE-COLUMN-SPECIALIZERS
<- COMPUTE-COMBINATION-POINTS <- COMPUTE-COMBINED-METHODS <-
NOTICE-METHODS-CHANGE-1
->