-
-
Notifications
You must be signed in to change notification settings - Fork 3k
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
http gateway freezes: no response code will be returned #7032
Comments
Follow the guide in https://github.com/ipfs/go-ipfs/blob/master/docs/debug-guide.md. The goroutine dump will be especially helpful in figuring out where the request is stuck. |
I had a similar occurrence, where the Web-API basically stalled for 2-3 minutes, for no apparent reason. I wrote a goroutine dump for you while it happened (the same computer/setup but a different IPFS-version, this time build from the git repo: 729e053) |
Could you take the rest of the dumps? One thing I'm noticing is that zap (the logging framework) appears to be blocking. Do you have debug logging enabled? |
Yes, debug logging was on. When it occurs the next time, I'll do all dumps :) |
Well, my testing installation (for 0.5.0-dev-84724a360) now got completely stuck. I started this time with a completely empty repo/block storage and just tried to cluster follow the ipfs-websites cluster. This is what the cluster-follower has logged on the console until I terminated it: Nothing else was running - just the cluster follower and the WebUI. The log of ipfs hasn't printed any errors (haven't changed the log level to debug this time) - and I cannot get any of the dumps from the API... the curls are running for 10 Minutes now with 0 bytes fetched. Any idea how to debug this? :) |
A overview of the processes:
So just one thread is busy looping, how can we get a stack trace of it? :) |
I wrote with ttocslliwDiscor4 on IRC, he assumed it's a bug in go-yamux and go-libp2p 0.7.2 should have fixed it (my build is g84724a360). I used SIGABRT to kill it and that's the stacktrace: |
So, there was a bug in go-libp2p but it's unrelated (potentially causes streams to fail). The bug here looks like golang/go#38070 which will be fixed in go 1.14.2. If you want to work around the issue now, you can use https://github.com/libp2p/go-yamux/tree/fix/re-disable-write-coalescing. It doesn't fix the bug in go, but this branch reduces the likelihood that the bug will be triggered. |
Closing in favor of libp2p/go-libp2p#858. |
No it's not needed, I just want to test this build until it gets released to make sure I can point out some bugs early. :) |
Version information:
go-ipfs version: 0.4.23-6ce9a355f
Repo version: 7
System version: amd64/linux
Golang version: go1.14
Description:
I tried to list a directory via the local web-gateway and couldn't get an answer via the browser. Doing the same via the ipfs command is on the other hand very fast:
using an (already cached IPNS is also very fast):
While this wget requests connects but never gets a code back (within 2 minutes).
After a restart of the node this issue disappeared. Any idea how to debug this in the future?
The text was updated successfully, but these errors were encountered: