Skip to content
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

Fix IPFS encryption errors on ELP nodes #1473

Closed
stbrody opened this issue Jun 8, 2021 · 8 comments
Closed

Fix IPFS encryption errors on ELP nodes #1473

stbrody opened this issue Jun 8, 2021 · 8 comments
Assignees
Labels
bug Something isn't working

Comments

@stbrody
Copy link
Contributor

stbrody commented Jun 8, 2021

It doesn't seem to be causing any noticeable issues, but it is worrisome, and we still don't understand what's different about the ELP nodes that makes it show up there but on none of our other nodes

@stbrody stbrody added the bug Something isn't working label Jun 8, 2021
@v-stickykeys
Copy link
Contributor

I actually am thinking this probably has something to do with the DNS config. Not sure what about it.. but it feels like a config issue given that it is only happening on our elp nodes

@stbrody
Copy link
Contributor Author

stbrody commented Aug 10, 2021

I actually am thinking this probably has something to do with the DNS config. Not sure what about it.. but it feels like a config issue given that it is only happening on our elp nodes

at some point we had said we were going to look into the ipfs peerstore to see if there were old entries we could clear out - did we ever do that?

@ukstv
Copy link
Contributor

ukstv commented Oct 13, 2021

Relevant js-ipfs issue: ipfs/js-ipfs#3702

@0xO0O0
Copy link

0xO0O0 commented Dec 28, 2021

has there been any updates or new information on this issue ?

@stbrody
Copy link
Contributor Author

stbrody commented Dec 28, 2021

has there been any updates or new information on this issue ?

Sorry no, as this doesn't seem to cause any actual problems, it hasn't been high priority for us to investigate. We are also hoping it will go away with the upcoming switch from js-ipfs to go-ipfs

@v-stickykeys
Copy link
Contributor

Looked into this a bit more today and was able to reproduce. Can confirm that this is harmless to nodes operating but it does mean a connection can not be established with a specific peer.

e.g.

val in ~ λ curl -X POST "http://localhost:5011/api/v0/swarm/connect?arg=/dns4/ceramic-node.vitalpointai.com/tcp/4012/ws/p2p/QmVH335h3srKvSTZKr5bcLFbnvfVZSewVzpkbEX9XHcLsQ" | jq
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1593  100  1593    0     0   5966      0 --:--:-- --:--:-- --:--:--  5966
{
  "Message": "\n    Error: Error occurred during XX handshake: Error occurred while verifying signed payload: Peer ID doesn't match libp2p public key.\n        at Noise.performXXHandshake (/Users/val/.nvm/versions/node/v14.15.1/lib/node_modules/@ceramicnetwork/ipfs-daemon/node_modules/libp2p-noise/dist/src/noise.js:186:19)\n        at runMicrotasks (<anonymous>)\n        at async Noise.performHandshake (/Users/val/.nvm/versions/node/v14.15.1/lib/node_modules/@ceramicnetwork/ipfs-daemon/node_modules/libp2p-noise/dist/src/noise.js:155:20)\n        at async Noise.secureOutbound (/Users/val/.nvm/versions/node/v14.15.1/lib/node_modules/@ceramicnetwork/ipfs-daemon/node_modules/libp2p-noise/dist/src/noise.js:80:27)\n        at async Upgrader._encryptOutbound (/Users/val/.nvm/versions/node/v14.15.1/lib/node_modules/@ceramicnetwork/ipfs-daemon/node_modules/libp2p/src/upgrader.js:406:12)\n        at async Upgrader.upgradeOutbound (/Users/val/.nvm/versions/node/v14.15.1/lib/node_modules/@ceramicnetwork/ipfs-daemon/node_modules/libp2p/src/upgrader.js:176:11)\n        at async ClassIsWrapper.dial (/Users/val/.nvm/versions/node/v14.15.1/lib/node_modules/@ceramicnetwork/ipfs-daemon/node_modules/libp2p-websockets/src/index.js:54:18)\n        at async TransportManager.dial (/Users/val/.nvm/versions/node/v14.15.1/lib/node_modules/@ceramicnetwork/ipfs-daemon/node_modules/libp2p/src/transport-manager.js:111:14)\n        at async /Users/val/.nvm/versions/node/v14.15.1/lib/node_modules/@ceramicnetwork/ipfs-daemon/node_modules/libp2p/src/dialer/dial-request.js:71:18",
  "Code": 0,
  "Type": "error"
}

However, this does not cause IPFS and/or Ceramic to crash and can be safely ignored for the time being.

@v-stickykeys
Copy link
Contributor

v-stickykeys commented Dec 28, 2021

We are also hoping it will go away with the upcoming switch from js-ipfs to go-ipfs

Still have an error with go @stbrody just less noisy which is nice

{
  "Message": "connect QmVH335h3srKvSTZKr5bcLFbnvfVZSewVzpkbEX9XHcLsQ failure: failed to dial QmVH335h3srKvSTZKr5bcLFbnvfVZSewVzpkbEX9XHcLsQ: all dials failed\n  * [/ip4/40.86.207.149/tcp/4012/ws] failed to negotiate security protocol: peer id mismatch: expected QmVH335h3srKvSTZKr5bcLFbnvfVZSewVzpkbEX9XHcLsQ, but remote key matches QmVa6vVRnG9qTte2sV13W4XXTNsSPegPS8Wr31Qo294g6o",
  "Code": 0,
  "Type": "error"
}

@oed
Copy link
Member

oed commented Dec 29, 2021

Does this happen for any of the peers in the peerlist? If so they might have the wrong peerId?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

7 participants