-
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
uv__io_stop: Assertion `loop->watchers[w->fd] == w' failed. #33966
Comments
Is there any chance you can share a full reproduction? |
Unfortunately it's proprietary code connecting to proprietary services :( Maybe I can make a repro by making a service that times out often |
is there something I can do to get more information from the crash? Coredumps or so? |
@wmertens A stack trace or knowing what kind of libuv handle is involved might already be helpful. It should be possible to extract that information from a core dump, or through a debugger attached to a crashing process. |
@addaleax I have
|
@wmertens I think you should be able to go to the Since you seem to be able to reproduce this quite well – if you can do so with a debug build of Node.js, that might be helpful here, although it requires building Node.js from source and takes quite a while as well. |
I'm still trying to get a debug build of node to work with. In the meantime, I discovered that if I download 1 file at a time, it doesn't happen. So it looks to be some sort of race condition? 5-at-a-time triggers it for me (didn't test 2-at-a-time). |
@wmertens - are there any updates on this? were you able to build a debug build and try? or are you running with the work around that you have identified yourself? |
Sorry for dropping the ball on this, indeed I'm using the workaround right now. Of course, if you @gireeshpunathil or someone else can repro that would be great :) the errors happen when running 5 concurrent node-fetch calls, doing GET returning around 1MB each (not sure of this number) |
I will see if I can produce and supply a debug build |
@wmertens - I have built a debug build on v12.x lines and kept it in
|
@gireeshpunathil Thanks! I had trouble setting up docker on my repro VM though. In any case, I tried what @addaleax asked:
Does that help? |
I also encountered the same problem. This fix has been included in NodeJS 14 and 16. |
Awesome! I'll upgrade :) |
Add more information based on #33966 (comment): the libuv-fix#2686 was released on libuv-v1.41.0(it's VERY hard to find the corresponding release version of libuv-fix#2686), which was merged in node-v14.17.0 instead of v14.0.0. So, if anyone want to upgrade Nodejs, you should upgrade to at least node-v14.17.0. |
What steps will reproduce the bug?
I have a rather download-heavy script and it often crashes with
I found some other bugs that seem related to datagrams so to be sure I added the host it's connecting to to /etc/hosts, hoping that means no UDP connections, however that doesn't help. The connections my script does are only TCP
How often does it reproduce? Is there a required condition?
Within a few minutes, but only when the server that I'm fetching from times out. (the server times out very often)
Additional information
I'm using node-fetch to do the downloading but that just uses the
http
module of course.The text was updated successfully, but these errors were encountered: