Hi On Sun, Dec 25, 2016, 13:19 Attila Lendvai <att...@lendvai.name> wrote:
> > Looks like ASDF wants to signal a warning "please only define systems in > .asd file with a corresponding name" and SBCL fails into an index out of > bounds error. > > I'm not sure if it's SBCL or ASDF bug: > > i managed to reproduce this but it's a very annoying bug. > > looks like that it requires both of the following conditions: > > - no quicklisp fasls, so some compilation happens > > - sb-posix and/or sb-bsd-sockets being loaded as a sideffect of the > toplevel form: (load "~/quicklisp/setup.lisp") > > if i load sb-posix and sb-bsd-sockets by themselves, it works and i > get the expected warning from ASDF without any errors. even if i make > sure ASDF is upgraded. > > if it once loads fine, then it'll work until i delete the quicklisp > fasls (thus debugging it in swank is not easily possible because > loading swank while sitting in the error would trigger a recursive > dependency error for sb-posix). > > this is probably an SBCL bug, but i couldn't find a short way to > reproduce it. > > > > this way it fails: > > $ rlwrap sbcl-1.1.10-x86-64-linux/run-sbcl.sh --no-userinit > This is SBCL 1.1.10, an implementation of ANSI Common Lisp. > * (load "~/quicklisp/setup.lisp") > > debugger invoked on a SB-INT:INVALID-ARRAY-INDEX-ERROR in thread > #<THREAD "main thread" RUNNING {1002B23A63}>: Index 22 out of bounds > for (AND (VECTOR T 10) (NOT SIMPLE-ARRAY)), should be nonnegative and > <10. > > Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL. > > restarts (invokable by number or by possibly-abbreviated name): > 0: [RETRY ] Retry EVAL of current toplevel form. > 1: [CONTINUE ] Ignore error and continue loading > file > "/media/store/work/sbcl-1.1.10-x86-64-linux/contrib/sb-posix/sb-posix.asd". > 2: [ABORT ] Abort loading file > "/media/store/work/sbcl-1.1.10-x86-64-linux/contrib/sb-posix/sb-posix.asd". > 3: [RETRY ] Retry compiling #<CL-SOURCE-FILE > "quicklisp" "impl">. > 4: [ACCEPT ] Continue, treating compiling > #<CL-SOURCE-FILE "quicklisp" "impl"> as having been successful. > 5: Retry ASDF operation. > 6: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after > resetting the configuration. > 7: Retry EVAL of current toplevel form. > 8: Ignore error and continue loading > file "/home/alendvai/quicklisp/setup.lisp". > 9: Abort loading file > "/home/alendvai/quicklisp/setup.lisp". > 10: Exit debugger, returning to top level. > > (SB-C::FIND-SOURCE-ROOT 22 #<SB-C::SOURCE-INFO >) > 0] > > > > but when i preemtively require sb-posix and sb-bsd-sockets, then it works: > > > $ rlwrap sbcl-1.1.10-x86-64-linux/run-sbcl.sh --no-userinit > This is SBCL 1.1.10, an implementation of ANSI Common Lisp. > * (require :sb-bsd-sockets) > WARNING: System definition file > > #P"/media/store/work/sbcl-1.1.10-x86-64-linux/contrib/sb-bsd-sockets/sb-bsd-sockets.asd" > contains definition for system "sb-bsd-sockets-tests". Please only > define "sb-bsd-sockets" and secondary systems with a name starting > with "sb-bsd-sockets/" (e.g. "sb-bsd-sockets/test") in that file. > > ("SB-BSD-SOCKETS" "SB-GROVEL" "asdf" "UIOP" "uiop" "ASDF") > * (require :sb-posix) > WARNING: System definition file > > #P"/media/store/work/sbcl-1.1.10-x86-64-linux/contrib/sb-posix/sb-posix.asd" > contains definition for system "sb-posix-tests". Please only define > "sb-posix" and secondary systems with a name starting with "sb-posix/" > (e.g. "sb-posix/test") in that file. > > ("SB-POSIX") > * (load "~/quicklisp/setup.lisp") > > T > > > > after the above, it continues working (no compilation happens): > > $ rlwrap sbcl-1.1.10-x86-64-linux/run-sbcl.sh --no-userinit > This is SBCL 1.1.10, an implementation of ANSI Common Lisp. > * (load "~/quicklisp/setup.lisp") > WARNING: System definition file > > #P"/media/store/work/sbcl-1.1.10-x86-64-linux/contrib/sb-posix/sb-posix.asd" > contains definition for system "sb-posix-tests". Please only define > "sb-posix" and secondary systems with a name starting with "sb-posix/" > (e.g. "sb-posix/test") in that file. > WARNING: System definition file > > #P"/media/store/work/sbcl-1.1.10-x86-64-linux/contrib/sb-bsd-sockets/sb-bsd-sockets.asd" > contains definition for system "sb-bsd-sockets-tests". Please only > define "sb-bsd-sockets" and secondary systems with a name starting > with "sb-bsd-sockets/" (e.g. "sb-bsd-sockets/test") in that file. > > T > * > > > > until i remove the fasl's: > > $ rmfasl quicklisp > > /home/alendvai/.cache/common-lisp/ccl-1.11-f96-linux-x64/home/alendvai/quicklisp > > /home/alendvai/.cache/common-lisp/sbcl-1.1.10-linux-x64/home/alendvai/quicklisp > > /home/alendvai/.cache/common-lisp/sbcl-1.3.12.43.hu.dwim.3-75d5678-dirty-linux-x64/home/alendvai/quicklisp > $ rlwrap sbcl-1.1.10-x86-64-linux/run-sbcl.sh --no-userinit > This is SBCL 1.1.10, an implementation of ANSI Common Lisp. > * (load "~/quicklisp/setup.lisp") > > debugger invoked on a SB-INT:INVALID-ARRAY-INDEX-ERROR in thread > #<THREAD "main thread" RUNNING {1002B23A63}>: Index 22 out of bounds > for (AND (VECTOR T 10) (NOT SIMPLE-ARRAY)), should be nonnegative and > <10. > > Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL. > > restarts (invokable by number or by possibly-abbreviated name): > 0: [RETRY ] Retry EVAL of current toplevel form. > 1: [CONTINUE ] Ignore error and continue loading > file > "/media/store/work/sbcl-1.1.10-x86-64-linux/contrib/sb-posix/sb-posix.asd". > 2: [ABORT ] Abort loading file > "/media/store/work/sbcl-1.1.10-x86-64-linux/contrib/sb-posix/sb-posix.asd". > 3: [RETRY ] Retry compiling #<CL-SOURCE-FILE > "quicklisp" "impl">. > 4: [ACCEPT ] Continue, treating compiling > #<CL-SOURCE-FILE "quicklisp" "impl"> as having been successful. > 5: Retry ASDF operation. > 6: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after > resetting the configuration. > 7: Retry EVAL of current toplevel form. > 8: Ignore error and continue loading > file "/home/alendvai/quicklisp/setup.lisp". > 9: Abort loading file > "/home/alendvai/quicklisp/setup.lisp". > 10: Exit debugger, returning to top level. > > (SB-C::FIND-SOURCE-ROOT 22 #<SB-C::SOURCE-INFO >) > 0] > > hth, > > -- > • attila lendvai > • PGP: 963F 5D5F 45C7 DFCD 0A39 > -- > “All authority of any kind, especially in the field of thought and > understanding, is the most destructive, evil thing. Leaders destroy > the followers and followers destroy the leaders. You have to be your > own teacher and your own disciple. You have to question everything > that man has accepted as valuable, as necessary.” > — Jiddu Krishnamurti (1895–1986), 'Freedom from the Known' >