Comment 3 for bug 1209272

Revision history for this message
Faré (fahree) wrote :

This is actually a CMUCL bug.

It is possible to "punt" more aggressively by introducing #+cmu before (< existing-version 2.27) in header.lisp, but this doesn't help. It looks like CMUCL somehow fails to properly finalize classes that are redefined in an eval-when, and/or the old objects end up not upgraded properly. Or something.

make u l=cmucl ASDF_UPGRADE_TEST_TAGS=2.27

Error in function KERNEL:CLASS-TYPEP:
   Class is currently invalid: #<KERNEL::STANDARD-CLASS ASDF/SYSTEM:SYSTEM
                                 {581E57F5}>

0: (SIGNAL #<SIMPLE-ERROR {599FDA15}>)
1: (ERROR "Class is currently invalid: ~S"
          #<KERNEL::STANDARD-CLASS ASDF/SYSTEM:SYSTEM {581E57F5}>)
2: (KERNEL:CLASS-TYPEP #<unavailable-arg> #<unavailable-arg> #<unavailable-arg>)
3: (ASDF/FIND-SYSTEM:LOCATE-SYSTEM "asdf")
4: ("LAMBDA (.PV-CELL. .NEXT-METHOD-CALL. NAME .REST-ARG.)")
5: ("LAMBDA (.PV-CELL. .NEXT-METHOD-CALL. NAME .REST-ARG.)" 0)[:EXTERNAL]
6: ((PCL:FAST-METHOD ASDF/SYSTEM:FIND-SYSTEM (STRING)) #<unused-arg>
    #<unused-arg> "asdf" (NIL))
7: ((PCL:FAST-METHOD ASDF/SYSTEM:FIND-SYSTEM (STRING)) 4 #<unused-arg>
    #<unused-arg> "asdf" ...)[:EXTERNAL]
8: ((PCL:FAST-METHOD ASDF/FIND-COMPONENT:FIND-COMPONENT (STRING T))
    (#() . #(#)) #<unused-arg> "asdf" NIL)
9: ((PCL:FAST-METHOD ASDF/FIND-COMPONENT:FIND-COMPONENT (STRING T)) 4
    (#() . #(#)) #<unused-arg> "asdf" ...)[:EXTERNAL]
10: ((PCL:FAST-METHOD ASDF/FIND-COMPONENT:FIND-COMPONENT (SYMBOL T))
     #<unused-arg> #<unused-arg> :ASDF NIL)
11: ((PCL:FAST-METHOD ASDF/FIND-COMPONENT:FIND-COMPONENT (SYMBOL T)) 4
     #<unused-arg> #<unused-arg> :ASDF ...)[:EXTERNAL]
12: ((PCL:FAST-METHOD ASDF/FIND-COMPONENT:FIND-COMPONENT (SYMBOL T))
     #<unused-arg> #<unused-arg> NIL :ASDF)
13: ((PCL:FAST-METHOD ASDF/FIND-COMPONENT:FIND-COMPONENT (SYMBOL T)) 4
     #<unused-arg> #<unused-arg> NIL ...)[:EXTERNAL]
14: ((PCL:FAST-METHOD ASDF/OPERATE:OPERATE (SYMBOL T)) #<unused-arg>
     #<unused-arg> ASDF/LISP-ACTION:LOAD-OP :ASDF ...)
15: ((PCL:FAST-METHOD ASDF/OPERATE:OPERATE (SYMBOL T)) 5 #<unused-arg>
     #<unused-arg> ASDF/LISP-ACTION:LOAD-OP ...)[:EXTERNAL]
16: ("LAMBDA (.PV-CELL. .NEXT-METHOD-CALL. OPERATION COMPONENT .REST-ARG.)")
17: ("LAMBDA (.PV-CELL. .NEXT-METHOD-CALL. OPERATION COMPONENT .REST-ARG.)" 0)[:EXTERNAL]
18: (ASDF/CACHE:CALL-WITH-ASDF-CACHE
     #<Closure Over Function "LAMBDA (.PV-CELL. .NEXT-METHOD-CALL. OPERATION COMPONENT .REST-ARG.)"
       {59815861}>
     :OVERRIDE NIL)[:OPTIONAL]
19: (ASDF/FIND-SYSTEM::CALL-WITH-SYSTEM-DEFINITIONS
     #<Closure Over Function "LAMBDA (.PV-CELL. .NEXT-METHOD-CALL. OPERATION COMPONENT .REST-ARG.)"
       {59815861}>)
20: ((PCL:FAST-METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<unused-arg>
     #S(PCL::FAST-METHOD-CALL
          :FUNCTION #<Closure Over Function "LAMBDA (.KEYARGS-START. .VALID-KEYS. G4744 G4745 G4746)"
                      {59815309}>
          :PV-CELL NIL
          :NEXT-METHOD-CALL NIL
          :ARG-INFO (2 . T))
     ASDF/LISP-ACTION:LOAD-OP :ASDF ...)
21: ((PCL:FAST-METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) 5 #<unused-arg>
     #S(PCL::FAST-METHOD-CALL
          :FUNCTION #<Closure Over Function "LAMBDA (.KEYARGS-START. .VALID-KEYS. G4744 G4745 G4746)"
                      {59815309}>
          :PV-CELL NIL
          :NEXT-METHOD-CALL NIL
          :ARG-INFO (2 . T))
     ASDF/LISP-ACTION:LOAD-OP ...)[:EXTERNAL]
22: (ASDF/OPERATE:LOAD-SYSTEM :ASDF :VERBOSE NIL)[:OPTIONAL]
23: (ASDF/UPGRADE:UPGRADE-ASDF)
24: ((PCL:FAST-METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<unused-arg>
     #S(PCL::FAST-METHOD-CALL
          :FUNCTION #<Closure Over Function "LAMBDA (.KEYARGS-START. .VALID-KEYS. G4744 G4745 G4746)"
                      {597E1199}>
          :PV-CELL NIL
          :NEXT-METHOD-CALL NIL
          :ARG-INFO (2 . T))
     ASDF/LISP-ACTION:LOAD-OP :TEST-ASDF/ALL ...)
25: ((PCL:FAST-METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) 5 #<unused-arg>
     #S(PCL::FAST-METHOD-CALL
          :FUNCTION #<Closure Over Function "LAMBDA (.KEYARGS-START. .VALID-KEYS. G4744 G4745 G4746)"
                      {597E1199}>
          :PV-CELL NIL
          :NEXT-METHOD-CALL NIL
          :ARG-INFO (2 . T))
     ASDF/LISP-ACTION:LOAD-OP ...)[:EXTERNAL]
26: (LOAD-TEST-SYSTEM :TEST-ASDF/ALL :VERBOSE NIL)[:OPTIONAL]
27: (NIL)
28: (CALL-WITH-TEST
     #<Interpreted Function "LAMBDA (OLD-METHOD NEW-METHOD TAG)" {582D2C51}>)
29: (CALL-WITH-TEST
     #<Interpreted Function "LAMBDA (OLD-METHOD NEW-METHOD TAG)" {582D2C51}>)
30: (EXTENSIONS:INTERACTIVE-EVAL
     (TEST-UPGRADE 'LOAD-ASDF-LISP 'LOAD-ASDF-LISP-CLEAN "2.27"))
31: (LISP::%TOP-LEVEL)
32: ((LABELS LISP::RESTART-LISP EXTENSIONS:SAVE-LISP))