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

method caching problem w/ Allegro CL??



We consistently get the result demonstrated below.  The fifth time a method
is
called, a bus error occurs.  We guess that there is a method caching
problem.
Has anyone else experienced this?

Using: Mayday PCL in Allegro CL 3.1.13.1 on a SPARCstation 1+ with XCL and
CLIM also loaded.
++++++++++++++++++++++++++++ script follows
++++++++++++++++++++++++++++++++++++
Allegro CL 3.1.13.1 [Sun4] (0/0/0)
Copyright (C) 1985-1990, Franz Inc., Berkeley, CA, USA

T
<cl> (use-package 'pcl)
Error: Using package `PCL' results in name conflicts for these symbols:
(DEFCLASS FIND-CLASS WITH-SLOTS METHOD-COMBINATION-ERROR SLOT-UNBOUND
CHANGE-CLASS SYMBOL-MACROLET METHOD-QUALIFIERS GENERIC-LABELS
ENSURE-GENERIC-FUNCTION DEFGENERIC UPDATE-INSTANCE-FOR-REDEFINED-CLASS
CALL-NEXT-METHOD CLASS-NAME REINITIALIZE-INSTANCE GENERIC-FLET
INVALID-METHOD-ERROR FIND-METHOD STANDARD-CLASS SLOT-BOUNDP SLOT-MAKUNBOUND
CALL-METHOD INITIALIZE-INSTANCE SHARED-INITIALIZE FUNCTION-KEYWORDS
SLOT-MISSING NO-APPLICABLE-METHOD CLASS-OF WITH-ACCESSORS
UPDATE-INSTANCE-FOR-DIFFERENT-CLASS MAKE-INSTANCES-OBSOLETE MAKE-INSTANCE
REMOVE-METHOD DEFINE-METHOD-COMBINATION COMPUTE-APPLICABLE-METHODS
NO-NEXT-METHOD SLOT-VALUE SLOT-EXISTS-P PRINT-OBJECT ADD-METHOD DEFMETHOD
NEXT-METHOD-P WITH-ADDED-METHODS)

Restart actions (select using :continue):
 0: unintern the conflicting symbols in the `USER' package.
[1c] <cl> :cont

T
<cl> (defclass my-class ()
  ((var1 :accessor var1)))


#<Standard-Class MY-CLASS 67175576>
<cl> (defmethod set-var1 (new-val (instance my-class))
  (setf (var1 instance) new-val))

#<Standard-Method SET-VAR1 (T MY-CLASS) 67375636>
<cl> (setq my-instance (make-instance 'my-class))

#<MY-CLASS 67567516>
<cl> (set-var1 5 my-instance)

5
<cl> (set-var1 5 my-instance)

5
<cl> (set-var1 5 my-instance)

5
(#<Standard-Method SET-VAR1 (T MY-CLASS) 67375636>)
<cl> (set-var1 5 my-instance)

5
#(0 #(16615116 14097773 15398856 8907981 3420810 16621470 866414 3884872 T
(VAR1) ...))
<cl> (set-var1 5 my-instance)
Error: Received signal number 10 (Bus error)
[1] <cl>