-
Notifications
You must be signed in to change notification settings - Fork 29.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Space in network share name(UNC path) causes unknown error #5160
Comments
@orangemocha ... any ideas? |
I tried locally on a Windows 2008 R2 machine with a share from the same, and I can't reproduce the issue with Node v5.5.0 nor with the current master. @MadLittleMods could you try a similar test? I suspect this might be specific to networks shares from OSX machines. |
@orangemocha theory of OSX shares not playing nice with Windows seems plausible given the results below. Local file shares (same machine) on Windows 10 with
Accessing those Windows 10 machine shares on another Windows 8.1 with
Accessing Windows 8.1 machine shares on Windows 10 machine with
|
Indeed it sounds plausible. Thanks for verifying, @MadLittleMods ! I don't have an OSX machine with me so I can't test this. I'll add it to our queue of things to investigate. If someone else wants to dive a bit deeper, I would suggest setting a breakpoint and stepping in through the stat implementation in libuv ( Lines 1160 to 1199 in 2c67289
|
+1 |
I am able to reproduce the error. But interestingly, the error does not occur for any normal shared folder, whether or not it has a space in the name. The only way I can reproduce the error is with a Macintosh HD share. There must be something different about how the Macintosh HD is shared over SMB. I'll try to debug as @orangemocha suggested above. |
Submitted PR libuv/libuv#996 |
The libuv PR landed. I'm reopening the issue until we upgrade the bundled libuv. |
Curious how you track when the libuv dependency gets upgraded and bundled in order to know when this issue should be closed? Does this issue need the |
It's an artisanal process :-) Basically, when we get an issue or PR in libuv which comes from Node, we reference it in the commit message. Then, when the upgrade PR is made to Node we just It's a bit unfortunate that GitHub closes issues cross-repo if you have commit access to both, so we have to remember to re-open issues. Or we could switch to
Yeah, added it! |
Fixes: libuv#995 Fixes: nodejs/node#5160 PR-URL: libuv#996 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
Just a friendly check-in. Does the bundle have an upgraded libuv now? |
libuv was updated to 1.10.0 a few days ago. It's available on the master branch, but hasn't gone out in a release yet. |
This is outdated and can be closed. |
@jasongin, I encountered a similar issue with Node.js and hierarchical storage management software - Because my fix touches this same libuv code, I attempted to reproduce this issue to confirm that the workaround is not affected, but I cannot make First, I adapted a libuv test in I also tried testing the same version of Node.js reported in this issue using My PC is running Windows 10 build 15063.540 and the MacBook Pro is running macOS Sierra 10.12.3. Are you still able to reproduce the issue on recent Windows builds, and if so do you have any suggestions as to what step I might be missing? Thanks! |
A network-share/UNC path with a space in the name throws
Error: UNKNOWN: unknown error, lstat [...]
when trying to run a node scriptnode "\\ERIC-MACBOOK\Macintosh HD\foo.js"
.I ran into this situation after setting up file sharing on OSX and trying to run commands on the
Macintosh HD
share.Using a network share that doesn't have a space in the name works just fine; Tested with share that points to user directory on the OSX machine and a separate NAS. It doesn't seem to matter if there are spaces in the rest of the path, just the share name.
Summary
node "\\ERIC-MACBOOK\Macintosh HD\foo.js"
: ThrowsError: UNKNOWN: unknown error, lstat [...]
node "\\ERIC-MACBOOK\eric\foo.js"
: Works normallynode "\\some-nas\mlm\foo.js"
: Works normallyTerminal/CLI output
Running on Windows 10.
On Windows, the
pushd
command will map a UNC path to a temporary drive letter. Just wanted to see if it made a difference because it eliminates the space in the path used. But is probably just a pointer to the UNC path with space anyway and why it causes similar errors.\\ERIC-MACBOOK\Macintosh HD\
\\ERIC-MACBOOK\eric\
Related issues:
The text was updated successfully, but these errors were encountered: