[Asdf-devel] ASDF test failure on MKCL linux

Robert P. Goldman rpgoldman at sift.info
Mon Nov 3 21:16:56 UTC 2014


Jean-Claude Beaudoin wrote:
> 
> On Sun, Oct 5, 2014 at 11:03 PM, Faré <fahree at gmail.com
> <mailto:fahree at gmail.com>> wrote:
> 
>     test-try-refinding.script is a relatively new test (introduced shortly
>     before the 3.1.3 release), so its failure might not be a regression in
>     ASDF if none of us tested 3.1.3 with MKCL (did we?). Now, infinite
>     looping is certainly a bad failure mode in the test. This looks like a
>     MKCL-specific bug, though:
> 
> 
> 
> It was a bug in MKCL alright! I managed to goof on the order of restarts
> returned by cl:compute-restarts in a change I did for 1.1.9. A nasty
> regression you would say. I think it is fixed now (in git repo master head).
> 
> With this fix I get test-try-refinding.script to run OK and got bold enough
> to try a run at a 'make t l=mkcl' and it said:
> 
> -#---------------------------------------
> Using
> /home/jean-claude/CL/MKCL/dev/releases/mkcl-1.1/git/mkcl.git/src/bin/mkcl
> Ran 55 tests:
>   55 passing and 0 failing
> all tests apparently successful
> -#---------------------------------------
> 

This morning I pulled an update from the mkcl git repo, rebuilt on my
Linux Mint machine, and retested with the latest ASDF.  All the tests
that completed seemed to complete successfully, but test-program.script
hung, instead of completing.

Seems to fail in the PROGRAM-OP:

test program-op
- first, create the standalone program
1> (RUN-PROGRAM ("mkcl" "-norc" "-load"
                 "/home/rpg/common-lisp/asdf/test/make-hello-world.lisp"
                 "-eval" "(asdf-test::make-hello-PROGRAM)") :INPUT NIL
:IGNORE-ERROR-STATUS T :OUTP\
UT (#<output stream "stdout">

                           \
    :LINEWISE

                           \
    T

                           \
    :PREFIX

                           \
    "stdout: ") :ERROR-OUTPUT (#<output stream "stdout">

                           \
                               :LINEWISE

                           \
                               T

                           \
                               :PREFIX

                           \
                               "stderr: "))
stdout: ;;; Loading "/home/rpg/common-lisp/asdf/test/make-hello-world.lisp"
stdout: ;;; Loading "/home/rpg/common-lisp/asdf/build/fasls/mkcl/asdf.fas"
stdout: Configuring ASDF
stdout: Enabling debugging
stdout: Being a bit verbose
stdout: Comparing directories
stdout: ASDF-TEST:*TEST-DIRECTORY* and
stdout:  (:PATHNAME-DIRECTORY-PATHNAME (NTH-VALUE 2 (:LOCATE-SYSTEM
:TEST-ASDF))) both evaluate to \
same path:
stdout:   #P"/home/rpg/common-lisp/asdf/test/"
stdout: Frob packages
stdout: This is make-hello-world, testing its standard-output.
stdout: This is make-hello-world, testing its error-output.
stdout: This is make-hello-world, testing its stdout.
stdout: This is make-hello-world, testing its stderr.
stdout: ;;; Loading
"/home/rpg/common-lisp/asdf/test/hello-world-example.asd"
stdout: ;;; Loading "/home/rpg/common-lisp/asdf/uiop/uiop.asd"
stdout: ;;; Loading
"/home/rpg/common-lisp/asdf/build/fasls/mkcl-1.1.10-linux-x64/asdf/uiop/uiop.fa\
sb"
stdout: ;;; Loading
"/home/rpg/common-lisp/asdf/build/fasls/mkcl-1.1.10-linux-x64/asdf/test/hello-w\
orld-example.fasb"
stdout:
stdout: This is ManKai Common Lisp 1.1.10
stdout:
stdout: Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya
stdout: Copyright (C) 1993 Giuseppe Attardi
stdout: Copyright (C) 2000 Juan J. Garcia-Ripoll
stdout: Copyright (C) 2010-2014 Jean-Claude Beaudoin
stdout:
stdout: ManKai Common Lisp (MKCL) is free software,
stdout: and you are welcome to redistribute and/or
stdout: modify it under the terms of the GNU LGPL.
stdout: See file 'Copyright' in the source code for details.
stdout:
stdout: Type :h for Help.
stdout: Top level in: #<thread "Initial" active (12762) 0x2b388c6abb00
1d34000>.
stdout: >
<1 (RUN-PROGRAM NIL NIL 0)
- use that
1> (RUN-PROGRAM
("/home/rpg/common-lisp/asdf/build/fasls/mkcl-1.1.10-linux-x64/asdf/test/hello-worl\
d-example") :OUTPUT :LINES :ERROR-OUTPUT T)

The block of the test that fails is "test program-op", "test image-op"
seems to complete successfully.

This seems odd to me, since the result of the image test is a standalone
program: it doesn't need to be loaded into mkcl:

$ ../build/fasls/mkcl-1.1.10-linux-x64/asdf/test/hello-world-exa\
mple--all-systems.image -norc -eval "(uiop:restore-image :entry-point
'hello:entry-point :lisp-inte\
raction nil)" -- a b c d
hello, world
You passed 4 arguments:
  "a"
  "b"
  "c"
  "d"

So seems like the program-op should be able to do exactly what the
image-op does, and work correctly.

thanks,
r







More information about the asdf-devel mailing list