On ACL 8.2 ASDF excessively reloads

Bug #1117466 reported by Robert P. Goldman
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ASDF
Fix Released
High
Faré

Bug Description

When loading a system of mine on ACL, ASDF reloads itself even when I have upgraded it immediately before:

CL-USER> (push "home:lisp;asdf;" asdf:*central-registry*)
("home:lisp;asdf;" "home:lisp;franz-clx;" "~/lisp/asdf-systems/"
 "~/lisp/asdf-install-systems/systems/" "~/lisp/asdf-systems/"
 "~/lisp/asdf-install-systems/systems/")
CL-USER> (asdf:load-system "asdf")
; Loading /Users/rpg/lisp/asdf/asdf.asd
; Fast loading
;
/Users/rpg/.cache/common-lisp/acl-8.2-macosx-x64/Users/rpg/lisp/asdf/build/asdf.fasl
; Upgrading ASDF from version 2.23.7 to version 2.28
T
CL-USER> (circa)
Configuring for CIRCA systems...
CIRCA ASDFs now in load path.
NIL
CL-USER> (asdf:load-system "circa-csm" :force t)
; Loading /Users/rpg/circa/code/csm/circa-csm.asd
; Loading /Users/rpg/circa/code/csm/logical-pathname.lisp
; Loading /Users/rpg/circa/code/csm/optimization-boilerplate.lisp
; Fast loading /usr/local/acl/acl82.64/code/CLX.001
;;; Installing clx patch, version 1.
; Autoloading for package "CLTL1":
; Fast loading from bundle code/cltl1.fasl.
; Foreign loading clx:excldep.dylib.
; Loading /Users/rpg/lisp/asdf/asdf.asd
; Loading /Users/rpg/lisp/asdf/asdf-driver.asd
; Fast loading
;
/Users/rpg/.cache/common-lisp/acl-8.2-macosx-x64/Users/rpg/lisp/asdf/build/asdf.fasl
.....

I verify that this behavior does *NOT* occur in SBCL, loading the same
system definition.

Revision history for this message
Robert P. Goldman (rpgoldman) wrote :
Download full text (26.7 KiB)

When I load ASDF and my system definition, and I check with TRAVERSE, I do *not* see ASDF thinking it needs to upgrade itself again, so something seems to be happening while loading:
CL-USER> (push "/Users/rpg/lisp/asdf/" asdf:*central-registry*)
("/Users/rpg/lisp/asdf/" "home:lisp;franz-clx;" "~/lisp/asdf-systems/"
 "~/lisp/asdf-install-systems/systems/" "~/lisp/asdf-systems/"
 "~/lisp/asdf-install-systems/systems/")
