Open RicHernandez2 opened 8 years ago
is this only with pbft sieve?
It repros in Classic as well, to aid in reproducing the issue, this is how I'm calling my 4 VPs:
docker run --rm -it -e CORE_VM_ENDPOINT=http://172.17.0.1:4243 -e CORE_PEER_ID=vp0 -e CORE_PEER_ADDRESSAUTODETECT=true -e CORE_PEER_PKI_ECA_PADDR=172.17.0.1:50051 -e CORE_PEER_PKI_TCA_PADDR=172.17.0.1:50051 -e CORE_PEER_PKI_TLSCA_PADDR=172.17.0.1:50051 -v /opt/logs/vp0:/go -p 5000:5000 hyperledger-peer peer peer
docker run --rm -it -e CORE_VM_ENDPOINT=http://172.17.0.1:4243 -e CORE_PEER_ID=vp1 -e CORE_PEER_ADDRESSAUTODETECT=true -e CORE_PEER_DISCOVERY_ROOTNODE=172.17.0.2:30303 -e CORE_PEER_PKI_ECA_PADDR=172.17.0.1:50051 -e CORE_PEER_PKI_TCA_PADDR=172.17.0.1:50051 -e CORE_PEER_PKI_TLSCA_PADDR=172.17.0.1:50051 -e CORE_SECURITY_ENROLLID=test_vp5 -e CORE_SECURITY_ENROLLSECRET=FfdvDkAdY81P -v /opt/logs/vp1:/go hyperledger-peer peer peer
docker run --rm -it -e CORE_VM_ENDPOINT=http://172.17.0.1:4243 -e CORE_PEER_ID=vp2 -e CORE_PEER_ADDRESSAUTODETECT=true -e CORE_PEER_DISCOVERY_ROOTNODE=172.17.0.2:30303 -e CORE_PEER_PKI_ECA_PADDR=172.17.0.1:50051 -e CORE_PEER_PKI_TCA_PADDR=172.17.0.1:50051 -e CORE_PEER_PKI_TLSCA_PADDR=172.17.0.1:50051 -e CORE_SECURITY_ENROLLID=test_vp6 -e CORE_SECURITY_ENROLLSECRET=QiXJgHyV4t7A -v /opt/logs/vp2:/go hyperledger-peer peer peer
docker run --rm -it -e CORE_VM_ENDPOINT=http://172.17.0.1:4243 -e CORE_PEER_ID=vp3 -e CORE_PEER_ADDRESSAUTODETECT=true -e CORE_PEER_DISCOVERY_ROOTNODE=172.17.0.2:30303 -e CORE_PEER_PKI_ECA_PADDR=172.17.0.1:50051 -e CORE_PEER_PKI_TCA_PADDR=172.17.0.1:50051 -e CORE_PEER_PKI_TLSCA_PADDR=172.17.0.1:50051 -e CORE_SECURITY_ENROLLID=test_vp7 -e CORE_SECURITY_ENROLLSECRET=twoKZouEyLyB -v /opt/logs/vp3:/go hyperledger-peer peer peer
Here's a screenshot, I got a 100% repro with it.
@jeffgarratt It seems that handler.peerHandler.To()
is returning nil
in some cases, any theory as to why this could be happening?
Edit: Actually, my guess is that because the HELLO has not gone through yet, this is always going to be nil
, how would you suggest that we detect once a peer has negotiated its peer ID?
Here's the deploy and chaincode I'm running if it helps you to repro:
{
"jsonrpc": "2.0",
"method": "deploy",
"params": {
"type": 1,
"chaincodeID":{
"path":"github.com/hyperledger/fabric/examples/chaincode/go/ndt"
},
"ctorMsg": {
"function":"init",
"args":["a", "1000", "b", "2000"]
},
"secureContext": "lukas"
},
"id": 1
}
Description:
On startup, a set of 4 VPs with security, running pbft sieve give a warning to a nil pointer
Logs: