On 4/11/10 Apr 11 -12:47 PM, Mario S. Mommer wrote:
Hello,
I was wondering - what is the working hypothesis? Is this a bug in the .asd or a bug in the new version of asdf? :-)
I still can't get this to run twice (whether or not with an excess recompile) --- running it twice causes what seems like an unrelated crash.
This is SBCL 1.0.37.57 on linux x86_64. The first load-system completes successfully; the second gives me the following transcript.
I'm more than happy to help debug ASDF issues, but I don't understand the crash I'm getting here, and it doesn't seem to be ASDF-related. I don't understand why SB-ACLREPL is on the stack, either. I made sure that I wasn't loading it, and then just to be doubly-sure, I retried using sbcl --no-userinit, and got a similar (but not identical) crash. So it's not my .sbclrc, and it's not SLIME --- I get this behavior running SBCL from a shell. The error is just different (see further down).
Error transcript using my normal SBCL, at the shell:
CL-USER(5): (asdf:load-system :matlispbug)
; compiling file "/home/rpg/lisp/matlisp/src/f77-mangling.lisp" (written 11 APR 2010 10:30:03 AM): ; compiling (IN-PACKAGE "FORTRAN-FFI-ACCESSORS") ; compiling (DEFCONSTANT +F77-LOWER-CASE+ ...) ; compiling (DEFCONSTANT +F77-UNDERSCORE+ ...) ; compiling (DEFCONSTANT +F77-EXTRA-UNDERSCORE+ ...) ; compiling (DEFUN %CAT% ...) ; compiling (DEFUN SCAT ...) ; compiling (DEFUN MAKE-FORTRAN-FFI-NAME ...) ; compiling (DEFUN MAKE-FORTRAN-NAME ...) ; file: /home/rpg/lisp/matlisp/src/f77-mangling.lisp ; in: DEFUN MAKE-FORTRAN-NAME ; (IF FORTRAN-FFI-ACCESSORS::+F77-UNDERSCORE+ ; "_" ; "") ; ==> ; "_" ; ; note: deleting unreachable code
; (AND FORTRAN-FFI-ACCESSORS::+F77-EXTRA-UNDERSCORE+ ; FORTRAN-FFI-ACCESSORS::INTERNAL-UNDERSCORE-P) ; --> IF AND THE ; ==> ; FORTRAN-FFI-ACCESSORS::INTERNAL-UNDERSCORE-P ; ; note: deleting unreachable code
; (IF (AND FORTRAN-FFI-ACCESSORS::+F77-EXTRA-UNDERSCORE+ ; FORTRAN-FFI-ACCESSORS::INTERNAL-UNDERSCORE-P) ; "_" ; "") ; ==> ; "_" ; ; note: deleting unreachable code
; (IF FORTRAN-FFI-ACCESSORS::+F77-LOWER-CASE+ ; (STRING-DOWNCASE FORTRAN-FFI-ACCESSORS::NAME) ; FORTRAN-FFI-ACCESSORS::NAME) ; ==> ; FORTRAN-FFI-ACCESSORS::NAME ; ; note: deleting unreachable code
; /home/rpg/.cache/common-lisp/sbcl-1.0.37.57-linux-x86-64/home/rpg/lisp/matlisp/src/f77-mangling.fasl written ; compilation finished in 0:00:00.015 ; compiling file "/home/rpg/lisp/matlisp/src/ffi-sbcl.lisp" (written 18 MAR 2010 05:21:59 PM): ; compiling (IN-PACKAGE "FORTRAN-FFI-ACCESSORS") ; compiling (DEFUN PARSE-DOC-&-PARAMETERS ...) ; compiling (DEFUN CAST-AS-ARRAY-P ...) ; compiling (DEFUN GET-READ-IN-TYPE ...) ; compiling (DEFUN GET-READ-OUT-TYPE ...) ; compiling (DEFUN GET-READ-IN-STYLE ...) ; compiling (DEFUN GET-READ-OUT-STYLE ...) ; compiling (DEFUN PARSE-FORTRAN-PARAMETERS ...) ; compiling (DEFUN DEF-FORTRAN-INTERFACE ...) ; compiling (DEFMACRO DEF-FORTRAN-ROUTINE ...) ; compiling (DEFMACRO INCF-SAP ...) ; compiling (DEFTYPE MATLISP-SPECIALIZED-ARRAY ...) ; compiling (DECLAIM (INLINE VECTOR-DATA-ADDRESS)) ; compiling (DEFUN VECTOR-DATA-ADDRESS ...) ; compiling (DEFMACRO WITH-FORTRAN-FLOAT-MODES ...) ; compiling (DEFMACRO WITH-VECTOR-DATA-ADDRESSES ...) ; compiling (DEFMACRO WITH-GENSYMS ...)
; /home/rpg/.cache/common-lisp/sbcl-1.0.37.57-linux-x86-64/home/rpg/lisp/matlisp/src/ffi-sbcl.fasl written ; compilation finished in 0:00:00.104 ; ; compilation unit finished ; printed 4 notes #<ASDF:LOAD-OP NIL {1003BE9C31}> CL-USER(5): debugger invoked on a SB-INT:SIMPLE-STREAM-ERROR in thread #<THREAD "initial thread" RUNNING {1002AB6031}>: couldn't check whether #<SB-SYS:FD-STREAM for "standard input" {1002AB65F1}> is readable: Bad file descriptor
Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name): 0: [ABORT] Exit debugger, returning to top level.
(SB-IMPL::SIMPLE-STREAM-PERROR "couldn't check whether ~S is readable" #<SB-SYS:FD-STREAM for "standard input" {1002AB65F1}> 9) 0] backtrace
0: (SB-IMPL::SIMPLE-STREAM-PERROR "couldn't check whether ~S is readable" #<SB-SYS:FD-STREAM for "standard input" {1002AB65F1}> 9) 1: (SB-IMPL::SYSREAD-MAY-BLOCK-P #<SB-SYS:FD-STREAM for "standard input" {1002AB65F1}>) 2: (SB-IMPL::REFILL-INPUT-BUFFER #<SB-SYS:FD-STREAM for "standard input" {1002AB65F1}>) 3: (SB-IMPL::INPUT-CHAR/UTF-8 #<SB-SYS:FD-STREAM for "standard input" {1002AB65F1}> NIL :EOF) 4: ((LAMBDA (&REST REST)) #<SB-SYS:FD-STREAM for "standard input" {1002AB65F1}> NIL :EOF) 5: ((LAMBDA (&REST REST)) #<SB-SYS:FD-STREAM for "standard input" {1002AB65F1}> NIL :EOF)[:OPTIONAL] 6: (READ-CHAR #<SB-SYS:FD-STREAM for "standard input" {1002AB65F1}> NIL :EOF #<unused argument>) 7: (PEEK-CHAR NIL #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {100019E381}> NIL :EOF #<unused argument>) 8: (SB-ACLREPL::PEEK-CHAR-NON-WHITESPACE #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {100019E381}>) 9: (SB-ACLREPL::READ-CMD #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {100019E381}>) 10: (SB-ACLREPL::REPL-READ-FORM-FUN #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {100019E381}> #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDOUT* {10001DAAB1}>) 11: (SB-ACLREPL::REP-ONE) 12: (SB-ACLREPL::REPL)[:EXTERNAL] 13: ((LAMBDA (SB-ACLREPL::NOPRINT)) NIL) 14: ((LAMBDA ())) 15: (SB-IMPL::%WITH-REBOUND-IO-SYNTAX #<CLOSURE (LAMBDA #) {1002BA7679}>) 16: (SB-IMPL::TOPLEVEL-REPL NIL) 17: (SB-IMPL::TOPLEVEL-INIT) 18: ((LABELS SB-IMPL::RESTART-LISP))
0]
The first load-system gave me this:
CL-USER(4): (asdf:load-system :matlispbug)
; loading system definition from /home/rpg/lisp/matlisp/matlispbug.asd into ; #<PACKAGE "ASDF0"> ; registering #<SYSTEM :MATLISPBUG {1003A24391}> as MATLISPBUG WARNING: Redefining DEFTYPE type to be a class: REAL
; compiling file "/home/rpg/lisp/matlisp/src/f77-mangling.lisp" (written 11 APR 2010 10:30:03 AM): ; compiling (IN-PACKAGE "FORTRAN-FFI-ACCESSORS") ; compiling (DEFCONSTANT +F77-LOWER-CASE+ ...) ; compiling (DEFCONSTANT +F77-UNDERSCORE+ ...) ; compiling (DEFCONSTANT +F77-EXTRA-UNDERSCORE+ ...) ; compiling (DEFUN %CAT% ...) ; compiling (DEFUN SCAT ...) ; compiling (DEFUN MAKE-FORTRAN-FFI-NAME ...) ; compiling (DEFUN MAKE-FORTRAN-NAME ...) ; file: /home/rpg/lisp/matlisp/src/f77-mangling.lisp ; in: DEFUN MAKE-FORTRAN-NAME ; (IF FORTRAN-FFI-ACCESSORS::+F77-UNDERSCORE+ ; "_" ; "") ; ==> ; "_" ; ; note: deleting unreachable code
; (AND FORTRAN-FFI-ACCESSORS::+F77-EXTRA-UNDERSCORE+ ; FORTRAN-FFI-ACCESSORS::INTERNAL-UNDERSCORE-P) ; --> IF AND THE ; ==> ; FORTRAN-FFI-ACCESSORS::INTERNAL-UNDERSCORE-P ; ; note: deleting unreachable code
; (IF (AND FORTRAN-FFI-ACCESSORS::+F77-EXTRA-UNDERSCORE+ ; FORTRAN-FFI-ACCESSORS::INTERNAL-UNDERSCORE-P) ; "_" ; "") ; ==> ; "_" ; ; note: deleting unreachable code
; (IF FORTRAN-FFI-ACCESSORS::+F77-LOWER-CASE+ ; (STRING-DOWNCASE FORTRAN-FFI-ACCESSORS::NAME) ; FORTRAN-FFI-ACCESSORS::NAME) ; ==> ; FORTRAN-FFI-ACCESSORS::NAME ; ; note: deleting unreachable code
; /home/rpg/.cache/common-lisp/sbcl-1.0.37.57-linux-x86-64/home/rpg/lisp/matlisp/src/f77-mangling.fasl written ; compilation finished in 0:00:00.015 ; compiling file "/home/rpg/lisp/matlisp/src/ffi-sbcl.lisp" (written 18 MAR 2010 05:21:59 PM): ; compiling (IN-PACKAGE "FORTRAN-FFI-ACCESSORS") ; compiling (DEFUN PARSE-DOC-&-PARAMETERS ...) ; compiling (DEFUN CAST-AS-ARRAY-P ...) ; compiling (DEFUN GET-READ-IN-TYPE ...) ; compiling (DEFUN GET-READ-OUT-TYPE ...) ; compiling (DEFUN GET-READ-IN-STYLE ...) ; compiling (DEFUN GET-READ-OUT-STYLE ...) ; compiling (DEFUN PARSE-FORTRAN-PARAMETERS ...) ; compiling (DEFUN DEF-FORTRAN-INTERFACE ...) ; compiling (DEFMACRO DEF-FORTRAN-ROUTINE ...) ; compiling (DEFMACRO INCF-SAP ...) ; compiling (DEFTYPE MATLISP-SPECIALIZED-ARRAY ...) ; compiling (DECLAIM (INLINE VECTOR-DATA-ADDRESS)) ; compiling (DEFUN VECTOR-DATA-ADDRESS ...) ; compiling (DEFMACRO WITH-FORTRAN-FLOAT-MODES ...) ; compiling (DEFMACRO WITH-VECTOR-DATA-ADDRESSES ...) ; compiling (DEFMACRO WITH-GENSYMS ...)
; /home/rpg/.cache/common-lisp/sbcl-1.0.37.57-linux-x86-64/home/rpg/lisp/matlisp/src/ffi-sbcl.fasl written ; compilation finished in 0:00:00.118 ; ; compilation unit finished ; printed 4 notes #<ASDF:LOAD-OP NIL {10035B43B1}>
Error transcript using --no-userinit: * debugger invoked on a SB-INT:SIMPLE-STREAM-ERROR in thread #<THREAD "initial thread" RUNNING {1002AB6101}>: couldn't check whether #<SB-SYS:FD-STREAM for "standard input" {1002AB66C1}> is readable: Bad file descriptor
Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name): 0: [ABORT] Exit debugger, returning to top level.
(SB-IMPL::SIMPLE-STREAM-PERROR "couldn't check whether ~S is readable" #<SB-SYS:FD-STREAM for "standard input" {1002AB66C1}> 9) 0] backtrace
0: (SB-IMPL::SIMPLE-STREAM-PERROR "couldn't check whether ~S is readable" #<SB-SYS:FD-STREAM for "standard input" {1002AB66C1}> 9) 1: (SB-IMPL::SYSREAD-MAY-BLOCK-P #<SB-SYS:FD-STREAM for "standard input" {1002AB66C1}>) 2: (SB-IMPL::REFILL-INPUT-BUFFER #<SB-SYS:FD-STREAM for "standard input" {1002AB66C1}>) 3: (SB-IMPL::INPUT-CHAR/UTF-8 #<SB-SYS:FD-STREAM for "standard input" {1002AB66C1}> NIL #:EOF-OBJECT) 4: ((LAMBDA (&REST REST)) #<SB-SYS:FD-STREAM for "standard input" {1002AB66C1}> NIL #:EOF-OBJECT) 5: ((LAMBDA (&REST REST)) #<SB-SYS:FD-STREAM for "standard input" {1002AB66C1}> NIL #:EOF-OBJECT)[:OPTIONAL] 6: (READ-CHAR #<SB-SYS:FD-STREAM for "standard input" {1002AB66C1}> NIL #:EOF-OBJECT #<unused argument>) 7: (READ-CHAR #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {100019E381}> NIL #:EOF-OBJECT #<unused argument>) 8: (SB-IMPL::%READ-PRESERVING-WHITESPACE #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {100019E381}> NIL (NIL) T) 9: (SB-IMPL::%READ-PRESERVING-WHITESPACE #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {100019E381}> NIL (NIL) NIL) 10: (READ #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {100019E381}> NIL (NIL) NIL) 11: (SB-IMPL::REPL-READ-FORM-FUN #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {100019E381}> #<unavailable argument>) 12: (SB-IMPL::REPL-FUN NIL) 13: ((LAMBDA ())) 14: (SB-IMPL::%WITH-REBOUND-IO-SYNTAX #<CLOSURE (LAMBDA #) {1002AB99F9}>) 15: (SB-IMPL::TOPLEVEL-REPL NIL) 16: (SB-IMPL::TOPLEVEL-INIT) 17: ((LABELS SB-IMPL::RESTART-LISP))
0]
Best, r