Allegro modern mode (mlisp) fails upgrade from 1.85 in 2.32.12

Bug #1156427 reported by Robert P. Goldman
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ASDF
Won't Fix
Low
Faré

Bug Description

This upgrade is still failing:

;;; Writing fasl file /Users/rpg/lisp/asdf/build/asdf.fasl
;;; Fasl write complete
Warning: COMPILE-FILE warned while performing #<compile-op > on #<cl-source-file "asdf" "build" "asdf">.
Warning: COMPILE-FILE failed while performing #<compile-op > on #<cl-source-file "asdf" "build" "asdf">.
TEST ABORTED: #P"/Users/rpg/lisp/asdf/build/fasls/acl-8.2m-macosx-x64/asdf/build/asdf.fasl" does not exist, cannot load
Evaluation stack:
; Autoloading for make-broadcast-stream:
; Fast loading /usr/local/acl/acl82.64/code/streamc.003
;;; Installing streamc patch, version 3.
; Fast loading from bundle code/efft-utf8-base.fasl.
; Fast loading from bundle code/efft-void.fasl.
; Fast loading from bundle code/efft-latin1-base.fasl.

 ->(sys::..runtime-operation #11="applyn" . #1=(:unknown-args))
   (tpl:do-command #2="zoom" . #<non-lisp object @ #x7>)
   (sys::..runtime-operation #5="lisp_apply" . #1#)
   [... excl::eval-as-progn ]
   (let

    . #3=(((*terminal-io* stream)
           (*standard-output* stream)
           (tpl:*zoom-print-circle* *print-circle*)
           (tpl:*zoom-print-level* *print-level*)
           (tpl:*zoom-print-length* *print-length*))
          (tpl:do-command
           #2#
           :from-read-eval-print-loop
           nil
           :count
           t
           :all
           t)))
   [... excl::eval-as-progn ]
   (block asdf/image:raw-print-backtrace (let . #3#))
   [... excl::%eval ]
   (asdf/image:raw-print-backtrace

    :stream
    #4=#<excl:terminal-simple-stream
         [initial terminal io] fd 0/1
         @
         #x1000251122>
    :count
    69)
   (sys::..runtime-operation #10="comp_to_interp" :stream #4# :count 69)
   (sys::..runtime-operation #5# . #1#)
   [... excl::eval-as-progn ]
   (let*

    . #7=(((#6=#:g845965
            . #19=((cons
                    (load-time-value excl::.ignore-errors-1.)
                    (excl::fast excl::*handler-clusters*))))
           (excl::*handler-clusters* #6#))
          (declare
           (dynamic-extent #6# . #21=(excl::*handler-clusters*)))
          (progn
           . #8=((apply
                  'asdf/image:raw-print-backtrace
                  asdf/image::keys)))))
   [... excl::eval-as-progn ]
   (catch #22='excl::ignore-errors-1 (let* . #7#))
   [... excl::eval-as-progn ]
   (let

    . #9=(((*print-readably* nil)
           (*print-circle* t)
           (*print-miser-width* 75)
           (*print-length* nil)
           (*print-level* nil)
           (*print-pretty* t))
          (ignore-errors . #8#)))
   [... excl::eval-as-progn ]
   (let ((*package* (find-package :cl))) . #16=((let . #9#)))
   [... excl::%eval ]
   ((:internal asdf/image:print-backtrace))
   (sys::..runtime-operation #10#)
   (sys::..runtime-operation #11# . #1#)
   (funcall

    #15=#<Interpreted Closure (:internal asdf/image:print-backtrace)
          @
          #x10024a28e2>
    . #32=#<Function funcall>)
   [... excl::eval-as-progn ]
   (let

    . #12=(((*package* (find-package package))
            (*read-default-float-format* 'double-float)
            (*print-readably* nil)
            (*read-eval* nil))
           (funcall asdf/stream::thunk)))
   [... excl::eval-as-progn ]
   (let nil . #13=((let . #12#)))
   [... excl::eval-as-progn ]
   (let

    . #14=(((*print-case*
             (excl:if*
              excl::*forced-readtable-case-raw*
              #87=then :downcase
              #89=else :upcase))
            (*readtable* excl::std-lisp-readtable))
           (locally . #13#)))
   [... excl::eval-as-progn ]
   (progv

    excl::with-standard-io-syntax-vars
    excl::with-standard-io-syntax-vals
    (let . #14#))
   [... excl::eval-as-progn ]
   (block

    asdf/stream:call-with-safe-io-syntax
    (with-standard-io-syntax . #13#))
   [... excl::%eval ]
   (asdf/stream:call-with-safe-io-syntax #15#)
   (sys::..runtime-operation #10# #15#)
   [... excl::eval-as-progn ]
   (block

    asdf/image:print-backtrace
    (asdf/stream:with-safe-io-syntax (:package :cl) . #16#))
   [... excl::%eval ]
   (asdf/image:print-backtrace :stream #4# :count 69)
   (sys::..runtime-operation #10# :stream #4# :count 69)
   (sys::..runtime-operation #5# . #1#)
   [... excl::%eval ]
   (excl::eval-as-progn

    #17=((asdf/image:print-backtrace :stream stream :count count)
         (when
          condition
          (asdf/stream:safe-format!
           stream
           "~&Above backtrace due to this condition:~%~A~&"
           condition))))
   (block asdf/image:print-condition-backtrace . #17#)
   [... excl::%eval ]
   (asdf/image:print-condition-backtrace

    #18=#<excl:file-does-not-exist-error @ #x100248e1e2>
    :count
    69
    :stream
    #4#)
   (sys::..runtime-operation #10# #18# :count 69 :stream #4#)
   (sys::..runtime-operation #5# . #1#)
   [... excl::eval-as-progn ]
   (block

    asdf-test:acall
    (apply
     (apply
      'asdf-test:asym
      (if
       (consp asdf-test::name)
       asdf-test::name
       (list asdf-test::name)))
     asdf-test::args))
   [... excl::%eval ]
   (asdf-test:acall

    :print-condition-backtrace
    #18#
    :count
    69
    :stream
    #4#)
   (sys::..runtime-operation

    #10#
    :print-condition-backtrace
    #18#
    :count
    69
    :stream
    #4#)
   (sys::..runtime-operation #5# . #1#)
   [... excl::eval-as-progn ]
   (let*

    . #23=(((#20=#:g845964 . #19#) (excl::*handler-clusters* #20#))
           (declare (dynamic-extent #20# . #21#))
           (progn
            . #24=((asdf-test:acall
                    :print-condition-backtrace
                    asdf-test::c
                    :count
                    69
                    :stream
                    *error-output*)))))
   [... excl::eval-as-progn ]
   (catch #22# (let* . #23#))
   [... excl::%eval ]
   (excl::eval-as-progn

    #94=((ignore-errors . #24#)
         (asdf-test:leave-test "Script failed" 1)))
   [... excl::%eval ]
   ((:internal asdf-test::call-with-test) #18#)
   (sys::..runtime-operation #10# #18#)
   (signal #18#)
   (error

    excl:file-does-not-exist-error
    :pathname
    #25=#P"/Users/rpg/lisp/asdf/build/fasls/acl-8.2m-macosx-x64/asdf/build/asdf.fasl"
    :format-control
    "~s does not exist, cannot load"
    :format-arguments
    (#25#))
   (excl::load-2

    #25#
    t
    #26=(#P"" #P(:type "fasl") #P(:type "cl") #P(:type "lisp"))
    :error
    nil
    nil
    nil
    nil
    nil
    nil
    nil
    :default
    nil
    nil)
   (excl::load-1

    #25#
    t
    #26#
    :error
    nil
    nil
    nil
    nil
    nil
    nil
    nil
    :default
    nil
    nil)
   (load #25#)
   (sys::..runtime-operation #5# . #1#)
   [... excl::eval-as-progn ]
   (let

    ((#27=#:g845952 asdf/lisp-build::x))
    (typecase
     #27#
     #30=(#28=(or pathname string)
          (apply 'load asdf/lisp-build::x asdf/lisp-build::keys))
     #31=(stream
          (let
           ((*package* *package*)
            (*readtable* *readtable*)
            (*load-pathname* nil)
            (*load-truename* nil))
           (asdf/stream:eval-input asdf/lisp-build::x)))
     (otherwise
      (excl::.case-failure
       'etypecase
       #27#
       '(or . #29=(#28# stream))
       '#29#))))
   [... excl::eval-as-progn ]
   (block

    asdf/lisp-build:load*
    (etypecase asdf/lisp-build::x #30# #31#))
   [... excl::%eval ]
   (asdf/lisp-build:load* #25#)
   (sys::..runtime-operation #10# #25#)
   [... excl::%eval ]
   ((:internal asdf/lisp-action:perform-lisp-load-fasl))
   (sys::..runtime-operation #10#)
   (sys::..runtime-operation #11# . #1#)
   (funcall

    #38=#<Interpreted Closure (:internal
                               asdf/lisp-action:perform-lisp-load-fasl)
          @
          #x100248a1e2>
    . #32#)
   [... excl::eval-as-progn ]
   (let*

    ((#33=#:g845951
      (cons
       't
       #36=#'(lambda
              (asdf/utility::c)
              (when
               (asdf/utility:match-any-condition-p
                asdf/utility::c
                asdf/utility::conditions)
               (muffle-warning asdf/utility::c)))))
     (#34=#:g845949 (list #33#))
     (#35=#:g845950
      (cons #34# . #80=((excl::fast excl::*handler-clusters*))))
     (excl::*handler-clusters* #35#))
    (declare
     (dynamic-extent #34# #35# #33# . #82=(excl::*handler-clusters*)))
    . #37=((funcall asdf/utility::thunk)))
   [... excl::eval-as-progn ]
   (block

    asdf/utility:call-with-muffled-conditions
    (handler-bind ((t #36#)) . #37#))
   [... excl::%eval ]
   (asdf/utility:call-with-muffled-conditions

    #38#
    #39=("No generic function ~S present when encountering macroexpansion of defmethod. Assuming it will be an instance of standard-generic-function."
         "Overwriting already existing readtable ~S."
         #(#:finalizers-off-warning :asdf-finalizers)))
   (sys::..runtime-operation #10# #38# #39#)
   [... excl::eval-as-progn ]
   (block

    asdf/lisp-build:call-with-muffled-loader-conditions
    (asdf/utility:call-with-muffled-conditions
     asdf/lisp-build::thunk
     (append
      asdf/lisp-build:*uninteresting-compiler-conditions*
      asdf/lisp-build:*uninteresting-loader-conditions*)))
   [... excl::%eval ]
   (asdf/lisp-build:call-with-muffled-loader-conditions #38#)
   (sys::..runtime-operation #10# #38#)
   [... excl::eval-as-progn ]
   (let

    (#40=(asdf/lisp-action::fasl
          (first
           (asdf-action:input-files
            asdf/lisp-action::o
            asdf/lisp-action::c))))
    (if
     (and asdf/lisp-action::fasl)
     #41=(asdf/lisp-build:with-muffled-loader-conditions
          nil
          (asdf/lisp-build:load* asdf/lisp-action::fasl))
     nil))
   [... excl::eval-as-progn ]
   (block

    asdf/lisp-action:perform-lisp-load-fasl
    (asdf/utility:if-let #40# #41#))
   [... excl::%eval ]
   (asdf/lisp-action:perform-lisp-load-fasl

    #42=#<asdf/lisp-action:load-op >
    #43=#<asdf/lisp-action:cl-source-file "asdf" "build" "asdf">)
   (sys::..runtime-operation #10# #42# #43#)
   [... excl::eval-as-progn ]
   (block

    asdf-action:perform
    (asdf/lisp-action:perform-lisp-load-fasl
     asdf/lisp-action::o
     asdf/lisp-action::c))
   [... excl::%eval ]
   ((method
     asdf-action:perform
     (asdf/lisp-action:load-op asdf/lisp-action:cl-source-file))

    #42#
    #43#)
   (sys::..runtime-operation #10# #42# #43#)
   ((:internal (:effective-method 2 nil nil nil nil) 0) #42# #43#)
   (sys::..runtime-operation #5# . #1#)
   (excl::caching-miss

    #<standard-generic-function asdf-action:perform>
    (#42# #43#)
    #(0
      nil
      nil
      nil
      nil
      nil
      nil
      nil
      nil
      nil
      nil
      nil
      nil
      nil
      nil
      nil
      nil
      nil
      nil
      nil
      nil
      nil
      nil
      nil
      nil
      nil
      nil
      nil
      nil
      nil
      nil
      nil
      nil))
   [... excl::%eval ]
   (progn

    . #44=((asdf-action:perform asdf::op asdf/component:component)
           (return)))
   [... excl::%eval ]
   (return-from . #53=(#61=#:Tag298 #65=(progn . #44#)))
   [... excl::eval-as-progn ]
   (let*

    ((#49=#:g845525
      (excl::make-restart
       :name
       'asdf/find-component:retry
       :function
       #54=#'(lambda
              #45=(&rest excl::temp)
              (setq #46=#:g845517 . #47=(excl::temp))
              (go #60=#:g845521))
       :class
       #48=(and
            excl::.restart-condition.
            (list excl::.restart-condition.))
       . #55=(:report-function
              #'#66=(lambda
                     (asdf::s)
                     (format
                      asdf::s
                      "~@<Retry performing ~S on ~S.~@:>"
                      asdf::op
                      asdf/component:component)))))
     (#50=#:g845526
      (excl::make-restart
       :name
       'asdf-action:accept
       :function
       #56=#'(lambda #45# (setq #46# . #47#) (go #62=#:g845522))
       :class
       #48#
       . #57=(:report-function
              #'#67=(lambda
                     (asdf::s)
                     (format
                      asdf::s
                      "~@<Continue, treating ~S on ~S as ~
                            having been successful.~@:>"
                      asdf::op
                      asdf/component:component)))))
     (#51=#:g845523 (list #49# #50#))
     (#52=#:g845524
      (cons (and t #51#) (excl::fast excl::*restart-clusters*)))
     (excl::*restart-clusters* #52#))
    (declare
     (dynamic-extent #51# #52# #49# #50# excl::*restart-clusters*))
    . #58=((return-from . #53#)))
   [... excl::eval-as-progn ]
   (let*

    . #59=(nil
           (excl::restart-bind-if
            t
            ((asdf/find-component:retry #54# . #55#)
             (asdf-action:accept #56# . #57#))
            . #58#)))
   [... excl::%eval ]
   (excl::evaluate-a-tagbody

    #63=((let* . #59#)
         #60#
         (return-from #61# (apply #'(lambda nil) #46#))
         #62#
         (return-from
          #61#
          (apply
           #'(lambda
              nil
              . #68=((setf
                      (gethash
                       (type-of asdf::op)
                       (asdf/component:component-operation-times
                        asdf/component:component))
                      (get-universal-time))
                     (return)))
           #46#))))
   [... excl::eval-as-progn ]
   (let . #64=(((#46# nil)) (tagbody. #63#)))
   [... excl::eval-as-progn ]
   (block #61# (let . #64#))
   [... excl::%eval ]
   (excl::evaluate-a-tagbody

    #70=(#69=#:g845516
         (progn
          . #72=((restart-case
                  #65#
                  (asdf/find-component:retry nil :report #66#)
                  (asdf-action:accept nil :report #67# . #68#))))
         (go #69#)))
   [... excl::eval-as-progn ]
   (block nil (tagbody. #70#))
   [... excl::%eval ]
   (excl::evaluate-a-tagbody

    #73=(excl::next-loop
         (when (endp #71=#:loop-list-431) (go excl::end-loop))
         (excl::loop-really-desetq
          #75=(asdf::op . asdf/component:component)
          (car #71#))
         (excl::loop-really-desetq #71# (cdr #71#))
         #76=(loop . #72#)
         (go excl::next-loop)
         excl::end-loop))
   [... excl::eval-as-progn ]
   (let

    . #74=(((asdf::op nil)
            (asdf/component:component nil)
            (#71# asdf::steps))
           (declare (type list #71#))
           (tagbody. #73#)))
   [... excl::eval-as-progn ]
   (block nil (let . #74#))
   [... excl::eval-as-progn ]
   (block

    excl::continuation
    . #90=((loop asdf::for #75# asdf::in asdf::steps do #76#)))
   [... excl::%eval ]
   ((flet asdf/operate:operate excl::continuation))
   (sys::..runtime-operation #10#)
   [... excl::%eval ]
   (multiple-value-prog1

    . #83=((excl::continuation) (excl::with-compilation-unit-cleanups)))
   [... excl::eval-as-progn ]
   (let*

    ((#77=#:g429
      (cons
       'excl::compiler-note
       #84=#'excl::tally-compilation-warnings))
     (#78=#:g430
      (cons 'warning #85=#'excl::tally-compilation-warnings))
     (#79=#:g427 (list #77# #78#))
     (#81=#:g428 (cons #79# . #80#))
     (excl::*handler-clusters* #81#))
    (declare (dynamic-extent #79# #81# #77# #78# . #82#))
    . #86=((multiple-value-prog1 . #83#)))
   [... excl::eval-as-progn ]
   (progv

    . #88=((mapcar #'car excl::.with-compilation-unit-bindings.)
           (excl::with-compilation-unit-values)
           (handler-bind
            ((excl::compiler-note #84#) (warning #85#))
            . #86#)))
   [... excl::eval-as-progn ]
   (let

    nil
    . #91=((excl:if*
            (or nil (null excl::.with-compilation-unit.))
            #87# (progv . #88#)
            #89# (excl::continuation))))
   [... excl::%eval ]
   (flet ((excl::continuation nil . #90#)) . #91#)
   [... excl::eval-as-progn ]
   (let*

    . #92=(((asdf::op
             (apply
              #'make-instance
              asdf::operation-class
              :original-initargs
              asdf::args
              asdf::args))
            (asdf/upgrade:*verbose-out*
             (if
              (getf asdf::args :verbose t)
              *trace-output*
              (make-broadcast-stream)))
            (asdf/system:system
             (if
              (typep asdf/system:system 'asdf/component:component)
              asdf/system:system
              (asdf/system:find-system asdf/system:system)))
            (asdf::steps
             (asdf/plan:traverse asdf::op asdf/system:system)))
           (with-compilation-unit nil . #90#)))
   [... excl::eval-as-progn ]
   (block asdf/operate:operate (let* . #92#))
   [... excl::%eval ]
   (asdf/operate:operate asdf/lisp-action:load-op :asdf)
   (sys::..runtime-operation #10# asdf/lisp-action:load-op :asdf)
   (sys::..runtime-operation #5# . #1#)
   [... excl::eval-as-progn ]
   (block asdf/operate:oos (apply #'asdf/operate:operate asdf::args))
   [... excl::%eval ]
   (asdf/operate:oos asdf/lisp-action:load-op :asdf)
   (sys::..runtime-operation #10# asdf/lisp-action:load-op :asdf)
   (sys::..runtime-operation #5# . #1#)
   (sys::..runtime-operation #5# . #1#)
   [... excl::%eval ]
   ((:internal asdf-test:load-asdf-system))
   (sys::..runtime-operation #10#)
   (sys::..runtime-operation #11# . #1#)
   (funcall

    #93=#<Interpreted Closure (:internal asdf-test:load-asdf-system)
          @
          #x10006acd82>
    . #32#)
   [... excl::eval-as-progn ]
   (block

    asdf-test::call-quietly
    (handler-bind () (funcall asdf-test::thunk)))
   [... excl::%eval ]
   (asdf-test::call-quietly #93#)
   (sys::..runtime-operation #10# #93#)
   [... excl::eval-as-progn ]
   (block

    asdf-test:load-asdf-system
    (asdf-test:quietly
     (asdf-test:register-directory asdf-test:*asdf-directory*)
     (asdf-test:register-directory asdf-test::*uiop-directory*)
     (apply
      (asdf-test:asym :oos)
      (asdf-test:asym :load-op)
      :asdf
      asdf-test::keys)))
   [... excl::%eval ]
   (asdf-test:load-asdf-system)
   (sys::..runtime-operation #10#)
   (sys::..runtime-operation #11# . #1#)
   (funcall asdf-test:load-asdf-system . #32#)
   [... excl::%eval ]
   ((:internal asdf-test::test-upgrade))
   (sys::..runtime-operation #10#)
   (sys::..runtime-operation #11# . #1#)
   (funcall

    #102=#<Interpreted Closure (:internal asdf-test::test-upgrade)
           @
           #x100068c3e2>
    . #<Interpreted Function asym>)
   (sys::..runtime-operation #11# . #1#)
   (funcall funcall . #32#)
   [... excl::%eval ]
   (excl::eval-as-progn

    #98=((funcall
          (or (asdf-test:asym :call-with-asdf-cache) 'funcall)
          asdf-test::thunk)
         (asdf-test:leave-test "Script succeeded" 0)))
   (let*

    ((#95=#:g140
      (cons
       'error
       #99=(lambda
            (asdf-test::c)
            (ignore-errors
             (format
              *error-output*
              "~&TEST ABORTED: ~A~&"
              asdf-test::c))
            (asdf-test::finish-outputs*)
            (cond
             (asdf-test::*debug-asdf*
              (format t "~&It's your baby, fix it!~%")
              (break))
             (t . #94#)))))
     (#96=#:g138 (list #95#))
     (#97=#:g139 (cons #96# . #80#))
     (excl::*handler-clusters* #97#))
    (declare (dynamic-extent #96# #97# #95# . #82#))
    . #98#)
   [... excl::eval-as-progn ]
   (catch . #100=(:asdf-test-done (handler-bind ((error #99#)) . #98#)))
   [... excl::%eval ]
   (let

    . #101=(((asdf-test::result (catch . #100#)))
            (when
             asdf-test::*quit-when-done*
             (asdf-test::exit-lisp asdf-test::result))))
   [... excl::eval-as-progn ]
   (block

    asdf-test::call-with-test
    (asdf-test::redirect-outputs)
    (let . #101#))
   [... excl::%eval ]
   (asdf-test::call-with-test #102#)
   (sys::..runtime-operation #10# #102#)
   [... excl::eval-as-progn ]
   (block

    asdf-test::test-upgrade
    (asdf-test:with-test
     nil
     (asdf-test::verbose t nil)
     (when
      asdf-test::old-method
      (cond
       ((string-equal asdf-test::tag "REQUIRE")
        (format t "Requiring some previous ASDF ~A~%" asdf-test::tag)
        (ignore-errors (funcall 'require "asdf"))
        (if
         (member "ASDF" *modules* :test 'equalp)
         (format
          t
          "Your Lisp implementation provided ASDF ~A~%"
          (asdf-test::get-asdf-version))
         (asdf-test:leave-test
          "Your Lisp implementation does not provide ASDF. Skipping test.~%"
          0)))
       (t
        (format
         t
         "Loading old asdf ~A via ~A~%"
         asdf-test::tag
         asdf-test::old-method)
        (funcall asdf-test::old-method asdf-test::tag))))
     (when (find-package :asdf) (asdf-test::configure-asdf))
     (when
      (and
       (null asdf-test::old-method)
       (eq 'asdf-test:load-asdf-fasl asdf-test::new-method)
       (not (probe-file (asdf-test::asdf-fasl))))
      (if
       (ignore-errors (funcall 'require "asdf") t)
       (asdf-test:leave-test
        "Your failed to compile ASDF before your run (test-upgrade ()'load-asdf-fasl ...)"
        1)
       (asdf-test:leave-test
        "Your Lisp doesn't provide ASDF. Skipping (test-upgrade ()'load-asdf-fasl ...)"
        0)))
     (format
      t
      "Now loading new asdf via method ~A~%"
      asdf-test::new-method)
     (funcall asdf-test::new-method)
     (format t "Testing it~%")
     (asdf-test:register-directory asdf-test:*test-directory*)
     (asdf-test:load-test-system :test-asdf/all)
     (assert (asdf-test:asymval '#:*file1* :test-package))
     (assert (asdf-test:asymval '#:*file3* :test-package))))
   [... excl::%eval ]
   (asdf-test::test-upgrade

    asdf-test:load-asdf-lisp
    asdf-test:load-asdf-system
    #103="1.85")
   (sys::..runtime-operation

    #10#
    asdf-test:load-asdf-lisp
    asdf-test:load-asdf-system
    #103#)
   [... excl::%eval ]
   (eval

    (asdf-test::test-upgrade
     'asdf-test:load-asdf-lisp
     'asdf-test:load-asdf-system
     #103#))
   (excl::sharp-dot

    #104=#<excl:string-input-simple-stream
           "'(#.(load\"te..." pos 117
           @
           #x1000643ca2>
    #\.
    nil)
   (excl::read-dispatch-char #104# #\#)
   [... sys::funcall-check ]
   (excl::read-maybe-nothing #104# #\#)
   (excl::read-list #104# #\()
   [... sys::funcall-check ]
   (excl::read2 #104# t nil t nil nil)
   (excl::read1 #104# t nil t nil nil)
   (read #104# t nil t)
   (excl::read-quote #104# #\')
   [... sys::funcall-check ]
   (excl::read2 #104# t nil nil nil nil)
   (excl::read1 #104# t nil nil nil nil)
   (read #104# t nil)
   (read-from-string

    "'(#.(load\"test/script-support.lisp\")#.(in-package :asdf-test)#.(test-upgrade 'load-asdf-lisp'load-asdf-system \"1.85\"))")
   (excl::do-command-line-processing)
   (excl::start-lisp-execution t)
Above backtrace due to this condition:
#P"/Users/rpg/lisp/asdf/build/fasls/acl-8.2m-macosx-x64/asdf/build/asdf.fasl" does not exist, cannot load
Script failed

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

As before, this reliably fails when running as part of `make test-all`, but works for me when tested interactively inside `mlisp -q`.

I note that there's something different in the interactive run: it's generating the asdf fasl into the standard location:

;;; Compiling file /Users/rpg/lisp/asdf/build/asdf.lisp
;;; Writing fasl file
;;; /Users/rpg/.cache/common-lisp/acl-8.2m-macosx-x64/Users/rpg/lisp/asdf/build/asdf-ASDF-TMP.fasl

But the make test is trying to put the fasl in the special test location, not the standard one:

Above backtrace due to this condition:
#P"/Users/rpg/lisp/asdf/build/fasls/acl-8.2m-macosx-x64/asdf/build/asdf.fasl" does not exist, cannot load
Script failed

This suggests that it's some failure in the test jig that's causing the issue. Hope that helps.

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

I have fixed several upgrade test issues lately, but I can't reproduce anything like this one.

Can you reproduce? With what variant of ASDF? Can you reliably reproduce with a make test-all but with a restricted lisps= and ASDF_UPGRADE_TEST_TAGS= ?

Changed in asdf:
assignee: nobody → Faré (fahree)
importance: Undecided → Low
milestone: none → version3
Revision history for this message
Robert P. Goldman (rpgoldman) wrote :

The following repeats the failure

setenv ASDF_TEST_LISPS allegromodern
setenv ASDF_UPGRADE_TEST_TAGS 1.85
make test-all

So, yes, the failure is robust.

2.32.13 is the ASDF version.

Sorry ...

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

I'm not sure whether upgrading from 1.85 on Allegro is actually important enough to test, since Franz distributes ASDF 2 with its implementation now. Should we just drop this test?

IMO if I'm going to keep testing one of two things needs to happen: either the bug under this failure needs to be fixed, or the test needs to be nixed. We aren't making measurable progress towards the first, and the second seems reasonable, given that ASDF 1 is no longer seen in the wild on ACL. If someone wants to use a version prior to 8.2, it's up to them to test it! At least as far as I'm concerned.

I just want this to stop breaking my test runs, so I can stop being Mr. ASDF Test Buzz Kill.

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

2.32.16 had some additional test fasl cleanups. If that doesn't fix your issue, I suppose we could disable the asdf 1 tests on allegro and other platforms.

Weird, because it's all working fine for me (at least on allegro 9.0 -- I don't have a license for 8.2 anymore). What if you
  git clean -xfd ; make mrproper
?

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

OK, did that. When I do that,
make test-all
fails because it doesn't make asdf.lisp.

Should the test-all target have a dependency on build/asdf.lisp?

After that (make mrproper; make) , I get a new error, which seems to have to do with some missing structure in the directories:

make -C doc
makeinfo --html asdf.texinfo
make test-load-systems
./test/run-tests.sh -l sbcl
Loading all these systems:
tee: build/results/sbcl-systems.text: No such file or directory
; loading #P"/Users/rpg/lisp/asdf/build/asdf.lisp"
Done!
Script succeeded
make[1]: *** [test-load-systems] Error 1
make: *** [test-all-lisps] Error 2

Note that this is with ASDF_TEST_LISPS = allegromodern -- it almost looks like the makefile is trying to do something with SBCL, anyway....

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

There was a missing dependency from test-load-systems to build/asdf.lisp. I added it.

Apart from that, make test-all looks like it's working for me.

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

I'm afraid even after pulling the patch with the dependency, the upgrade from 1.85 still fails for me.

For some reason the test code is looking for the asdf fasl in the normal cache directory, instead of in the test cache directory.

This suggests the scriptage may be going wrong. Is there any place where this might happen because I don't use bash?

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

Since this works successfully under mlisp -q, just not from within make, I think the culprit must be the make infrastructure...

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

I have 99 problems but a script ain't one.

Works for me.

If bash were the issue, I'd expect *much* less subtle breakage. Nevertheless, if you try 2.32.22, I've tried to make things more robust for you.

The fact that you get output in your ~/.cache is indeed very suspect.
I'm currently running all the upgrade tests and a ~/.cache/common-lisp is never even created.
Can check the output of
   env | grep ASDF_OUTPUT_TRANSLATIONS
before the lisp invocation, and/or the value of asdf::*output-translations* after you
(initialize-output-translations) in a script?

Are there funky things happening wrt mount point, symlinks, logical pathnames, user-homedir-pathname, default initialization files, pre-dumped state, autoloading of builtin asdf, etc.?

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

I don't know whether the backtrace you should is typical of your issue, but it looks like asdf 1.85 compiles asdf.lisp w/o translation to /Users/rpg/lisp/asdf/build/asdf.fasl then, now upgraded but somehow without having flushed the old state, looks for the output in the translated area in /Users/rpg/lisp/asdf/build/fasls/acl-8.2m-macosx-x64/asdf/build/asdf.fasl and fails to find it here.

This is an all too believable a failure scenario, but then I'm baffled I can't reproduce it.

Would you perchance have a non-standard ASDF_UPGRADE_TEST_METHODS exported?

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

No, I'm afraid ASDF_UPGRADE_TEST_METHODS has no value. nor does ASDF_OUTPUT_TRANSLATIONS. In my everyday use of ASDF, I am happy to use the default setting.

The backtrace seems completely standard in the errors. However, as mentioned above, I do not get this error when I follow the directions for interactively replicating the error using `mlisp -q`. Hence I think something about the environment created by the makefile must be implicated....

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

"Won't Fix". I can't reproduce, but I've removed the test. Hot upgrade from ASDF 1 doesn't make much sense anymore, even less on Allegro, that ships with ASDF 2 already (and 3 even, in its latest patch).

Changed in asdf:
status: New → Won't Fix
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.