clisp fails TEST-RUN-PROGRAM on Windows

Bug #1470507 reported by Robert P. Goldman
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ASDF
Fix Released
Undecided
Unassigned

Bug Description

Running test-run-program.script with clisp-2.49-win-x86
;; Loading file test-run-program.script ...
WARNING: TRACE: redefining function RUN-PROGRAM in F:\asdf\test\test-run-program.script, was defined in top-level
;; Tracing function RUN-PROGRAM.
WARNING: TRACE: redefining function UIOP/RUN-PROGRAM::%RUN-PROGRAM in F:\asdf\test\test-run-program.script, was defined in
         top-level
;; Tracing function UIOP/RUN-PROGRAM::%RUN-PROGRAM.
WARNING: TRACE: redefining function UIOP/RUN-PROGRAM::%SYSTEM in F:\asdf\test\test-run-program.script, was defined in
         top-level
;; Tracing function UIOP/RUN-PROGRAM::%SYSTEM.
WARNING: TRACE: redefining function EXT:SHELL in F:\asdf\test\test-run-program.script, was defined in C
;; Tracing function EXT:SHELL.
WARNING: TRACE: redefining function EXT:RUN-SHELL-COMMAND in F:\asdf\test\test-run-program.script, was defined in top-level
;; Tracing function EXT:RUN-SHELL-COMMAND.
WARNING: TRACE: redefining function EXT:RUN-PROGRAM in F:\asdf\test\test-run-program.script, was defined in top-level
;; Tracing function EXT:RUN-PROGRAM.
Testing echo ok 1 via run-program as a list
1. Trace: (RUN-PROGRAM '("echo" "ok" "1") ':OUTPUT '(:STRING :STRIPPED T))
2. Trace:
(UIOP/RUN-PROGRAM::%SYSTEM '("echo" "ok" "1") ':INPUT 'NIL ':OUTPUT '#P"C:\\cygwin64\\tmp\\tmp439AE7FM.tmp" ':ERROR-OUTPUT
 'NIL ':INPUT 'NIL ':ERROR-OUTPUT 'NIL ':IF-INPUT-DOES-NOT-EXIST ':ERROR ':IF-OUTPUT-EXISTS ':OVERWRITE
 ':IF-ERROR-OUTPUT-EXISTS ':OVERWRITE ':ELEMENT-TYPE ':DEFAULT ':EXTERNAL-FORMAT '#<ENCODING CHARSET:UTF-8 :UNIX> ':OUTPUT
 '(:STRING :STRIPPED T))
3. Trace:
(UIOP/RUN-PROGRAM::%RUN-PROGRAM '" < NUL > C:\\cygwin64\\tmp\\tmp439AE7FM.tmp 2> NULecho ok 1" ':WAIT 'T ':INPUT
 ':INTERACTIVE ':OUTPUT ':INTERACTIVE ':ERROR-OUTPUT ':INTERACTIVE ':INPUT 'NIL ':OUTPUT
 '#P"C:\\cygwin64\\tmp\\tmp439AE7FM.tmp" ':ERROR-OUTPUT 'NIL ':INPUT 'NIL ':ERROR-OUTPUT 'NIL ':IF-INPUT-DOES-NOT-EXIST
 ':ERROR ':IF-OUTPUT-EXISTS ':OVERWRITE ':IF-ERROR-OUTPUT-EXISTS ':OVERWRITE ':ELEMENT-TYPE ':DEFAULT ':EXTERNAL-FORMAT
 '#<ENCODING CHARSET:UTF-8 :UNIX> ':OUTPUT '(:STRING :STRIPPED T))
4. Trace:
(EXT:RUN-SHELL-COMMAND '" < NUL > C:\\cygwin64\\tmp\\tmp439AE7FM.tmp 2> NULecho ok 1" ':INPUT ':TERMINAL ':OUTPUT ':TERMINAL
 ':ALLOW-OTHER-KEYS 'T ':WAIT 'T ':INPUT ':INTERACTIVE ':OUTPUT ':INTERACTIVE ':ERROR-OUTPUT ':INTERACTIVE ':INPUT 'NIL
 ':OUTPUT '#P"C:\\cygwin64\\tmp\\tmp439AE7FM.tmp" ':ERROR-OUTPUT 'NIL ':INPUT 'NIL ':ERROR-OUTPUT 'NIL
 ':IF-INPUT-DOES-NOT-EXIST ':ERROR ':IF-OUTPUT-EXISTS ':OVERWRITE ':IF-ERROR-OUTPUT-EXISTS ':OVERWRITE ':ELEMENT-TYPE
 ':DEFAULT ':EXTERNAL-FORMAT '#<ENCODING CHARSET:UTF-8 :UNIX> ':OUTPUT '(:STRING :STRIPPED T))
5. Trace: (EXT:SHELL '"C:\\WINDOWS\\system32\\cmd.exe /c < NUL > C:\\cygwin64\\tmp\\tmp439AE7FM.tmp 2> NULecho ok 1")
5. Trace: EXT:SHELL ==> 1
4. Trace: EXT:RUN-SHELL-COMMAND ==> 1
3. Trace: UIOP/RUN-PROGRAM::%RUN-PROGRAM ==> (:EXIT-CODE 1)
2. Trace: UIOP/RUN-PROGRAM::%SYSTEM ==> 1
TEST ABORTED:
Subprocess with command ("echo" "ok" "1")
 exited with error code 1
<1/809> #<SYSTEM-FUNCTION EXT:SHOW-STACK> 3
<2/802> #<COMPILED-FUNCTION SYSTEM::PRINT-BACKTRACE>
<3/798> #<COMPILED-FUNCTION UIOP/IMAGE:RAW-PRINT-BACKTRACE>
<4/793> #<COMPILED-FUNCTION UIOP/IMAGE::PRINT-BACKTRACE-1-2>
<5/761> #<COMPILED-FUNCTION UIOP/IMAGE::PRINT-BACKTRACE-1>
<6/636> #<COMPILED-FUNCTION UIOP/STREAM:CALL-WITH-SAFE-IO-SYNTAX>
<7/632> #<COMPILED-FUNCTION UIOP/IMAGE:PRINT-BACKTRACE>
<8/627> #<COMPILED-FUNCTION UIOP/IMAGE:PRINT-CONDITION-BACKTRACE>
<9/625> #<SYSTEM-FUNCTION APPLY> 2
[623] EVAL frame for form
(APPLY
 (APPLY 'ASDF-TEST:ASYM
  (IF (CONSP ASDF-TEST::NAME) ASDF-TEST::NAME (LIST ASDF-TEST::NAME)))
 ASDF-TEST::ARGS)
[604] APPLY frame for call (ASDF-TEST:ACALL ':PRINT-CONDITION-BACKTRACE '#<UIOP/RUN-PROGRAM:SUBPROCESS-ERROR #x1A221441> ':COUNT '69 ':STREAM '#<OUTPUT UNBUFFERED FILE-STREAM CHARACTER>)
<10/595>
#<FUNCTION ASDF-TEST:ACALL (ASDF-TEST::NAME &REST ASDF-TEST::ARGS)
  (DECLARE (SYSTEM::IN-DEFUN ASDF-TEST:ACALL))
  (BLOCK ASDF-TEST:ACALL
   (APPLY
    (APPLY 'ASDF-TEST:ASYM
     (IF (CONSP ASDF-TEST::NAME) ASDF-TEST::NAME (LIST ASDF-TEST::NAME)))
    ASDF-TEST::ARGS))> 6
[594] EVAL frame for form
(ASDF-TEST:ACALL :PRINT-CONDITION-BACKTRACE ASDF-TEST::C :COUNT 69 :STREAM
 *ERROR-OUTPUT*)
[581] APPLY frame for call (:LAMBDA)
<11/578>
#<FUNCTION :LAMBDA NIL
  (PROGN
   (ASDF-TEST:ACALL :PRINT-CONDITION-BACKTRACE ASDF-TEST::C :COUNT 69 :STREAM
    *ERROR-OUTPUT*))> 0
<12/572> #<COMPILED-FUNCTION #:COMPILED-FORM-4>
<13/573> #<SPECIAL-OPERATOR LOCALLY>
[572] EVAL frame for form
(LOCALLY (DECLARE (COMPILE))
 (SYSTEM::%HANDLER-BIND #:G3107 'ERROR
  #'(LAMBDA #1=(CONDITION)
     (DECLARE
      (SYSTEM::SOURCE (#1# . #2=((FUNCALL (FUNCALL #:G3106) CONDITION)))))
     . #2#)))
<14/559> #<SPECIAL-OPERATOR LET>
[557] EVAL frame for form
(LET
 ((#1=#:G3106
   #'(LAMBDA NIL
      (DECLARE
       (SYSTEM::SOURCE
        (NIL
         (PROGN
          #'(LAMBDA .
             #2=(#3=(CONDITION) .
                 #4=((RETURN-FROM #:IGNORE-ERRORS-3105
                      (VALUES NIL CONDITION)))))))))
      #'(LAMBDA #3# (DECLARE (SYSTEM::SOURCE #2#)) . #4#)))
  (#5=#:G3107
   #'(LAMBDA NIL
      (DECLARE
       (SYSTEM::SOURCE
        (NIL
         (PROGN
          #6=(ASDF-TEST:ACALL :PRINT-CONDITION-BACKTRACE ASDF-TEST::C :COUNT 69
              :STREAM *ERROR-OUTPUT*)))))
      #6#)))
 (LOCALLY (DECLARE (COMPILE))
  (SYSTEM::%HANDLER-BIND #5# 'ERROR
   #'(LAMBDA #7=(CONDITION)
      (DECLARE (SYSTEM::SOURCE (#7# . #8=((FUNCALL (FUNCALL #1#) CONDITION)))))
      . #8#))))
<15/549> #<SPECIAL-OPERATOR BLOCK>
[547] EVAL frame for form
(BLOCK #1=#:IGNORE-ERRORS-3105
 (LET
  ((#2=#:G3106
    #'(LAMBDA NIL
       (DECLARE
        (SYSTEM::SOURCE
         (NIL
          (PROGN
           #'(LAMBDA .
              #3=(#4=(CONDITION) .
                  #5=((RETURN-FROM #1# (VALUES NIL CONDITION)))))))))
       #'(LAMBDA #4# (DECLARE (SYSTEM::SOURCE #3#)) . #5#)))
   (#6=#:G3107
    #'(LAMBDA NIL
       (DECLARE
        (SYSTEM::SOURCE
         (NIL
          (PROGN
           #7=(ASDF-TEST:ACALL :PRINT-CONDITION-BACKTRACE ASDF-TEST::C :COUNT
               69 :STREAM *ERROR-OUTPUT*)))))
       #7#)))
  (LOCALLY (DECLARE (COMPILE))
   (SYSTEM::%HANDLER-BIND #6# 'ERROR
    #'(LAMBDA #8=(CONDITION)
       (DECLARE
        (SYSTEM::SOURCE (#8# . #9=((FUNCALL (FUNCALL #2#) CONDITION)))))
       . #9#)))))
<16/544> #<SPECIAL-OPERATOR COND>
[543] EVAL frame for form
(COND
 (ASDF-TEST::*DEBUG-ASDF* (FORMAT T "~&It's your baby, fix it!~%") (BREAK))
 (T
  (BLOCK #1=#:IGNORE-ERRORS-3105
   (LET
    ((#2=#:G3106
      #'(LAMBDA NIL
         (DECLARE
          (SYSTEM::SOURCE
           (NIL
            (PROGN
             #'(LAMBDA .
                #3=(#4=(CONDITION) .
                    #5=((RETURN-FROM #1# (VALUES NIL CONDITION)))))))))
         #'(LAMBDA #4# (DECLARE (SYSTEM::SOURCE #3#)) . #5#)))
     (#6=#:G3107
      #'(LAMBDA NIL
         (DECLARE
          (SYSTEM::SOURCE
           (NIL
            (PROGN
             #7=(ASDF-TEST:ACALL :PRINT-CONDITION-BACKTRACE ASDF-TEST::C :COUNT
                 69 :STREAM *ERROR-OUTPUT*)))))
         #7#)))
    (LOCALLY (DECLARE (COMPILE))
     (SYSTEM::%HANDLER-BIND #6# 'ERROR
      #'(LAMBDA #8=(CONDITION)
         (DECLARE
          (SYSTEM::SOURCE (#8# . #9=((FUNCALL (FUNCALL #2#) CONDITION)))))
         . #9#)))))
  (ASDF-TEST:LEAVE-TEST "Script failed" 1)))
[527] APPLY frame for call (:LAMBDA '#<UIOP/RUN-PROGRAM:SUBPROCESS-ERROR #x1A221441>)
<17/523>
#<FUNCTION :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
    (IGNORE-ERRORS
     (ASDF-TEST:ACALL :PRINT-CONDITION-BACKTRACE ASDF-TEST::C :COUNT 69 :STREAM
      *ERROR-OUTPUT*))
    (ASDF-TEST:LEAVE-TEST "Script failed" 1)))> 1
<18/520> #<COMPILED-FUNCTION #:COMPILED-FORM-2>
<19/515> #<SYSTEM-FUNCTION SIGNAL> 1
<20/500> #<COMPILED-FUNCTION CERROR>
<21/496> #<COMPILED-FUNCTION UIOP/RUN-PROGRAM::%CHECK-RESULT>
<22/491> #<COMPILED-FUNCTION UIOP/RUN-PROGRAM::%USE-SYSTEM-1-1-1>
<23/487> #<COMPILED-FUNCTION UIOP/RUN-PROGRAM::%CALL-WITH-PROGRAM-IO-EASY-CASE>
<24/480> #<COMPILED-FUNCTION UIOP/RUN-PROGRAM::%CALL-WITH-PROGRAM-IO>
<25/467> #<COMPILED-FUNCTION UIOP/RUN-PROGRAM::%USE-SYSTEM-1-1>
<26/463> #<COMPILED-FUNCTION UIOP/RUN-PROGRAM::%CALL-WITH-PROGRAM-IO-EASY-CASE>
<27/456> #<COMPILED-FUNCTION UIOP/RUN-PROGRAM::%CALL-WITH-PROGRAM-IO>
<28/443> #<COMPILED-FUNCTION UIOP/RUN-PROGRAM::%USE-SYSTEM-1>
<29/437>
#<COMPILED-FUNCTION
  UIOP/RUN-PROGRAM::%CALL-WITH-PROGRAM-IO-HARD-CASE-BEFORE12153>
<30/434> #<COMPILED-FUNCTION UIOP/UTILITY:CALL-FUNCTION>
<31/422> #<COMPILED-FUNCTION UIOP/STREAM:CALL-WITH-TEMPORARY-FILE>
<32/408> #<COMPILED-FUNCTION UIOP/RUN-PROGRAM::%CALL-WITH-PROGRAM-IO-HARD-CASE>
<33/401> #<COMPILED-FUNCTION UIOP/RUN-PROGRAM::%CALL-WITH-PROGRAM-IO>
<34/387> #<COMPILED-FUNCTION UIOP/RUN-PROGRAM::%USE-SYSTEM>
<35/376> #<COMPILED-FUNCTION UIOP/RUN-PROGRAM:RUN-PROGRAM>
<36/350> #<COMPILED-FUNCTION ASDF-TEST::TRACED-RUN-PROGRAM>
[348] EVAL frame for form
(UIOP/RUN-PROGRAM:RUN-PROGRAM '("echo" "ok" "1") :OUTPUT
 '(:STRING :STRIPPED T))
[343] EVAL frame for form
(ASDF-TEST::DEWINDOWIZE
 (UIOP/RUN-PROGRAM:RUN-PROGRAM '("echo" "ok" "1") :OUTPUT
  '(:STRING :STRIPPED T)))
[334] EVAL frame for form
(ASDF-TEST::ASSERT-COMPARE-HELPER 'EQUAL '#1="ok 1"
 '#2=(ASDF-TEST::DEWINDOWIZE
      (UIOP/RUN-PROGRAM:RUN-PROGRAM '("echo" "ok" "1") :OUTPUT
       '(:STRING :STRIPPED T)))
 #1# #2#)
[328] EVAL frame for form
(ASDF-TEST:ASSERT-EQUAL "ok 1"
 (ASDF-TEST::DEWINDOWIZE
  (UIOP/RUN-PROGRAM:RUN-PROGRAM '("echo" "ok" "1") :OUTPUT
   '(:STRING :STRIPPED T))))
<37/320> #<SYSTEM-FUNCTION EVAL>
<38/318> #<COMPILED-FUNCTION SYSTEM::EVAL-LOADED-FORM-LOW>
<39/305> #<COMPILED-FUNCTION SYSTEM::EVAL-LOADED-FORM>
<40/243> #<COMPILED-FUNCTION LOAD>
[233] EVAL frame for form (LOAD ASDF-TEST::NAME)
<41/223> #<SPECIAL-OPERATOR LET>
[221] EVAL frame for form
(LET ((ASDF-TEST::NAME (STRING ASDF-TEST::FILE)))
 (FORMAT T "Running ~A with ~A~%" ASDF-TEST::NAME
  (ASDF-TEST:ACALL :IMPLEMENTATION-IDENTIFIER))
 (LOAD ASDF-TEST::NAME))
[208] APPLY frame for call (:LAMBDA)
<42/205>
#<FUNCTION :LAMBDA NIL
  (LET ((ASDF-TEST::NAME (STRING ASDF-TEST::FILE)))
   (FORMAT T "Running ~A with ~A~%" ASDF-TEST::NAME
    (ASDF-TEST:ACALL :IMPLEMENTATION-IDENTIFIER))
   (LOAD ASDF-TEST::NAME))> 0
<43/189> #<COMPILED-FUNCTION ASDF/CACHE:CALL-WITH-ASDF-CACHE>
<44/187> #<SYSTEM-FUNCTION FUNCALL> 2
[185] EVAL frame for form (FUNCALL (OR (ASDF-TEST:ASYM :CALL-WITH-ASDF-CACHE) 'FUNCALL) ASDF-TEST::THUNK)
<45/182> #<SPECIAL-OPERATOR PROGN>
[181] EVAL frame for form
(PROGN
 (FUNCALL (OR (ASDF-TEST:ASYM :CALL-WITH-ASDF-CACHE) 'FUNCALL)
  ASDF-TEST::THUNK)
 (ASDF-TEST:LEAVE-TEST "Script succeeded" 0))
[168] APPLY frame for call (:LAMBDA)
<46/165>
#<FUNCTION :LAMBDA NIL
  (PROGN
   (FUNCALL (OR (ASDF-TEST:ASYM :CALL-WITH-ASDF-CACHE) 'FUNCALL)
    ASDF-TEST::THUNK)
   (ASDF-TEST:LEAVE-TEST "Script succeeded" 0))> 0
<47/159> #<COMPILED-FUNCTION #:COMPILED-FORM-2>
<48/160> #<SPECIAL-OPERATOR LOCALLY>
[159] EVAL frame for form
(LOCALLY (DECLARE (COMPILE))
 (SYSTEM::%HANDLER-BIND #:G3101 'ERROR
  #'(LAMBDA #1=(CONDITION)
     (DECLARE
      (SYSTEM::SOURCE (#1# . #2=((FUNCALL (FUNCALL #:G3100) CONDITION)))))
     . #2#)))
<49/146> #<SPECIAL-OPERATOR LET>
[144] EVAL frame for form
(LET
 ((#1=#:G3100
   #'(LAMBDA NIL
      (DECLARE
       (SYSTEM::SOURCE
        (NIL
         (PROGN
          (LAMBDA .
           #2=(#3=(ASDF-TEST::C)
               (IGNORE-ERRORS .
                #4=(#5=(FORMAT *ERROR-OUTPUT* "~&TEST ABORTED: ~A~&"
                        ASDF-TEST::C)))
               #6=(ASDF-TEST::FINISH-OUTPUTS*)
               (COND
                #7=(ASDF-TEST::*DEBUG-ASDF*
                    (FORMAT T "~&It's your baby, fix it!~%") (BREAK))
                (T
                 (IGNORE-ERRORS .
                  #8=(#9=(ASDF-TEST:ACALL :PRINT-CONDITION-BACKTRACE
                          ASDF-TEST::C :COUNT 69 :STREAM *ERROR-OUTPUT*)))
                 . #10=((ASDF-TEST:LEAVE-TEST "Script failed" 1))))))))))
      #'(LAMBDA #3# (DECLARE (SYSTEM::SOURCE #2#))
         (BLOCK #11=#:IGNORE-ERRORS-3102
          (LET
           ((#12=#:G3103
             #'(LAMBDA NIL
                (DECLARE
                 (SYSTEM::SOURCE
                  (NIL
                   (PROGN
                    #'(LAMBDA .
                       #13=(#14=(CONDITION) .
                            #15=((RETURN-FROM #11# .
                                  #16=((VALUES NIL CONDITION))))))))))
                #'(LAMBDA #14# (DECLARE (SYSTEM::SOURCE #13#)) . #15#)))
            (#17=#:G3104
             #'(LAMBDA NIL (DECLARE (SYSTEM::SOURCE (NIL (PROGN . #4#))))
                #5#)))
           (LOCALLY #18=(DECLARE (COMPILE))
            (SYSTEM::%HANDLER-BIND #17# 'ERROR
             #'(LAMBDA #19=(CONDITION)
                (DECLARE
                 (SYSTEM::SOURCE
                  (#19# . #20=((FUNCALL (FUNCALL #12#) . #21=(CONDITION))))))
                . #20#)))))
         #6#
         (COND #7#
          (T
           (BLOCK #22=#:IGNORE-ERRORS-3105
            (LET
             ((#23=#:G3106
               #'(LAMBDA NIL
                  (DECLARE
                   (SYSTEM::SOURCE
                    (NIL
                     (PROGN
                      #'(LAMBDA .
                         #24=(#14# . #25=((RETURN-FROM #22# . #16#))))))))
                  #'(LAMBDA #14# (DECLARE (SYSTEM::SOURCE #24#)) . #25#)))
              (#26=#:G3107
               #'(LAMBDA NIL (DECLARE (SYSTEM::SOURCE (NIL (PROGN . #8#))))
                  #9#)))
             (LOCALLY #18#
              (SYSTEM::%HANDLER-BIND #26# 'ERROR
               #'(LAMBDA #19#
                  (DECLARE
                   (SYSTEM::SOURCE
                    (#19# . #27=((FUNCALL (FUNCALL #23#) . #21#)))))
                  . #27#)))))
           . #10#)))))
  (#28=#:G3101
   #'(LAMBDA NIL
      (DECLARE
       (SYSTEM::SOURCE
        (NIL .
         #29=((PROGN
               (FUNCALL (OR (ASDF-TEST:ASYM :CALL-WITH-ASDF-CACHE) 'FUNCALL)
                ASDF-TEST::THUNK)
               (ASDF-TEST:LEAVE-TEST "Script succeeded" 0))))))
      . #29#)))
 (LOCALLY #18#
  (SYSTEM::%HANDLER-BIND #28# 'ERROR
   #'(LAMBDA #19#
      (DECLARE (SYSTEM::SOURCE (#19# . #30=((FUNCALL (FUNCALL #1#) . #21#)))))
      . #30#))))
<50/139> #<SPECIAL-OPERATOR CATCH>
[137] EVAL frame for form
(CATCH :ASDF-TEST-DONE
 (LET
  ((#1=#:G3100
    #'(LAMBDA NIL
       (DECLARE
        (SYSTEM::SOURCE
         (NIL
          (PROGN
           (LAMBDA .
            #2=(#3=(ASDF-TEST::C)
                (IGNORE-ERRORS .
                 #4=(#5=(FORMAT *ERROR-OUTPUT* "~&TEST ABORTED: ~A~&"
                         ASDF-TEST::C)))
                #6=(ASDF-TEST::FINISH-OUTPUTS*)
                (COND
                 #7=(ASDF-TEST::*DEBUG-ASDF*
                     (FORMAT T "~&It's your baby, fix it!~%") (BREAK))
                 (T
                  (IGNORE-ERRORS .
                   #8=(#9=(ASDF-TEST:ACALL :PRINT-CONDITION-BACKTRACE
                           ASDF-TEST::C :COUNT 69 :STREAM *ERROR-OUTPUT*)))
                  . #10=((ASDF-TEST:LEAVE-TEST "Script failed" 1))))))))))
       #'(LAMBDA #3# (DECLARE (SYSTEM::SOURCE #2#))
          (BLOCK #11=#:IGNORE-ERRORS-3102
           (LET
            ((#12=#:G3103
              #'(LAMBDA NIL
                 (DECLARE
                  (SYSTEM::SOURCE
                   (NIL
                    (PROGN
                     #'(LAMBDA .
                        #13=(#14=(CONDITION) .
                             #15=((RETURN-FROM #11# .
                                   #16=((VALUES NIL CONDITION))))))))))
                 #'(LAMBDA #14# (DECLARE (SYSTEM::SOURCE #13#)) . #15#)))
             (#17=#:G3104
              #'(LAMBDA NIL (DECLARE (SYSTEM::SOURCE (NIL (PROGN . #4#))))
                 #5#)))
            (LOCALLY #18=(DECLARE (COMPILE))
             (SYSTEM::%HANDLER-BIND #17# 'ERROR
              #'(LAMBDA #19=(CONDITION)
                 (DECLARE
                  (SYSTEM::SOURCE
                   (#19# . #20=((FUNCALL (FUNCALL #12#) . #21=(CONDITION))))))
                 . #20#)))))
          #6#
          (COND #7#
           (T
            (BLOCK #22=#:IGNORE-ERRORS-3105
             (LET
              ((#23=#:G3106
                #'(LAMBDA NIL
                   (DECLARE
                    (SYSTEM::SOURCE
                     (NIL
                      (PROGN
                       #'(LAMBDA .
                          #24=(#14# . #25=((RETURN-FROM #22# . #16#))))))))
                   #'(LAMBDA #14# (DECLARE (SYSTEM::SOURCE #24#)) . #25#)))
               (#26=#:G3107
                #'(LAMBDA NIL (DECLARE (SYSTEM::SOURCE (NIL (PROGN . #8#))))
                   #9#)))
              (LOCALLY #18#
               (SYSTEM::%HANDLER-BIND #26# 'ERROR
                #'(LAMBDA #19#
                   (DECLARE
                    (SYSTEM::SOURCE
                     (#19# . #27=((FUNCALL (FUNCALL #23#) . #21#)))))
                   . #27#)))))
            . #10#)))))
   (#28=#:G3101
    #'(LAMBDA NIL
       (DECLARE
        (SYSTEM::SOURCE
         (NIL .
          #29=((PROGN
                (FUNCALL (OR (ASDF-TEST:ASYM :CALL-WITH-ASDF-CACHE) 'FUNCALL)
                 ASDF-TEST::THUNK)
                (ASDF-TEST:LEAVE-TEST "Script succeeded" 0))))))
       . #29#)))
  (LOCALLY #18#
   (SYSTEM::%HANDLER-BIND #28# 'ERROR
    #'(LAMBDA #19#
       (DECLARE (SYSTEM::SOURCE (#19# . #30=((FUNCALL (FUNCALL #1#) . #21#)))))
       . #30#)))))
<51/127> #<SPECIAL-OPERATOR LET>
[125] EVAL frame for form
(LET
 ((ASDF-TEST::RESULT
   (CATCH :ASDF-TEST-DONE
    (LET
     ((#1=#:G3100
       #'(LAMBDA NIL
          (DECLARE
           (SYSTEM::SOURCE
            (NIL
             (PROGN
              (LAMBDA .
               #2=(#3=(ASDF-TEST::C)
                   (IGNORE-ERRORS .
                    #4=(#5=(FORMAT *ERROR-OUTPUT* "~&TEST ABORTED: ~A~&"
                            ASDF-TEST::C)))
                   #6=(ASDF-TEST::FINISH-OUTPUTS*)
                   (COND
                    #7=(ASDF-TEST::*DEBUG-ASDF*
                        (FORMAT T "~&It's your baby, fix it!~%") (BREAK))
                    (T
                     (IGNORE-ERRORS .
                      #8=(#9=(ASDF-TEST:ACALL :PRINT-CONDITION-BACKTRACE
                              ASDF-TEST::C :COUNT 69 :STREAM *ERROR-OUTPUT*)))
                     . #10=((ASDF-TEST:LEAVE-TEST "Script failed" 1))))))))))
          #'(LAMBDA #3# (DECLARE (SYSTEM::SOURCE #2#))
             (BLOCK #11=#:IGNORE-ERRORS-3102
              (LET
               ((#12=#:G3103
                 #'(LAMBDA NIL
                    (DECLARE
                     (SYSTEM::SOURCE
                      (NIL
                       (PROGN
                        #'(LAMBDA .
                           #13=(#14=(CONDITION) .
                                #15=((RETURN-FROM #11# .
                                      #16=((VALUES NIL CONDITION))))))))))
                    #'(LAMBDA #14# (DECLARE (SYSTEM::SOURCE #13#)) . #15#)))
                (#17=#:G3104
                 #'(LAMBDA NIL (DECLARE (SYSTEM::SOURCE (NIL (PROGN . #4#))))
                    #5#)))
               (LOCALLY #18=(DECLARE (COMPILE))
                (SYSTEM::%HANDLER-BIND #17# 'ERROR
                 #'(LAMBDA #19=(CONDITION)
                    (DECLARE
                     (SYSTEM::SOURCE
                      (#19# .
                       #20=((FUNCALL (FUNCALL #12#) . #21=(CONDITION))))))
                    . #20#)))))
             #6#
             (COND #7#
              (T
               (BLOCK #22=#:IGNORE-ERRORS-3105
                (LET
                 ((#23=#:G3106
                   #'(LAMBDA NIL
                      (DECLARE
                       (SYSTEM::SOURCE
                        (NIL
                         (PROGN
                          #'(LAMBDA .
                             #24=(#14# . #25=((RETURN-FROM #22# . #16#))))))))
                      #'(LAMBDA #14# (DECLARE (SYSTEM::SOURCE #24#)) . #25#)))
                  (#26=#:G3107
                   #'(LAMBDA NIL (DECLARE (SYSTEM::SOURCE (NIL (PROGN . #8#))))
                      #9#)))
                 (LOCALLY #18#
                  (SYSTEM::%HANDLER-BIND #26# 'ERROR
                   #'(LAMBDA #19#
                      (DECLARE
                       (SYSTEM::SOURCE
                        (#19# . #27=((FUNCALL (FUNCALL #23#) . #21#)))))
                      . #27#)))))
               . #10#)))))
      (#28=#:G3101
       #'(LAMBDA NIL
          (DECLARE
           (SYSTEM::SOURCE
            (NIL .
             #29=((PROGN
                   (FUNCALL
                    (OR (ASDF-TEST:ASYM :CALL-WITH-ASDF-CACHE) 'FUNCALL)
                    ASDF-TEST::THUNK)
                   (ASDF-TEST:LEAVE-TEST "Script succeeded" 0))))))
          . #29#)))
     (LOCALLY #18#
      (SYSTEM::%HANDLER-BIND #28# 'ERROR
       #'(LAMBDA #19#
          (DECLARE
           (SYSTEM::SOURCE (#19# . #30=((FUNCALL (FUNCALL #1#) . #21#)))))
          . #30#)))))))
 (WHEN ASDF-TEST::*QUIT-WHEN-DONE* (ASDF-TEST:EXIT-LISP ASDF-TEST::RESULT)))
<52/122> #<SPECIAL-OPERATOR PROGN>
[121] EVAL frame for form
(PROGN (ASDF-TEST::REDIRECT-OUTPUTS)
 (LET
  ((ASDF-TEST::RESULT
    (CATCH :ASDF-TEST-DONE
     (LET
      ((#1=#:G3100
        #'(LAMBDA NIL
           (DECLARE
            (SYSTEM::SOURCE
             (NIL
              (PROGN
               (LAMBDA .
                #2=(#3=(ASDF-TEST::C)
                    (IGNORE-ERRORS .
                     #4=(#5=(FORMAT *ERROR-OUTPUT* "~&TEST ABORTED: ~A~&"
                             ASDF-TEST::C)))
                    #6=(ASDF-TEST::FINISH-OUTPUTS*)
                    (COND
                     #7=(ASDF-TEST::*DEBUG-ASDF*
                         (FORMAT T "~&It's your baby, fix it!~%") (BREAK))
                     (T
                      (IGNORE-ERRORS .
                       #8=(#9=(ASDF-TEST:ACALL :PRINT-CONDITION-BACKTRACE
                               ASDF-TEST::C :COUNT 69 :STREAM *ERROR-OUTPUT*)))
                      . #10=((ASDF-TEST:LEAVE-TEST "Script failed" 1))))))))))
           #'(LAMBDA #3# (DECLARE (SYSTEM::SOURCE #2#))
              (BLOCK #11=#:IGNORE-ERRORS-3102
               (LET
                ((#12=#:G3103
                  #'(LAMBDA NIL
                     (DECLARE
                      (SYSTEM::SOURCE
                       (NIL
                        (PROGN
                         #'(LAMBDA .
                            #13=(#14=(CONDITION) .
                                 #15=((RETURN-FROM #11# .
                                       #16=((VALUES NIL CONDITION))))))))))
                     #'(LAMBDA #14# (DECLARE (SYSTEM::SOURCE #13#)) . #15#)))
                 (#17=#:G3104
                  #'(LAMBDA NIL (DECLARE (SYSTEM::SOURCE (NIL (PROGN . #4#))))
                     #5#)))
                (LOCALLY #18=(DECLARE (COMPILE))
                 (SYSTEM::%HANDLER-BIND #17# 'ERROR
                  #'(LAMBDA #19=(CONDITION)
                     (DECLARE
                      (SYSTEM::SOURCE
                       (#19# .
                        #20=((FUNCALL (FUNCALL #12#) . #21=(CONDITION))))))
                     . #20#)))))
              #6#
              (COND #7#
               (T
                (BLOCK #22=#:IGNORE-ERRORS-3105
                 (LET
                  ((#23=#:G3106
                    #'(LAMBDA NIL
                       (DECLARE
                        (SYSTEM::SOURCE
                         (NIL
                          (PROGN
                           #'(LAMBDA .
                              #24=(#14# . #25=((RETURN-FROM #22# . #16#))))))))
                       #'(LAMBDA #14# (DECLARE (SYSTEM::SOURCE #24#)) . #25#)))
                   (#26=#:G3107
                    #'(LAMBDA NIL
                       (DECLARE (SYSTEM::SOURCE (NIL (PROGN . #8#)))) #9#)))
                  (LOCALLY #18#
                   (SYSTEM::%HANDLER-BIND #26# 'ERROR
                    #'(LAMBDA #19#
                       (DECLARE
                        (SYSTEM::SOURCE
                         (#19# . #27=((FUNCALL (FUNCALL #23#) . #21#)))))
                       . #27#)))))
                . #10#)))))
       (#28=#:G3101
        #'(LAMBDA NIL
           (DECLARE
            (SYSTEM::SOURCE
             (NIL .
              #29=((PROGN
                    (FUNCALL
                     (OR (ASDF-TEST:ASYM :CALL-WITH-ASDF-CACHE) 'FUNCALL)
                     ASDF-TEST::THUNK)
                    (ASDF-TEST:LEAVE-TEST "Script succeeded" 0))))))
           . #29#)))
      (LOCALLY #18#
       (SYSTEM::%HANDLER-BIND #28# 'ERROR
        #'(LAMBDA #19#
           (DECLARE
            (SYSTEM::SOURCE (#19# . #30=((FUNCALL (FUNCALL #1#) . #21#)))))
           . #30#)))))))
  (WHEN ASDF-TEST::*QUIT-WHEN-DONE* (ASDF-TEST:EXIT-LISP ASDF-TEST::RESULT))))
[105] APPLY frame for call (ASDF-TEST::CALL-WITH-TEST '
#<FUNCTION :LAMBDA NIL
  (LET ((ASDF-TEST::NAME (STRING ASDF-TEST::FILE)))
   (FORMAT T "Running ~A with ~A~%" ASDF-TEST::NAME
    (ASDF-TEST:ACALL :IMPLEMENTATION-IDENTIFIER))
   (LOAD ASDF-TEST::NAME))>)
<53/101>
#<FUNCTION ASDF-TEST::CALL-WITH-TEST (ASDF-TEST::THUNK)
  "Unless the environment variable DEBUG_ASDF_TEST
is bound, write a message and exit on an error. If
*asdf-test-debug* is true, enter the debugger."
  (DECLARE (SYSTEM::IN-DEFUN ASDF-TEST::CALL-WITH-TEST))
  (BLOCK ASDF-TEST::CALL-WITH-TEST (ASDF-TEST::REDIRECT-OUTPUTS)
   (LET
    ((ASDF-TEST::RESULT
      (CATCH :ASDF-TEST-DONE
       (HANDLER-BIND
        ((ERROR
          (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
             (IGNORE-ERRORS
              (ASDF-TEST:ACALL :PRINT-CONDITION-BACKTRACE ASDF-TEST::C :COUNT
               69 :STREAM *ERROR-OUTPUT*))
             (ASDF-TEST:LEAVE-TEST "Script failed" 1))))))
        (FUNCALL (OR (ASDF-TEST:ASYM :CALL-WITH-ASDF-CACHE) 'FUNCALL)
         ASDF-TEST::THUNK)
        (ASDF-TEST:LEAVE-TEST "Script succeeded" 0)))))
    (WHEN ASDF-TEST::*QUIT-WHEN-DONE*
     (ASDF-TEST:EXIT-LISP ASDF-TEST::RESULT))))> 1
[100] EVAL frame for form
(ASDF-TEST::CALL-WITH-TEST
 #'(LAMBDA NIL
    (DECLARE
     (SYSTEM::SOURCE
      (NIL .
       #1=((LET ((ASDF-TEST::NAME (STRING ASDF-TEST::FILE)))
            (FORMAT T "Running ~A with ~A~%" ASDF-TEST::NAME
             (ASDF-TEST:ACALL :IMPLEMENTATION-IDENTIFIER))
            (LOAD ASDF-TEST::NAME))))))
    . #1#))
[84] APPLY frame for call (ASDF-TEST:RUN-TEST-SCRIPT 'ASDF-TEST::|test-run-program.script|)
<54/80>
#<FUNCTION ASDF-TEST:RUN-TEST-SCRIPT (ASDF-TEST::FILE)
  (DECLARE (SYSTEM::IN-DEFUN ASDF-TEST:RUN-TEST-SCRIPT))
  (BLOCK ASDF-TEST:RUN-TEST-SCRIPT
   (ASDF-TEST:WITH-TEST NIL
    (LET ((ASDF-TEST::NAME (STRING ASDF-TEST::FILE)))
     (FORMAT T "Running ~A with ~A~%" ASDF-TEST::NAME
      (ASDF-TEST:ACALL :IMPLEMENTATION-IDENTIFIER))
     (LOAD ASDF-TEST::NAME))))> 1
[79] EVAL frame for form (ASDF-TEST:RUN-TEST-SCRIPT 'ASDF-TEST::|test-run-program.script|)
Printed 54 frames
Above backtrace due to this condition:
Subprocess with command ("echo" "ok" "1")
 exited with error code 1
Script failed
Using g:/windows/clisp/clisp-2.49/clisp.exe, test-run-program.script failed

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

I suspect that whatever's going on here is also the reason test-sysdef-asdf fails on clisp on Windows, so I'm not ticketing that separately. If I'm wrong, we should open a new ticket:

(SUBPATHNAME *ASDF-DIRECTORY* "asdf.asd") and
 (SYSTEM-SOURCE-FILE (FIND-SYSTEM :ASDF)) both evaluate to same path:
  #P"F:\\asdf\\asdf.asd"
Checking that Makefile and asdf.asd are in synch
Testing that the Makefile and ASDF agree on the order of UIOP files
TEST ABORTED:
Subprocess with command ("make" "-C" "F:\\asdf\\" "--quiet" "--no-print-directory" "driver-files")
 exited with error code 1
<1/855> #<SYSTEM-FUNCTION EXT:SHOW-STACK> 3
<2/848> #<COMPILED-FUNCTION SYSTEM::PRINT-BACKTRACE>
<3/844> #<COMPILED-FUNCTION UIOP/IMAGE:RAW-PRINT-BACKTRACE>
<4/839> #<COMPILED-FUNCTION UIOP/IMAGE::PRINT-BACKTRACE-1-2>
<5/807> #<COMPILED-FUNCTION UIOP/IMAGE::PRINT-BACKTRACE-1>
<6/682> #<COMPILED-FUNCTION UIOP/STREAM:CALL-WITH-SAFE-IO-SYNTAX>
<7/678> #<COMPILED-FUNCTION UIOP/IMAGE:PRINT-BACKTRACE>
<8/673> #<COMPILED-FUNCTION UIOP/IMAGE:PRINT-CONDITION-BACKTRACE>
<9/671> #<SYSTEM-FUNCTION APPLY> 2
[669] EVAL frame for form
(APPLY
 (APPLY 'ASDF-TEST:ASYM
  (IF (CONSP ASDF-TEST::NAME) ASDF-TEST::NAME (LIST ASDF-TEST::NAME)))
 ASDF-TEST::ARGS)
[650] APPLY frame for call (ASDF-TEST:ACALL ':PRINT-CONDITION-BACKTRACE '#<UIOP/RUN-PROGRAM:SUBPROCESS-ERROR #x1A379D49> ':COUNT '69 ':STREAM '#<OUTPUT UNBUFFERED FILE-STREAM CHARACTER>)
<10/641>
#<FUNCTION ASDF-TEST:ACALL (ASDF-TEST::NAME &REST ASDF-TEST::ARGS)
  (DECLARE (SYSTEM::IN-DEFUN ASDF-TEST:ACALL))
  (BLOCK ASDF-TEST:ACALL
   (APPLY
    (APPLY 'ASDF-TEST:ASYM
     (IF (CONSP ASDF-TEST::NAME) ASDF-TEST::NAME (LIST ASDF-TEST::NAME)))
    ASDF-TEST::ARGS))> 6
[640] EVAL frame for form
(ASDF-TEST:ACALL :PRINT-CONDITION-BACKTRACE ASDF-TEST::C :COUNT 69 :STREAM
 *ERROR-OUTPUT*)
[627] APPLY frame for call (:LAMBDA)
<11/624>
#<FUNCTION :LAMBDA NIL
  (PROGN
   (ASDF-TEST:ACALL :PRINT-CONDITION-BACKTRACE ASDF-TEST::C :COUNT 69 :STREAM
    *ERROR-OUTPUT*))> 0
<12/618> #<COMPILED-FUNCTION #:COMPILED-FORM-41>
<13/619> #<SPECIAL-OPERATOR LOCALLY>
[618] EVAL frame for form
(LOCALLY (DECLARE (COMPILE))
 (SYSTEM::%HANDLER-BIND #:G3107 'ERROR
  #'(LAMBDA #1=(CONDITION)
     (DECLARE
      (SYSTEM::SOURCE (#1# . #2=((FUNCALL (FUNCALL #:G3106) CONDITION)))))
     . #2#)))
<14/605> #<SPECIAL-OPERATOR LET>
[603] EVAL frame for form
(LET
 ((#1=#:G3106
   #'(LAMBDA NIL
      (DECLARE
       (SYSTEM::SOURCE
        (NIL
         (PROGN
          #'(LAMBDA .
             #2=(#3=(CONDITION) .
                 #4=((RETURN-FROM #:IGNORE-ERRORS-3105
                      (VALUES NIL CONDITION)))))))))
      #'(LAMBDA #3# (DECLARE (SYSTEM::SOURCE #2#)) . #4#)))
  (#5=#:G3107
   #'(LAMBDA NIL
      (DECLARE
       (SYSTEM::SOURCE
        (NIL
         (PROGN
          #6=(ASDF-TEST:ACALL :PRINT-CONDITION-BACKTRACE ASDF-TEST::C :COUNT 69
              :STREAM *ERROR-OUTPUT*)))))
      #6#)))
 (LOCALLY (DECLARE (COMPILE))
  (SYSTEM::%HANDLER-BIND #5# 'ERROR
   #'(LAMBDA #7=(CONDITION)
      (DECLARE (SYSTEM::SOURCE (#7# . #8=((FUNCALL (FUNCALL #1#) CONDITION)))))
      . #8#))))
<15/595> #<SPECIAL-OPERATOR BLOCK>
[593] EVAL frame for form
(BLOCK #1=#:IG...

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

There was a space missing between redirection and command on Windows, due to my incorrect recent refactoring when allowing for use of cd in run-program to compensate for lack of real chdir on ABCL.

This is hopefully fixed by commit 4516fa25d6c3e21611ab388214dff5a94ce6ef42.

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

I'm afraid that did not fix the problem. :-/

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

:-( Do you have an updated dribble log?

At the CMD.EXE command line, does it work to do redirections before the command? e.g.

> foo.txt echo hello world

?

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

If redirections before the command don't work, an ugly trick would be to prepend them (when not empty) with "cmd /c "...

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

Yes, that works.

Changed in asdf:
status: New → Fix Committed
milestone: none → asdf3.1.5
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.