Closed
Description
- Version: 0.23.0
- Platform: Linux ip-172-31-90-222 4.14.33-51.37.amzn1.x86_64 We are renaming the prefix of our JavaScript modules from 'node-' to 'js-' #1 SMP Thu May 3 20:07:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
- Subsystem: SECIO
Type: Question
Severity: Low
Description:
I am running a very basic bootstrap node on EC2 and only when I give it a peerId (instead of letting it generate it's own) it crashes when dialed in crypto.js. This does not happen when I run the same test locally.
What may be different about running a node on EC2 that would cause this to happen?
My bootstrap node bundle:
class MyBundle extends libp2p {
constructor (_options) {
const defaults = {
modules: {
transport: [new WebSockets(), new TCP()],
streamMuxer: [Mplex],
connEncryption: [SECIO]
}
}
super(defaultsDeep(_options, defaults))
}
}
Creating the node:
function createNode (callback) {
let node
const id = 'QmcdGp9P2ZvahuoxgJP8yPHXn7CtDhbEpxCctyAqJiPZhf'
waterfall([
(cb) => PeerInfo.create({id}, cb),
(peerInfo, cb) => {
const peerId = peerInfo.id.toB58String()
peerInfo.multiaddrs.add(`/ip4/0.0.0.0/tcp/4001/ipfs/${peerId}`)
node = new MyBundle({peerInfo})
console.log(`Starting node ${peerId}`)
node.start(cb)
}
], (err) => callback(err, node))
}
This is the stack trace:
libp2p:tcp:listen new connection /ip4/18.212.189.186/tcp/47038 +11s
mss:listener (101ck5) adding handler: /mplex/6.7.0 +0ms
mss:listener (101ck5) adding handler: /spdy/3.1.0 +0ms
mss:listener (101ck5) adding handler: /ipfs/id/1.0.0 +0ms
mss:listener (101ck5) adding handler: /secio/1.0.0 +0ms
mss:listener (101ck5) adding handler: /ipfs/ping/1.0.0 +0ms
mss:listener (101ck5) adding handler: /ipfs/kad/1.0.0 +0ms
mss:listener (101ck5) listener handle conn +1ms
mss:listener (101ck5) writing multicodec: /multistream/1.0.0 +0ms
libp2p:tcp:listen new connection /ip4/18.212.189.186/tcp/47040 +7ms
mss:listener (11zzr4) adding handler: /mplex/6.7.0 +0ms
mss:listener (11zzr4) adding handler: /spdy/3.1.0 +0ms
mss:listener (11zzr4) adding handler: /ipfs/id/1.0.0 +1ms
mss:listener (11zzr4) adding handler: /secio/1.0.0 +0ms
mss:listener (11zzr4) adding handler: /ipfs/ping/1.0.0 +0ms
mss:listener (11zzr4) adding handler: /ipfs/kad/1.0.0 +0ms
mss:listener (11zzr4) listener handle conn +0ms
mss:listener (11zzr4) writing multicodec: /multistream/1.0.0 +0ms
mss:listener (101ck5) received ack: /multistream/1.0.0 +6ms
mss:listener (11zzr4) received ack: /multistream/1.0.0 +2ms
mss:listener (11zzr4) received: +1ms
mss:listener (11zzr4) send ack back of: /secio/1.0.0 +0ms
libp2p:switch:protocol-muxer registering handler with protocol /secio/1.0.0 +0ms
libp2p:secio 1. propose - start +0ms
libp2p:secio 1. propose - writing proposal +0ms
/home/ec2-user/bootstrap-node/node_modules/libp2p-secio/src/handshake/crypto.js:22
pubkey: state.key.local.public.bytes,
^
TypeError: Cannot read property 'public' of null
at Object.exports.createProposal (/home/ec2-user/bootstrap-node/node_modules/libp2p-secio/src/handshake/crypto.js:22:29)
at propose (/home/ec2-user/bootstrap-node/node_modules/libp2p-secio/src/handshake/propose.js:18:31)
at series (/home/ec2-user/bootstrap-node/node_modules/libp2p-secio/src/handshake/index.js:13:13)
at /home/ec2-user/bootstrap-node/node_modules/async/internal/parallel.js:31:39
at replenish (/home/ec2-user/bootstrap-node/node_modules/async/internal/eachOfLimit.js:66:17)
at /home/ec2-user/bootstrap-node/node_modules/async/internal/eachOfLimit.js:71:9
at eachOfLimit (/home/ec2-user/bootstrap-node/node_modules/async/eachOfLimit.js:39:36)
at /home/ec2-user/bootstrap-node/node_modules/async/internal/doLimit.js:9:16
at _parallel (/home/ec2-user/bootstrap-node/node_modules/async/internal/parallel.js:30:5)
at series (/home/ec2-user/bootstrap-node/node_modules/async/series.js:83:26)
Steps to reproduce the error:
Run a node on EC2 host and dial it from another node.
Metadata
Metadata
Assignees
Labels
No labels