UNC path issues with PROBE-FILE & ENSURE-DIRECTORIES-EXIST
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Confirmed
|
Medium
|
Unassigned |
Bug Description
I try to load a system located on a Windows server using a UNC path. I have write permissions to the resource, and it works if I used a mapped drive instead.
Here's an example:
> sbcl.exe --no-sysinit --no-userinit
This is SBCL 1.0.33.2, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://
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 "//server/share/" asdf:*central-
("//server/share/" (MERGE-PATHNAMES ".sbcl/systems/" (USER-HOMEDIR-
(LET ((ASDF::HOME (POSIX-GETENV "SBCL_HOME")))
(WHEN (AND ASDF::HOME (NOT (STRING= ASDF::HOME "")))
(MERGE-
*DEFAULT-
* (require :test)
debugger invoked on a SIMPLE-ERROR:
Win32 Error [CreateDirector
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-
0: [TRY-RECOMPILING] Try recompiling test
1: [RETRY ] Retry performing #<ASDF:COMPILE-OP NIL {241C4801}> on
2: [ACCEPT ] Continue, treating #<ASDF:COMPILE-OP NIL {241C4801}> on
3: [ABORT ] Exit debugger, returning to top level.
(SB-UNIX:UNIX-MKDIR "\\\\server\\" #<unavailable argument>)
0]
test.asd:
(asdf:defsystem :test
:version "0"
:description ""
:maintainer " <user@domain>"
:author " <user@domain>"
:licence ""
:components ((:file "test"))
;; :long-description ""
)
test.lisp:
(cl:in-package :cl-user)
(defun foo () 'bar)
tag os-win32
Can you provide a deeper backtrace? I'm guessing the issue is someone calling ENSURE- DIRECTORIES- EXIST and it failing to do the right thing.