Opened 9 years ago

Last modified 9 years ago

#653 new defect

class-finalized-p true though effects of custom finalizations discarded on load

Reported by: vii Owned by: gb
Priority: normal Milestone:
Component: ANSI CL Compliance Version: trunk
Keywords: Cc:

Description

This bug affects manardb. (For manardb users you can dodge this by changing ensure-finalize-inheritance to finalize-inheritance in defmmclass).

I have attached a test case to demonstrate -- note that http://trac.clozure.com/ccl/ticket/640 is related.

(The error in manardb is "Slot WRITER-FUNCTION is unbound in #<MM-EFFECTIVE-SLOT-DEFINITION for memory slot ...>"

[Condition of type UNBOUND-SLOT])

If you compile a class to a fasl, then load that fasl again, class-finalized-p remains true but the custom slots you may have set in an overridden finalize-inheritance are not kept. If you restart from a fresh state and simply load the fasl, then things are fine.

Here is a test case

CL-USER> (lisp-implementation-version)
"Version 1.5-dev-r13281M-trunk  (LinuxX8664)"
CL-USER> (compile-file "/tmp/ccl-finalize-bug.lisp")
#P"/tmp/ccl-finalize-bug.lx64fsl"
NIL
NIL
CL-USER> (bug)
NIL
CL-USER> (load "/tmp/ccl-finalize-bug.lx64fsl")
#P"/tmp/ccl-finalize-bug.lx64fsl"
CL-USER> (bug)
; Evaluation aborted.

Attachments (1)

ccl-finalize-bug.lisp (997 bytes) - added by vii 9 years ago.
test case

Download all attachments as: .zip

Change History (2)

Changed 9 years ago by vii

test case

comment:1 Changed 9 years ago by vii

  • Component changed from IDE to ANSI CL Compliance
  • Owner set to gb
Note: See TracTickets for help on using tickets.