I was able to reproduce this bug, and obtained a backtrace and a description of the pathname object in question. Digging further, I see that ensure-directories-exist ignores the result of mkdir for some reason, but that's not the real issue... There's something weird with PROBE-FILE and UNC-filespec directories. My session transcript follows: Z:\sbcl-git-two>src\runtime\sbcl.exe --core output\sbcl.core This is SBCL 1.0.32.38, an implementation of ANSI Common Lisp. More information about SBCL is available at . SBCL is free software, provided as is, with absolutely no warranty. It is mostly in the public domain; some portions are provided under BSD-style licenses. See the CREDITS and COPYING files in the distribution for more information. This is experimental prerelease support for the Windows platform: use at your own risk. "Your Kitten of Death awaits!" * (require :asdf) ("ASDF") * (push "//vboxsvr//virtualbox-host/lisp-winapi/" asdf:*central-registry*) ("//vboxsvr//virtualbox-host/lisp-winapi/" (MERGE-PATHNAMES ".sbcl/systems/" (USER-HOMEDIR-PATHNAME)) (LET ((ASDF::HOME (POSIX-GETENV "SBCL_HOME"))) (WHEN (AND ASDF::HOME (NOT (STRING= ASDF::HOME ""))) (MERGE-PATHNAMES "site-systems/" (TRUENAME ASDF::HOME)))) *DEFAULT-PATHNAME-DEFAULTS*) * (require :lisp-winapi) debugger invoked on a SIMPLE-ERROR: Win32 Error [CreateDirectoryW@8] - 123 The filename, directory name, or volume label syntax is incorrect. Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL. restarts (invokable by number or by possibly-abbreviated name): 0: [TRY-RECOMPILING] Try recompiling winapi-package 1: [RETRY ] Retry performing # on #. 2: [ACCEPT ] Continue, treating # on # as having been successful. 3: [ABORT ] Exit debugger, returning to top level. (SB-UNIX:UNIX-MKDIR "\\\\vboxsvr\\" #) 0] back 0: (SB-UNIX:UNIX-MKDIR "\\\\vboxsvr\\" #) 1: (ENSURE-DIRECTORIES-EXIST #P"\\\\vboxsvr\\virtualbox-host\\lisp-winapi\\winapi-package.fasl")[:EXTERNAL] 2: (SB-IMPL::%MAP-FOR-EFFECT-ARITY-1 # (#P"\\\\vboxsvr\\virtualbox-host\\lisp-winapi\\winapi-package.fasl")) 3: ((SB-PCL::FAST-METHOD ASDF:PERFORM :BEFORE (ASDF:COMPILE-OP ASDF:SOURCE-FILE)) # # # #) 4: ((LAMBDA (SB-PCL::.PV. SB-PCL::.NEXT-METHOD-CALL. SB-PCL::.ARG0. SB-PCL::.ARG1.)) # # # #) 5: ((SB-PCL::FAST-METHOD ASDF:PERFORM ASDF:AROUND (ASDF:COMPILE-OP ASDF:CL-SOURCE-FILE)) # #S(SB-PCL::FAST-METHOD-CALL :FUNCTION # :PV NIL :NEXT-METHOD-CALL NIL :ARG-INFO (2)) # #) 6: ((LAMBDA ())) 7: ((FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK)) 8: (SB-C::%WITH-COMPILATION-UNIT #)[:EXTERNAL] 9: (ASDF:OPERATE ASDF:LOAD-OP :LISP-WINAPI)[:EXTERNAL] 10: (ASDF::MODULE-PROVIDE-ASDF :LISP-WINAPI) 11: ((LAMBDA (#:G[REQUIRE]13)) ASDF::MODULE-PROVIDE-ASDF) 12: (SB-IMPL::%MAP-FOR-EFFECT-ARITY-1 # (ASDF::MODULE-PROVIDE-ASDF SB-IMPL::MODULE-PROVIDE-CONTRIB)) 13: (REQUIRE :LISP-WINAPI NIL) 14: (SB-INT:SIMPLE-EVAL-IN-LEXENV (REQUIRE :LISP-WINAPI) #) 15: (INTERACTIVE-EVAL (REQUIRE :LISP-WINAPI))[:EXTERNAL] 16: (SB-IMPL::REPL-FUN NIL) 17: ((LAMBDA ())) 18: (SB-IMPL::%WITH-REBOUND-IO-SYNTAX #) 19: (SB-IMPL::TOPLEVEL-REPL NIL) 20: (SB-IMPL::TOPLEVEL-INIT) 21: ((LABELS SB-IMPL::RESTART-LISP)) 22: ("foreign function: #x412404") 23: ("foreign function: #x40B28F") 0] frame 1 (ENSURE-DIRECTORIES-EXIST #P"\\\\vboxsvr\\virtualbox-host\\lisp-winapi\\winapi-package.fasl")[:EXTERNAL] 1] l SB-DEBUG::ARG-0 = 1 SB-DEBUG::ARG-1 = #P"\\\\vboxsvr\\virtualbox-host\\lisp-winapi\\winapi-package.fasl" 1] (describe sb-debug::arg-1) #P"\\\\vboxsvr\\virtualbox-host\\lisp-winapi\\winapi-package.fasl" [structure-object] Slots with :INSTANCE allocation: HOST = # DEVICE = "vboxsvr" DIRECTORY = (:ABSOLUTE "virtualbox-host" "lisp-winapi") NAME = "winapi-package" TYPE = "fasl" VERSION = :NEWEST 1] (describe #p"\\\\vboxsvr\\") #P"\\\\vboxsvr\\" [structure-object] Slots with :INSTANCE allocation: HOST = # DEVICE = "vboxsvr" DIRECTORY = (:ABSOLUTE) NAME = NIL TYPE = NIL VERSION = NIL 1] (probe-file #p"\\\\vboxsvr\\") NIL 1] (probe-file #p"\\\\vboxsvr\\virtualbox-host\\") NIL 1] (describe #p"\\\\vboxsvr\\virtualbox-host\\") #P"\\\\vboxsvr\\virtualbox-host\\" [structure-object] Slots with :INSTANCE allocation: HOST = # DEVICE = "vboxsvr" DIRECTORY = (:ABSOLUTE "virtualbox-host") NAME = NIL TYPE = NIL VERSION = NIL 1] (probe-file #p"\\\\vboxsvr\\virtualbox-host\\lisp-winapi\\") #P"\\\\vboxsvr\\virtualbox-host\\lisp-winapi\\" 1] (describe #p"\\") #P"\\" [structure-object] Slots with :INSTANCE allocation: HOST = # DEVICE = NIL DIRECTORY = (:ABSOLUTE) NAME = NIL TYPE = NIL VERSION = NIL 1] (probe-file #p"\\") #P"Z:\\" 1] (probe-file *) #P"Z:\\" 1] (describe *) #P"Z:\\" [structure-object] Slots with :INSTANCE allocation: HOST = # DEVICE = "Z" DIRECTORY = (:ABSOLUTE) NAME = NIL TYPE = NIL VERSION = NIL 1] (quit) ; ; compilation unit aborted ; caught 1 fatal ERROR condition Z:\sbcl-git-two>net use New connections will be remembered. Status Local Remote Network ------------------------------------------------------------------------------- Z: \\VBOXSVR\virtualbox-host VirtualBox Shared Folders The command completed successfully. Z:\sbcl-git-two>