Hi,
The error with the fd-stream is ignorable. In slime just let the buffer with C-x 1 while in the repl, and that's it. As far as I know, that is a gfortran bug that is not there in the next version. If you bury the buffer with that error you can continue to work without trouble. Strange, but true. I've been doing that for about a year :-)
If that does not work, I'll attempt to do a lisp-only or some other non-fd-crashing thing.
(re aclrepl: maybe you built sbcl with sb-aclrepl?)
Regards, and thanks,
Mario.
Robert Goldman rpgoldman@sift.info writes:
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