CL-USER> (asdf:load-system "asdf")
; Loading /Users/rpg/lisp/asdf/asdf.asd
; Fast loading
; /Users/rpg/.cache/common-lisp/acl-8.2-macosx-x64/Users/rpg/lisp/asdf/build/asdf.fasl
; Upgrading ASDF from version 2.23.7 to version 2.28
T
CL-USER> (circa)
Configuring for CIRCA systems...
CIRCA ASDFs now in load path.
NIL
CL-USER> (asdf:traverse (make-instance 'asdf:load-op) (asdf:find-system "circa-csm"))
; Loading /Users/rpg/circa/code/csm/circa-csm.asd
; Loading /Users/rpg/circa/code/csm/logical-pathname.lisp
; Loading /Users/rpg/circa/code/csm/optimization-boilerplate.lisp
; Fast loading /usr/local/acl/acl82.64/code/CLX.001
;;; Installing clx patch, version 1.
; Autoloading for package "CLTL1":
; Fast loading from bundle code/cltl1.fasl.
; Foreign loading clx:excldep.dylib.
; Loading /Users/rpg/circa/code/csm/musliner-tools.asd
; Loading /Users/rpg/circa/code/csm/quantities.asd
; Loading /Users/rpg/circa/code/iterate/iterate.asd
((#<ASDF/LISP-ACTION:PREPARE-OP >
  . #<ASDF/SYSTEM:SYSTEM "musliner-tools">)
 (#<ASDF/LISP-ACTION:PREPARE-OP >
  . #<ASDF/LISP-ACTION:CL-SOURCE-FILE
      "musliner-tools" "musliner-tools">)
 (#<ASDF/LISP-ACTION:LOAD-OP >
  . #<ASDF/LISP-ACTION:CL-SOURCE-FILE
      "musliner-tools" "musliner-tools">)
 (#<ASDF/LISP-ACTION:PREPARE-OP >
  . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "musliner-tools" "stochastic">)
 (#<ASDF/LISP-ACTION:LOAD-OP >
  . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "musliner-tools" "stochastic">)
 (#<ASDF/LISP-ACTION:PREPARE-OP >
  . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "musliner-tools" "random">)
 (#<ASDF/LISP-ACTION:LOAD-OP >
  . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "musliner-tools" "random">)
 (#<ASDF/LISP-ACTION:COMPILE-OP >
  . #<ASDF/SYSTEM:SYSTEM "musliner-tools">)
 (#<ASDF/LISP-ACTION:LOAD-OP >
  . #<ASDF/SYSTEM:SYSTEM "musliner-tools">)
 (#<ASDF/LISP-ACTION:PREPARE-OP > . #<ASDF/SYSTEM:SYSTEM "quantities">)
 (#<ASDF/LISP-ACTION:PREPARE-OP >
  . #<ASDF/LISP-ACTION:CL-SOURCE-FILE
      "quantities" "quantities-package">)
 (#<ASDF/LISP-ACTION:LOAD-OP >
  . #<ASDF/LISP-ACTION:CL-SOURCE-FILE
      "quantities" "quantities-package">)
 (#<ASDF/LISP-ACTION:PREPARE-OP >
  . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "quantities" "extended-integer">)
 (#<ASDF/LISP-ACTION:LOAD-OP >
  . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "quantities" "extended-integer">)
 (#<ASDF/LISP-ACTION:PREPARE-OP >
  . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "quantities" "range">)
 (#<ASDF/LISP-ACTION:LOAD-OP >
  . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "quantities" "range">)
 (#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/SYSTEM:SYSTEM "quantities">)
 (#<ASDF/LISP-ACTION:LOAD-OP > . #<ASDF/SYSTEM:SYSTEM "quantities">)
 (#<ASDF/LISP-ACTION:PREPARE-OP > . #<ASDF/SYSTEM:SYSTEM "iterate">)
 (#<ASDF/LISP-ACTION:PREPARE-OP >
  . #<ASDF/LISP-ACTION:CL...

Revision history for this message
Robert P. Goldman (rpgoldman) wrote :
Download full text (6.4 KiB)

OK, loading my system somehow tickles ASDF:
CL-USER> (asdf:load-system "circa-csm" :force t)
 0[7]: (ASDF/FIND-SYSTEM:LOCATE-SYSTEM "circa-csm")
 0[7]: returned T NIL #P"/Users/rpg/circa/code/csm/circa-csm.asd"
         #<ASDF/SYSTEM:SYSTEM "circa-csm"> 3564966734
 0[7]: (ASDF/FIND-SYSTEM:LOCATE-SYSTEM "asdf")
 0[7]: returned T NIL #P"/Users/rpg/lisp/asdf/asdf.asd" NIL NIL
 0[7]: (LOAD #P"/Users/rpg/lisp/asdf/asdf.asd" :EXTERNAL-FORMAT :DEFAULT)
; Loading /Users/rpg/lisp/asdf/asdf.asd
   1[7]: (LOCATE-SYSTEM "asdf/header")
   1[7]: returned T NIL #P"/Users/rpg/lisp/asdf/asdf.asd" #<SYSTEM "asdf/header"> 3568937280
   1[7]: (LOCATE-SYSTEM "asdf/driver")
   1[7]: returned T NIL #P"/Users/rpg/lisp/asdf/asdf.asd" #<SYSTEM "asdf/driver"> 3568937280
   1[7]: (LOCATE-SYSTEM "asdf/defsystem")
   1[7]: returned T NIL #P"/Users/rpg/lisp/asdf/asdf.asd" #<SYSTEM "asdf/defsystem"> 3568937280
   1[7]: (LOCATE-SYSTEM "asdf")
   1[7]: returned T NIL #P"/Users/rpg/lisp/asdf/asdf.asd" #<SYSTEM "asdf"> 3568937280
 0[7]: returned T
 0[7]: (ASDF/FIND-SYSTEM:LOCATE-SYSTEM "asdf/defsystem")
 0[7]: returned T NIL #P"/Users/rpg/lisp/asdf/asdf.asd"
         #<ASDF/SYSTEM:SYSTEM "asdf/defsystem"> 3568937280
 0[7]: (ASDF/FIND-SYSTEM:LOCATE-SYSTEM "asdf/header")
 0[7]: returned T NIL #P"/Users/rpg/lisp/asdf/asdf.asd"
         #<ASDF/SYSTEM:SYSTEM "asdf/header"> 3568937280
 0[7]: (ASDF/FIND-SYSTEM:LOCATE-SYSTEM "asdf/driver")
 0[7]: returned T NIL #P"/Users/rpg/lisp/asdf/asdf.asd"
         #<ASDF/SYSTEM:SYSTEM "asdf/driver"> 3568937280
 0[7]: (ASDF/FIND-SYSTEM:LOCATE-SYSTEM "asdf-driver")
 0[7]: returned T NIL #P"/Users/rpg/lisp/asdf/asdf-driver.asd" NIL NIL
 0[7]: (LOAD #P"/Users/rpg/lisp/asdf/asdf-driver.asd" :EXTERNAL-FORMAT :DEFAULT)
; Loading /Users/rpg/lisp/asdf/asdf-driver.asd
   1[7]: (LOCATE-SYSTEM "asdf-driver")
   1[7]: returned T NIL #P"/Users/rpg/lisp/asdf/asdf-driver.asd" #<SYSTEM "asdf-driver"> 3568455294
 0[7]: returned T
 0[7]: (ASDF/FIND-SYSTEM:LOCATE-SYSTEM "asdf-driver")
 0[7]: returned T NIL #P"/Users/rpg/lisp/asdf/asdf-driver.asd"
         #<ASDF/SYSTEM:SYSTEM "asdf-driver"> 3568455294
 0[7]: (ASDF/FIND-SYSTEM:LOCATE-SYSTEM "asdf-driver")
 0[7]: returned T NIL #P"/Users/rpg/lisp/asdf/asdf-driver.asd"
         #<ASDF/SYSTEM:SYSTEM "asdf-driver"> 3568455294
 0[7]: (ASDF/FIND-SYSTEM:LOCATE-SYSTEM "asdf-driver")
 0[7]: returned T NIL #P"/Users/rpg/lisp/asdf/asdf-driver.asd"
         #<ASDF/SYSTEM:SYSTEM "asdf-driver"> 3568455294
 0[7]: (ASDF/FIND-SYSTEM:LOCATE-SYSTEM "asdf/header")
 0[7]: returned T NIL #P"/Users/rpg/lisp/asdf/asdf.asd"
         #<ASDF/SYSTEM:SYSTEM "asdf/header"> 3568937280
 0[7]: (ASDF/FIND-SYSTEM:LOCATE-SYSTEM "asdf/driver")
 0[7]: returned T NIL #P"/Users/rpg/lisp/asdf/asdf.asd"
         #<ASDF/SYSTEM:SYSTEM "asdf/driver"> 3568937280
 0[7]: (ASDF/FIND-SYSTEM:LOCATE-SYSTEM "asdf/defsystem")
 0[7]: returned T NIL #P"/Users/rpg/lisp/asdf/asdf.asd"
         #<ASDF/SYSTEM:SYSTEM "asdf/defsystem"> 3568937280
 0[7]: (ASDF/ACTION:PERFORM #<ASDF/LISP-ACTION:PREPARE-OP >
                            #<ASDF/SYSTEM:SYSTEM "asdf">)
 0* (MULTIPLE-VALUE-PROG1 (PROGN #<STANDARD-METHOD
                                   ASDF/ACTION:PERFORM
           ...

Read more...

Revision history for this message
Robert P. Goldman (rpgoldman) wrote :

I have checked and it doesn't seem to be LOCATE-SYSTEM. I loaded ASDF on both ACL and on SBCL, and the results of LOCATE-SYSTEM afterwards are the same:

ACL:

CL-USER> (push "/Users/rpg/lisp/asdf/" asdf:*central-registry*)
("/Users/rpg/lisp/asdf/" "home:lisp;franz-clx;" "~/lisp/asdf-systems/"
 "~/lisp/asdf-install-systems/systems/" "~/lisp/asdf-systems/"
 "~/lisp/asdf-install-systems/systems/")
CL-USER> (asdf:load-system "asdf")
; Loading /Users/rpg/lisp/asdf/asdf.asd
; Fast loading
; /Users/rpg/.cache/common-lisp/acl-8.2-macosx-x64/Users/rpg/lisp/asdf/build/asdf.fasl
; Upgrading ASDF from version 2.23.7 to version 2.28
T
CL-USER> (asdf::locate-system "asdf")
T
NIL
#P"/Users/rpg/lisp/asdf/asdf.asd"
NIL
NIL

SBCL:
....
CL-USER> (asdf::locate-system "asdf")
T
NIL
#P"/Users/rpg/lisp/asdf/asdf.asd"
NIL
NIL

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

Please try again with 2.28.4, wherein I reinstated some trick that ought to help with avoiding double-upgrade.

If it does help, though, I have no explanation for your behavior being observed on ACL and not SBCL.

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

(Maybe it's an issue with something done or not done by the original ASDF being upgraded from on ACL vs SBCL.)

Revision history for this message
Robert P. Goldman (rpgoldman) wrote :

Well, there is good news and bad news:

The good news: 2.28.4 fixes the problem.
The bad news: I have no idea what the problem was! Nevertheless, I think we could call this good. "Fix committed"?

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

OK, it makes sense if this fixes your issue. But it doesn't make sense at all why the issue didn't show up with SBCL if it did show with CCL !?

Changed in asdf:
assignee: nobody → Faré (fahree)
importance: Undecided → High
milestone: none → version3
status: New → Fix Committed
Revision history for this message
Faré (fahree) wrote :

Released in 2.29.

Changed in asdf:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.