-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Implement new MDNS spec #623
Comments
This comment has been minimized.
This comment has been minimized.
I can fix data races. This is not a big deal. See whyrusleeping/mdns#5. Also I discovered hashicorp/mdns#66 , so we can merge these two and get a data race free implementation. |
@kpp that would be awesome. We'd still want to switch to a new library for the other reasons but having a race-free go-ipfs would be nice. |
I wrote to hashicorp/mdns, let's see if they still want to maintain the lib. |
Please fix this, this 'bug' is encountered in situations even when there is a single IPFS daemon running on port 4001 with no other daemon sharing it. Although restarting go-ipfs resolves the error, it stands to reason if port 4001 is seen as 'filtered' or if ipfs-go is capable of detecting that it cannot bind to the port, it should take some action like reforking itself so that it is bound, instead of just sit their polling the error for eternity doing nothing.' I could write something to fix this by logging to a file with nohup or something but , much like ipfs pin jobs, this is not a 'solution' to the cause, it's a patch to the problem. What is the best proposition to fix this at present? Surely there is better approach, or a way to fix this, its fairly critical is it not? If some ipfs servers are likely literally sitting offline unbeknownst of this issue or what it means. Is there not a failsafe way to ensure that port gets re-used in ipfs configuration? Best wishes, |
(copying my reply from the go-ipfs issue) This issue will not prevent your daemon from listening on port 4001. It will only prevent mdns from working properly. |
Well maybe I am mistaken, but, really this issue seems to coincide very coincidentally at the very least with the TCP port becoming unavailable. Gateway seems to continue working on port 8081. but port 4001 was unreachable , filtered, unable to be dialed to. It's not firewalld. Maybe this is caused by some other bug that cause strange loss of port binding. Would hitting the file security limits for the user cause IPFS tcp ports to misbehave? In any case maybe this not right place to report it, but I thought the bug was related, perhaps, I am wrong. Presumably too many open file is causing the port to become unbound? |
Please open a new issue. |
That is, libp2p/specs#80. We'll need to:
Unfortunately, none of the existing golang mdns solutions work for us as:
We could try to patch these however, we'll likely end up with something better if we just write something ourselves.
The text was updated successfully, but these errors were encountered: