-
Notifications
You must be signed in to change notification settings - Fork 28.5k
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
NPM hangs on system, under FreeBSD 11.0 and OSX 10.11 with Node 6.5+ #8635
Comments
Some more details from --verbose (case when used npm bundled with Node 6.6.0):
.. so it looks like ipv6 issue again.. but I tried:
but result looks the same -
This also confirms that exactly same issue had place under FreeBSD / HardenedBSD x86_64 with whole line of Node 6.4+ (at least) |
Does that mean that this only occurs for you with Node v6.5+? Does |
Also, what does “hanging” mean? 100 % CPU? Does it abort properly when using Ctrl+C? |
hang means.. it never ends. .. and tried with update of several versions of npm. Same issue
No, hang - deadlock. No CPU usage. Haven't dtrace it yet. Yes it just interrupts properly on both SIGINT/TERM |
It means - It affected previous 6.x versions I tried. On both systems where I enabled ipv6 via broker. |
@addaleax How to set family to 4 via ~/.npmrc?
changes nothing, documentation contains no information. |
I don’t know, but from the looks of it, you should probably report this over at https://github.com/npm/npm anyway. The people who take looks on that issue tracker might have more information about that kind of question, too. |
Even more rainbow here - http://ół.pl/79c215ccf3543e92855ac8a90a7bc691.png |
@addaleax Forget about npm.. it's Node causing problem not npm.. Look on issues on other node projects. f.e. node_redis. It will fail on any DNS via ipv6 - or whatever it does there.
This is the cause. A buggy Node API IMHO. Untested ipv4 + ipv6 environments. Fix it on Nodejs side and it will fix several issues reported separately by lots of people (google: "TypeError: Invalid argument: family must be 4 or 6") |
A reason for that opinion might be helpful, other than “this occurs in multiple projects which use Node.js”. |
It's not about opinion but understanding how stuff works. I'm not here to troll with you :)... Try building Node 6.6.0 from source with --without-npm - and try to install it (npm) in same configuration (both ipv4 and ipv6) - version You pick is irrelevant... So issue is only invoked by npm, but caused by Node |
'family must be 4 or 6' means something is passing an invalid argument to dns.lookup(), presumably npm. So far I see no reason to believe this is a node.js issue. |
Then I'd suggest checking - not believing :) |
Also It turned out the issue is affecting workstation with no ipv6, (ipv4 only) - used exactly same build of Node 6.6.0 |
I don't have a problem, it works for me, and your passive aggressive tone doesn't make me inclined to help you out. |
Can't reproduce. Did my best. I suspect @dmilith has either severe connectivity issues to
|
Additionally: @dmilith I noticed at your screenshot that you're getting I mangled my network to blackhole selectively all packets to
Check your connection rate limits. |
Interesting info. Will take a closer look later today |
@imyller The thing is:
Nothing special in my network configuration - except router side ipv6 management from my broker. Standard stuff. And here's definition of Node with all specific arguments and stuff I pass to build process: Anyway... I thought this place was meant for problem solve, not my "aggressive state" LOL. |
It's just unhandled exception from Node function - one function crashes, whole JS virtual machine is useless and just does nothing. Whole deal. Nothing special. It looks like a hang but seems to be just dead V8. I'm not specifying any arguments to inner DNS functions. Using plain version bundled with 6.6. My environment is Vanilla. I assumed it's a KNOWN environment for you. have a nice day |
The thing is that ICMP pings are usually not subject to traffic management and can be unreliable or misleading when analysing actual TCP connectivity issues. But, I think you've made up your mind about the cause of the issue. I personally can't reproduce the problem you are seeing even in vanilla OS X 10.11.6 virtual machine + fresh clone of Node.js source. I'm also quite confident that I'm not the only one. And oh, have a nice day. |
I think that's on the mark. Let's close. |
WOW. No wonder people are getting as far from using this project as possible.. :) Thank you for this precious lesson ;) |
You're welcome. |
Just tried reproducing on my FreeBSD environment (as well as one of our test runners). Sorry, but I can't reproduce this. Perhaps I can help you dig into your network setup and identify possible issues? $ uname -a
FreeBSD $foo 10.3-RELEASE FreeBSD 10.3-RELEASE #0 r297264: Fri Mar 25 02:10:02 UTC 2016 root@releng1.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64
$ cd node-v6.6.0
$ CC=clang CXX=clang++ ./configure
# <snip>
$ gmake -j3
# <snip>
$ export PATH=$(pwd):$PATH
$ ./node deps/npm/bin/npm-cli.js install coffee-script
/usr/home/jbergstroem/node-v6.6.0
└── coffee-script@1.10.0
npm WARN enoent ENOENT: no such file or directory, open '/usr/home/jbergstroem/node-v6.6.0/package.json'
npm WARN node-v6.6.0 No description
npm WARN node-v6.6.0 No repository field.
npm WARN node-v6.6.0 No README data
npm WARN node-v6.6.0 No license field. |
@jbergstroem yea, exactly. 4.5 tested under FreeBSD worked correctly. Issue started with 6.x line. It also depends on dependencies you installed to build your node. In base - there's ilbc++ in FreeBSD 10+ - which I also used since Node 0.8? No issues until 6.x and I'm 100% sure I used libc++ only.
You should see "libstdc++ to specific location somewhere under /usr/local/lib which makes it "version broken after moving across systems". My build has all Node dependencies included, hence it's relocatable. That's why I use /Software/Node prefix. Example prebuilt (affected) version: http://software.verknowsys.com/binary/Darwin-10.11-x86_64/Node-6.6.0-Darwin-10.11-x86_64.txz I also tried to dig through, and applied two patches.. but these didn't help much. It looks like DNS resolving is broken because of libc++ used.. and that causes DNS issue in Node. |
|
Tried this fellow to force 4 family, it silenced TypeError but this one has completely no sense at all:
I assure you I checked by request after request made by npm and all these sites and resources locations are working fine. I have no idea what address that is - but it doesn't work as it says, but it looks like npm has only a single try and single repo... and at least not hangs.. but crashes after a timeout like here:
Also checked hosts or similar locations that might cause address to be set somewhere.. but no such thing in my whole system. |
By looking at your log we can determine that:
What happens after is that your TCP/IP stack returns a) Your local host determines 151.101.0.0/16 subnet to be local subnet and fails at ARP resolution (highly unlikely scenario unless you've got serious netmask misconfiguration) or b) A router somewhere on the route between your local host and remote IP 151.101.60.162 responds with ICMP (Type 3) packet which causes TCP stack to return EHOSTDOWN. Reason might be routing issue, active application firewalling/connection limiting or fragmentation issues in case with functional ICMP ping connectivity (usually small 64-byte unfragmented packets) but unreliable TCP connectivity. Node.js runtime respects status codes returned by underlying OS and has very little recovery options in situation where OS returns very specific network connectivity related error code. Unless you provide more detailed logs or additional information these are the only pointers towards issue resolution I'm able to provide you. |
Hi! I had the same issue and I solved it with deleting the record |
I did build Nodejs 6.4.0+ under OSX 10.11, Darwin 15.6.0 - x86_64 (all 6.x versions does it under OSX and HardenedBSD/FreeBSD 11.0 as well)
Build went fine, but:
http://ół.pl/d968120bfbc83a579218a8619d3784b6.png
(lasts forever)
http://ół.pl/47adb612b09232caa49d0c5906d19337.png
(also lasts forever, yet with nice progress.. without any progress)
The text was updated successfully, but these errors were encountered: