Victor@JOHN-JAMESON.DOCS.UU.SE (Bjorn Victor) (03/20/90)
EXPLORER (TM) BUG REPORT
DATE-TIME : 20-Mar-90 15:02:02
PRIORITY : H (H)igh (M)edium (L)ow
TYPE : B (B)ug (D)esign (M)anual
MACHINE-TYPE: E (E)xplorer (M)icroExplorer
DESCRIPTION-OF-PROBLEM:
Using the function COPY on defstructs break? In release 6, given the
following code:
;;; -*- Mode:Common-Lisp; Package:USER; Base:10 -*-
(defstruct frob
(foo 0)
(bar t))
(defun frobnicate (frob)
(copy frob))
(defun lose-frob ()
(frobnicate (make-frob :foo 1 :bar :baz)))
Calling (LOSE-FROB) gives the error below.
WORK-AROUND:
Yes please!!
CUSTOMER-ID: L2797
NAME : Bjvrn Victor
LOCATION : ICU, Uppsala University, Sweden
ADDRESS : Dept. of Computer Systems, Uppsala University, P.O. Box 520, S-751 20 UPPSALA, SWEDEN
PHONE : +46 18 183169; fax +46 18 550225
NET-ADDRESS: Bjorn Victor <Victor@John-Jameson.DoCS.UU.SE>
BACKTRACE:
>>Trap #o31574 (WRITE-IN-READ-ONLY M-T)
There was an attempt to write into 15006516, which is a read-only address;
the code was probably trying to modify a program constant.
Backtrace from the debugger:
Caller expects 2 values.
Open catches in this frame for tag: T.
GETHASH (P.C. = 279) (from SYS: KERNEL; HASH)
Arg 0 (KEY): #<Class-description FROB>
Arg 1 (HASH-TABLE): #<EQ-HASH-TABLE (Funcallable) T>
--Defaulted args:--
Arg 2 (DEFAULT-VALUE): NIL
Local 0 (PREVIOUS-INHIBIT-SCHEDULING-FLAG): NIL
Local 1 (HASH-FUNCTION): NIL
Local 2 (LEX-PARENT-ENV-REG): NIL
Local 3 (COMPARE-FUNCTION): #<DTP-FUNCTION EQ 4147132>
Local 4 (LEX-CURRENT-VECTOR-REG): NIL
Local 5 (LEX-ALL-VECTORS-REG): NIL
Local 6 (HASH-CODE): #<Class-description FROB>
Local 7: NIL
Local 8 (X): #<EQ-HASH-TABLE (Funcallable) T>
Local 9 (BLEN): 3
Local 10 (MOD): 16
Local 11 (FUNC-P): T
Local 12 (.CASE.ITEM.): NIL
Local 13 (PH): 0
Local 14 (P): #<DTP-LOCATIVE 71175555>
Local 15 (KSIZE): NIL
Local 16 (DELTA): NIL
Local 17 (P): #<DTP-LOCATIVE 71175555>
Local 18: NIL
Local 19 (POINTER): #<DTP-LOCATIVE 71175464>
Local 20 (ALREADY-MINE): NIL
Disassembled code:
276 SET-NIL PDL-PUSH
277 PUSH FEF|8 ; CURRENT-PROCESS
278 (MISC) TEST %STORE-CONDITIONAL
=> 279 BR-NOT-NULL 284
280 PUSH LOCAL|19 ; POINTER
281 PUSH FEF|8 ; CURRENT-PROCESS
Names and values of specials bound in this frame:
INHIBIT-SCHEDULING-FLAG: T
Lexpr-funcalled.
TICLOS::FIND-RIGHT-METHOD (P.C. = 24) (from SYS: PATCH.CLOS; PATCH-6-3)
Arg 0 (HT): #<EQ-HASH-TABLE (Funcallable) T>
Rest arg (ARGS): NIL
Local 1 (ARG): #S(FROB :FOO 1 :BAR :BAZ)
Local 2 (IGNOR): NIL
Local 3 (X): NIL
Disassembled code:
21 PUSH FEF|4 ; '36866
22 PUSH FEF|5 ; #'GETHASH
23 (AUX) COMPLEX-CALL-TO-PUSH ; 2 args, 2 values
=> 24 POP LOCAL|2 ; IGNOR
25 POP ARG|0 ; HT
26 BR-NOT-NULL 28
No specials bound in this frame
TICLOS::PREPARE-EFFECTIVE-CODE (P.C. = 68) (from SYS: CLOS; METHOD-COMBINATION)
Arg 0 (GEN-FUNCTION): #<STANDARD-GENERIC-FUNCTION COPY>
Rest arg (ARG-VALUES): (#S(FROB :FOO 1 :BAR :BAZ))
Local 1 (MLOC): NIL
Local 2 (HANDLER): NIL
Local 3 (CODE): NIL
Local 4 (METHODS): NIL
Local 5 (ARGLIST): NIL
Local 6 (FN): NIL
Local 7: NIL
Local 8: NIL
Local 9: NIL
Local 10 (HANDLER): NIL
Local 11: NIL
No specials bound in this frame
Values to be collected for MULTIPLE-VALUE-LIST.
COPY (P.C. = 20) (from SYS: KERNEL; STORAGE-INTERNALS)
Arg 0 (OBJECT): #S(FROB :FOO 1 :BAR :BAZ)
Values to be collected for MULTIPLE-VALUE-LIST.
FROBNICATE (P.C. = 10) (from JJ: VICTOR; CLOS-BUG)
Arg 0 (FROB): #S(FROB :FOO 1 :BAR :BAZ)
Values to be collected for MULTIPLE-VALUE-LIST.
LOSE-FROB (P.C. = 22) (from JJ: VICTOR; CLOS-BUG)
Values to be collected for MULTIPLE-VALUE-LIST.
SYS:*EVAL (P.C. = 560) (from SYS: KERNEL; EVALUATOR)
Arg 0 (FORM): (LOSE-FROB)
Local 0 (HOOK-FUNCTION): NIL
Local 1 (ENV): NIL
Local 2 (VCELL): NIL
Local 3: NIL
Local 4 (FRAME): NIL
Local 5 (VALUE): NIL
Local 6 (FUNCTION-OBJ): #<DTP-FUNCTION LOSE-FROB -61036512>
Local 7 (SPECIAL-FORM-ARGLIST): NIL
Local 8 (LOCAL): NIL
Local 9 (DBI): NIL
Local 10 (QUOTE-DEGREE): NIL
Local 11 (LAMBDA-NAME): NIL
Local 12 (LAMBDA-BODY): NIL
Local 13 (FUN): NIL
Local 14: NIL
Local 15: NIL
Local 16 (NUMBER-OF-ARGS-PUSHED): 0
Local 17 (REST-UNEVALED-ARGS): NIL
Local 18 (ARG): NIL
Local 19 (QUOTEP): NIL
Local 20 (FVAR): NIL
Local 21 (ANCHOR): NIL
Local 22 (LOC): NIL
Local 23 (HOOKFCT): NIL
Values to be collected for MULTIPLE-VALUE-LIST.
EVALHOOK (P.C. = 43) (from SYS: KERNEL; EVALUATOR)
Arg 0 (FORM): (LOSE-FROB)
Arg 1 (EVALHOOKFN): NIL
Arg 2 (APPLYHOOKFN): NIL
Arg 3 (ENV): NIL
Values to be collected for MULTIPLE-VALUE-LIST.
SYS:*EVAL (P.C. = 560) (from SYS: KERNEL; EVALUATOR)
Arg 0 (FORM): (EVALHOOK (QUOTE (LOSE-FROB)) NIL NIL (AND (BOUNDP #) UCL::*ENV*))
Local 0 (HOOK-FUNCTION): NIL
Local 1 (ENV): NIL
Local 2 (VCELL): NIL
Local 3: NIL
Local 4 (FRAME): NIL
Local 5 (VALUE): NIL
Local 6 (FUNCTION-OBJ): #<DTP-FUNCTION EVALHOOK 7110470>
Local 7 (SPECIAL-FORM-ARGLIST): NIL
Local 8 (LOCAL): NIL
Local 9 (DBI): NIL
Local 10 (QUOTE-DEGREE): NIL
Local 11 (LAMBDA-NAME): NIL
Local 12 (LAMBDA-BODY): NIL
Local 13 (FUN): NIL
Local 14: NIL
Local 15: ((QUOTE (LOSE-FROB)) NIL NIL (AND (BOUNDP #) UCL::*ENV*))
Local 16 (NUMBER-OF-ARGS-PUSHED): 4
Local 17 (REST-UNEVALED-ARGS): NIL
Local 18 (ARG): NIL
Local 19 (QUOTEP): NIL
Local 20 (FVAR): NIL
Local 21 (ANCHOR): NIL
Local 22 (LOC): NIL
Local 23 (HOOKFCT): NIL
Values to be collected for MULTIPLE-VALUE-LIST.
(:METHOD UCL::TOP-LEVEL-FUNCTIONS :EXECUTE) (P.C. = 84) (from SYS: UCL; TOP-LEVEL-MODES)
(SELF is NIL)
Arg 0 (.OPERATION.): :EXECUTE
Arg 1 (IGNORE): #<LISP-LISTENER Lisp Listener 1 1202212 exposed>
Local 0 (LL): (QUOTE (LOSE-FROB))
Local 1 (L): (EVALHOOK (QUOTE (LOSE-FROB)) NIL NIL (AND (BOUNDP #) UCL::*ENV*))
Local 2 (V): NIL
Local 3: NIL
Local 4: NIL
Local 5: NIL
Remainder of stack:
(:METHOD UCL:BASIC-COMMAND-LOOP :EXECUTE-COMMAND) (P.C. = 44)
UCL::PROCESS-TYPEIN (P.C. = 101)
(:METHOD UCL:BASIC-COMMAND-LOOP :HANDLE-TYPEIN-INPUT) (P.C. = 28)
(:METHOD UCL:BASIC-COMMAND-LOOP :HANDLE-KEY-INPUT) (P.C. = 70)
(:METHOD UCL:BASIC-COMMAND-LOOP :FETCH-AND-EXECUTE) (P.C. = 72)
(:METHOD W::LISP-LISTENER :LOOP) (P.C. = 114)
(:METHOD UCL:COMMAND-LOOP-MIXIN :COMMAND-LOOP) (P.C. = 58)
SYS::PROCESS-TOP-LEVEL (P.C. = 155)
SYS:LISP-TOP-LEVEL (P.C. = 30)
SOFTWARE-CONFIGURATION:
With SYSTEM 6.15, VIRTUAL-MEMORY 6.1, EH 6.4, MAKE-SYSTEM 6.0,
MICRONET 6.0, LOCAL-FILE 6.0, BASIC-PATHNAME 6.1,
NETWORK-SUPPORT-COLD 6.0, BASIC-NAMESPACE 6.2, NETWORK-NAMESPACE 6.0,
DISK-IO 6.1, DISK-LABEL 6.0, BASIC-FILE 6.2, MAC-PATHNAME 6.0,
NETWORK-PATHNAME 6.0, COMPILER 6.10, TV 6.15, DATALINK 6.0, CHAOSNET 6.0,
GC 6.3, MEMORY-AUX 6.0, NVRAM 6.1, SYSLOG 6.1, STREAMER-TAPE 6.4,
UCL 6.0, INPUT-EDITOR 6.0, METER 6.1, ZWEI 6.5, DEBUG-TOOLS 6.3,
NETWORK-SUPPORT 6.0, NETWORK-SERVICE 6.1, DATALINK-DISPLAYS 6.0,
FONT-EDITOR 6.1, SERIAL 6.0, PRINTER 6.3, MAC-PRINTER-TYPES 6.1,
PRINTER-TYPES 6.1, IMAGEN 6.0, SUGGESTIONS 6.0, MAIL-DAEMON 6.2,
MAIL-READER 6.2, TELNET 6.0, VT100 6.0, NAMESPACE-EDITOR 6.0,
PROFILE 6.1, VISIDOC 6.4, TI-CLOS 6.20, CLEH 6.5, IP 3.47,
Experimental CLX 6.2, CLUE 6.10, X11M 6.13, RPC 6.1, NFS 3.9,
Experimental NFS-PATCHES 2.10, DOCUMENTER 6.0, GRAPHICS-WINDOW 6.0,
Experimental GED 6.1, TREE 6.0, Experimental ICU-DOCS 13.1,
Experimental SYSTEM-ENHANCEMENTS 19.9, Experimental TCP-IMAGEN 10.0,
Experimental TEXINFO 5.5, Experimental ICU-LIBRARY 14.3,
Experimental DOMAIN 6.0, Experimental STUB-RESOLVER 3.0,
Experimental SYSTEM-PATCHES 1.14, Experimental EH-PATCHES 1.2,
Experimental ZWEI-PATCHES 1.18, Experimental COMPILER-PATCHES 1.4,
Experimental IP-PATCHES 1.5, Experimental MAIL-DAEMON-PATCHES 1.1,
Experimental MAKE-SYSTEM-PATCHES 1.2,
Experimental BASIC-PATHNAME-PATCHES 1.3, Experimental TELNET-PATCHES 1.1,
Experimental BASIC-FILE-PATCHES 1.5,
Experimental STREAMER-TAPE-PATCHES 1.2, Experimental TV-PATCHES 1.3,
Experimental SUGGESTIONS-PATCHES 1.1, Experimental PRINTER-PATCHES 1.1,
Experimental BASIC-NAMESPACE-PATCHES 1.5,
Experimental DEBUG-TOOLS-PATCHES 1.2,
Experimental INPUT-EDITOR-PATCHES 1.1,
Experimental MAIL-READER-PATCHES 1.1,
Experimental NETWORK-SERVICE-PATCHES 1.2,
Experimental CHAOSNET-PATCHES 1.2, Experimental LOCAL-FILE-PATCHES 1.4,
Experimental NAMESPACE-EDITOR-PATCHES 1.1,
Experimental NETWORK-SUPPORT-COLD-PATCHES 1.1, Experimental YP 2.0,
microcode 602, Band Name: 6.15 w X11 & ICU, 900111/Vic,
Host: Jack-Daniels
HARDWARE-CONFIGURATION:
SLOT 0. TYPE = NEC. PART # = 00002236400-0001. SERIAL # = 311400-200-7-24. REV = AF
SLOT 2. TYPE = NPI. PART # = 00002238040-0001. SERIAL # = CB0000-200-6-53. REV = *U
SLOT 4. TYPE = MEM. PART # = 00002243910-0003. SERIAL # = 871700-200-7-35. REV = *U
SLOT 5. TYPE = SIB. PART # = 00002236645-0001. SERIAL # = 370000-200-6-64. REV = AE
SLOT 6. TYPE = CPU. PART # = 00002243895-0001. SERIAL # = 921800-200-7-25. REV = AD
********************************
* Return to: *
* *
* EXPLORER BUG REPORTS *
* c/o Explorer Project Manager*
* TEXAS INSTRUMENTS, MS 2201 *
* P.O. Box 149149 *
* Austin, Texas 78714-9149 *
********************************