Closed chantong-ubs closed 4 years ago
@chantong-ubs thank you for reporting this issue, we will investigate.
Any progress? On Wednesday, October 9, 2019, 04:24:47 PM EDT, Amaury Chamayou notifications@github.com wrote:
@chantong-ubs thank you for reporting this issue, we will investigate.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.
Any status update? On Tuesday, October 15, 2019, 10:09:14 AM EDT, Chan Tong chantong00@yahoo.com wrote:
Any progress? On Wednesday, October 9, 2019, 04:24:47 PM EDT, Amaury Chamayou notifications@github.com wrote:
@chantong-ubs thank you for reporting this issue, we will investigate.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.
Hi @chantong-ubs
I can't seem to reproduce the issue. I am performing the below steps (albeit in python instead of Java), please let me know if this is similar to what you are doing:
I am querying for the file descriptors every 30 seconds and I can see that they are not increasing
Does this issue persist for you? Can you please provide us with some more details so that we can investigate further? It would be helpful if you could reproduce the issue again and send the below information:
out
and err
files that all the nodes produceI believed short inactivity time, you will not see the problem. I believed to reproduce the problem, please increase time
every 10 cycles of the above, sleep for 32 minutes (>30 minutes) and after 32 minutes of inactivity, continue the transaction/sleep cycle described above
On Monday, October 21, 2019, 10:40:23 AM EDT, olgavrou notifications@github.com wrote:
Hi @chantong-ubs
I can't seem to reproduce the issue. I am performing the below steps (albeit in python instead of Java), please let me know if this is similar to what you are doing:
I am querying for the file descriptors every 30 seconds and I can see that they are not increasing
Does this issue persist for you? Can you please provide us with some more details so that we can investigate further? It would be helpful if you could reproduce the issue again and send the below information:
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.
@chantong-ubs
We believe we have found what was causing the reported issue (plase see #474 )
I have created a temporary tag here: https://github.com/microsoft/CCF/releases/tag/tcp_keepalives
Could please check to see if the change has resolved your issue?
Thank you, Olga
From the issue #474, that was the root cause. I will test in the next few days when I free up. Thanks On Wednesday, October 23, 2019, 12:56:53 PM EDT, olgavrou notifications@github.com wrote:
@chantong-ubs
We believe we have found what was causing the reported issue (plase see #474 )
I have created a temporary tag here: https://github.com/microsoft/CCF/releases/tag/tcp_keepalives
Could please check to see if the change has resolved your issue?
Thank you, Olga
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.
Download the zip and ran setup.sh. It failed. Seems the zip file was small and did not have all dependencies.
ccf@ccf-dev:~/CCF-tcp_keepalives/getting_started/setup_vm$ ./setup.sh
PLAY [localhost] ****
TASK [Gathering Facts] ** ok: [localhost]
TASK [openenclave : Include vars] *** ok: [localhost]
TASK [openenclave : Download OpenEnclave source] **** changed: [localhost]
TASK [openenclave : Remove Pre-existing OpenEnclave source on the remote] *** ok: [localhost]
TASK [openenclave : Create directory for OpenEnclave source] **** changed: [localhost]
TASK [openenclave : Expand OpenEnclave] ***** changed: [localhost]
TASK [openenclave : Make OpenEnclave build dir] ***** changed: [localhost]
TASK [openenclave : Disable Compiler-level Spectre mitigations] ***** changed: [localhost]
TASK [openenclave : Install OpenEnclave dependencies] *** [WARNING]: Reset is not implemented for this connection
changed: [localhost]
TASK [openenclave : Install ninja] ** fatal: [localhost]: FAILED! => {"msg": "fragment_class is None"} to retry, use: --limit @/home/ccf/CCF-tcp_keepalives/getting_started/setup_vm/ccf-dependencies.retry
PLAY RECAP ** localhost : ok=9 changed=6 unreachable=0 failed=1
@chantong-ubs
Could you please try and checkout the tag via git. Either from a clean repository (git clone <url> --recursive
) or from the repository that you have already cloned run:
git fetch --tags
git tag -l
tcp_keepalive
taggit checkout tags/tcp_keepalive [-b <branch name>]
and try again. If the setup.sh
fails again could you please try to run the ansible step with verbose and let me know about the results, i.e. just run ansible-playbook ccf-dependencies.yml --verbose
from the getting_started/setup_vm
directory, so we can get more detail on what fails.
If you are short on time you could try to build the new code without running setup.sh
. You should be able to build the code from the tcp_keepalive
tag by going into CCF/build
and running ninja
.
Let me know.
Thank you!
Use Oct 29 source codes + tcp_keepalive, build OK. When running, the new CCF did not recognized CALLER_ID for new memory/user key stores. There was no change on Client Side, only use new member/user key store files.
Attached first node output file. node0.zip
See detail info on running 3 nodes on the same server::: [Start Up Commands]
./cchost --enclave-file libluagenericenc.so.signed --enclave-type debug --node-address 10.0.0.4:44180 --rpc-address 10.0.0.4:25000 --public-rpc-address 40.85.174.87:25000 --ledger-file 0.log --node-cert-file 0.pem --quote-file quote0.bin start --network-cert-file network_cert.pem --gov-script gov.lua --member-cert member1_cert.pem --member-cert member2_cert.pem --member-cert member3_cert.pem
./cchost --enclave-file libluagenericenc.so.signed --enclave-type debug --node-address 10.0.0.4:44181 --rpc-address 10.0.0.4:25001 --public-rpc-address 40.85.174.87:25001 --ledger-file 1.log --node-cert-file 1.pem --quote-file quote1.bin join --network-cert-file network_cert.pem --target-rpc-address 40.85.174.87:25000
./cchost --enclave-file libluagenericenc.so.signed --enclave-type debug --node-address 10.0.0.4:44182 --rpc-address 10.0.0.4:25002 --public-rpc-address 40.85.174.87:25002 --ledger-file 2.log --node-cert-file 2.pem --quote-file quote2.bin join --network-cert-file network_cert.pem --target-rpc-address 40.85.174.87:25000
./memberclient --cert member1_cert.pem --privk member1_privk.pem --rpc-address 10.0.0.4:25000 --ca network_cert.pem add_user --user-cert user1_cert.pem {"commit":7,"global_commit":6,"id":0,"jsonrpc":"2.0","result":{"completed":false,"id":0},"term":2}
./memberclient --cert member2_cert.pem --privk member2_privk.pem --rpc-address 10.0.0.4:25000 --ca network_cert.pem vote --proposal-id 0 --accept {"commit":9,"global_commit":8,"id":0,"jsonrpc":"2.0","result":true,"term":2}
./memberclient --cert member1_cert.pem --privk member1_privk.pem --rpc-address 10.0.0.4:25000 --ca network_cert.pem set_lua_app --lua-app-file madrec_app.lua {"commit":11,"global_commit":10,"id":0,"jsonrpc":"2.0","result":{"completed":false,"id":1},"term":2}
./memberclient --cert member2_cert.pem --privk member2_privk.pem --rpc-address 10.0.0.4:25000 --ca network_cert.pem vote --proposal-id 1 --accept {"commit":13,"global_commit":12,"id":0,"jsonrpc":"2.0","result":true,"term":2}
./memberclient --cert member1_cert.pem --privk member1_privk.pem --rpc-address 10.0.0.4:25000 --ca network_cert.pem open_network {"commit":15,"global_commit":14,"id":0,"jsonrpc":"2.0","result":{"completed":false,"id":2},"term":2}
./memberclient --cert member2_cert.pem --privk member2_privk.pem --rpc-address 10.0.0.4:25000 --ca network_cert.pem vote --proposal-id 2 --accept {"commit":17,"global_commit":16,"id":0,"jsonrpc":"2.0","result":true,"term":2}
[Process Running] ccf 19602 1 99 17:05 pts/1 00:09:54 ./cchost --enclave-file libluagenericenc.so.signed --enclave-type debug --node-address 10.0.0.4:44180 --rpc-address 10.0.0.4:25000 --public-rpc-address 40.85.174.87:25000 --ledger-file 0.log --node-cert-file 0.pem --quote-file quote0.bin start --network-cert-file network_cert.pem --gov-script gov.lua --member-cert member1_cert.pem --member-cert member2_cert.pem --member-cert member3_cert.pem ccf 19641 1 99 17:06 pts/1 00:09:00 ./cchost --enclave-file libluagenericenc.so.signed --enclave-type debug --node-address 10.0.0.4:44181 --rpc-address 10.0.0.4:25001 --public-rpc-address 40.85.174.87:25001 --ledger-file 1.log --node-cert-file 1.pem --quote-file quote1.bin join --network-cert-file network_cert.pem --target-rpc-address 40.85.174.87:25000 ccf 19692 1 99 17:06 pts/1 00:07:28 ./cchost --enclave-file libluagenericenc.so.signed --enclave-type debug --node-address 10.0.0.4:44182 --rpc-address 10.0.0.4:25002 --public-rpc-address 40.85.174.87:25002 --ledger-file 2.log --node-cert-file 2.pem --quote-file quote2.bin join --network-cert-file network_cert.pem --target-rpc-address 40.85.174.87:25000
[Runtime Directory] -rw-rw-r-- 1 ccf ccf 288 Oct 31 17:05 member1_privk.pem -rw-rw-r-- 1 ccf ccf 661 Oct 31 17:05 member1_cert.pem -rw-rw-r-- 1 ccf ccf 288 Oct 31 17:05 member2_privk.pem -rw-rw-r-- 1 ccf ccf 657 Oct 31 17:05 member2_cert.pem -rw-rw-r-- 1 ccf ccf 288 Oct 31 17:05 member3_privk.pem -rw-rw-r-- 1 ccf ccf 657 Oct 31 17:05 member3_cert.pem -rw-rw-r-- 1 ccf ccf 288 Oct 31 17:05 user1_privk.pem -rw-rw-r-- 1 ccf ccf 653 Oct 31 17:05 user1_cert.pem -rw-rw-r-- 1 ccf ccf 288 Oct 31 17:05 user2_privk.pem -rw-rw-r-- 1 ccf ccf 653 Oct 31 17:05 user2_cert.pem -rw-rw-r-- 1 ccf ccf 288 Oct 31 17:05 user3_privk.pem -rw-rw-r-- 1 ccf ccf 653 Oct 31 17:05 user3_cert.pem -rw------- 1 ccf ccf 1073 Oct 31 17:05 member2.p12 -rw------- 1 ccf ccf 1073 Oct 31 17:05 member1.p12 -rw------- 1 ccf ccf 1073 Oct 31 17:05 member3.p12 -rw------- 1 ccf ccf 1061 Oct 31 17:05 user1.p12 -rw------- 1 ccf ccf 1061 Oct 31 17:05 user2.p12 -rw------- 1 ccf ccf 1061 Oct 31 17:05 user3.p12 -rw-rw-r-- 1 ccf ccf 0 Oct 31 17:05 0.err -rw-rw-r-- 1 ccf ccf 4596 Oct 31 17:05 quote0.bin -rw-rw-r-- 1 ccf ccf 653 Oct 31 17:05 network_cert.pem -rw-rw-r-- 1 ccf ccf 653 Oct 31 17:05 0.pem -rw-rw-r-- 1 ccf ccf 4686 Oct 31 17:05 sealed_secrets.20191031170552.19602 -rw-rw-r-- 1 ccf ccf 0 Oct 31 17:06 1.err -rw-rw-r-- 1 ccf ccf 4596 Oct 31 17:06 quote1.bin -rw-rw-r-- 1 ccf ccf 653 Oct 31 17:06 1.pem -rw-rw-r-- 1 ccf ccf 4634 Oct 31 17:06 sealed_secrets.20191031170625.19641 -rw-rw-r-- 1 ccf ccf 0 Oct 31 17:06 2.err -rw-rw-r-- 1 ccf ccf 4596 Oct 31 17:06 quote2.bin -rw-rw-r-- 1 ccf ccf 653 Oct 31 17:06 2.pem -rw-rw-r-- 1 ccf ccf 4665 Oct 31 17:07 sealed_secrets.20191031170700.19692 -rw-rw-r-- 1 ccf ccf 12325 Oct 31 17:16 madrec.out -rw-rw-r-- 1 ccf ccf 25132 Oct 31 17:16 madrec.err -rw-rw-r-- 1 ccf ccf 76395 Oct 31 17:16 0.log -rw-rw-r-- 1 ccf ccf 76214 Oct 31 17:16 1.log -rw-rw-r-- 1 ccf ccf 76214 Oct 31 17:16 2.log -rw-rw-r-- 1 ccf ccf 3433342 Oct 31 17:16 2.out -rw-rw-r-- 1 ccf ccf 3636185 Oct 31 17:16 1.out -rw-rw-r-- 1 ccf ccf 4567001 Oct 31 17:16 0.out
[Error Log - when used member1.p12 or user1.p12]
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "error" (class com.ubs.madrec.ccbf.rpc.Rpc$Response), not marked as ignorable (6 known properties: "global_commit", "commit", "id", "term", "jsonrpc", "result"]) at [Source: (byte[])"��error��codeт��message�:[INVALID_CALLER_ID]: No corresponding caller entry exists.�id^@�jsonrpc�2.0"; line: -1, column: 8] (through reference chain: com.ubs.madrec.ccbf.rpc.Rpc$Response["error"]) at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:60) at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:823) at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:1153) at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1589) at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1567) at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:294) at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:151) at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4013) at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3091) at com.ubs.madrec.ccbf.rpc.RpcTlsClient.call(RpcTlsClient.java:44) at com.ubs.madrec.ccbf.rpc.RpcTlsClient.callR(RpcTlsClient.java:65) at com.ubs.madrec.ccbf.clients.MemberImpl.addClient(MemberImpl.java:41) at com.ubs.madrec.ccbf.clients.MemberImpl.addUser(MemberImpl.java:53) at com.ubs.madrec.coco.ServiceContainer.init(ServiceContainer.java:33
@chantong-ubs I'm not sure what the p12 files are, but the identities you have voted in as users are the .pem files, so those ought to work. Can you make sure you are using identities that have been voted in as users to connect?
It’s been working all the time for all previous versions. It’s not the problem the identity file that I used. I suspected it’s something to do with all pem files to add members users in CCF. This process has been changed in this version. Please look into this direction. I tried several times to start new CCF network from scratch, same problem
Sent from my iPhone
On Nov 1, 2019, at 3:42 AM, Amaury Chamayou notifications@github.com wrote:
@chantong-ubs I'm not sure what the p12 files are, but the identities you have voted in as users are the .pem files, so those ought to work. Can you make sure you are using identities that have been voted in as users to connect?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.
Hi @chantong-ubs
The way we add users and members last changed here: https://github.com/microsoft/CCF/pull/371
We also have our tests consistently passing and verifying that users and members have been added correctly and can access the network afterwards.
For example e2e_logging.py
test which runs on every CI build:
start_and_join
here: https://github.com/microsoft/CCF/blob/master/tests/e2e_logging.py#L33Can you please provide us with more details and a reproducible example?
Thank you!
Read all documents, but it did not help to resolve the issue. In previous email, it had all commands (which I followed from github document (https://microsoft.github.io/CCF). Anyone read and verify all CCF commands from my previous email? It had start, join, adduser, add lua, open network. You can reproduce with the same command as below (from previous email)
See detail info on running 3 nodes on the same server::: [Start Up Commands]
./cchost --enclave-file libluagenericenc.so.signed --enclave-type debug --node-address 10.0.0.4:44180 --rpc-address 10.0.0.4:25000 --public-rpc-address 40.85.174.87:25000 --ledger-file 0.log --node-cert-file 0.pem --quote-file quote0.bin start --network-cert-file network_cert.pem --gov-script gov.lua --member-cert member1_cert.pem --member-cert member2_cert.pem --member-cert member3_cert.pem
./cchost --enclave-file libluagenericenc.so.signed --enclave-type debug --node-address 10.0.0.4:44181 --rpc-address 10.0.0.4:25001 --public-rpc-address 40.85.174.87:25001 --ledger-file 1.log --node-cert-file 1.pem --quote-file quote1.bin join --network-cert-file network_cert.pem --target-rpc-address 40.85.174.87:25000
./cchost --enclave-file libluagenericenc.so.signed --enclave-type debug --node-address 10.0.0.4:44182 --rpc-address 10.0.0.4:25002 --public-rpc-address 40.85.174.87:25002 --ledger-file 2.log --node-cert-file 2.pem --quote-file quote2.bin join --network-cert-file network_cert.pem --target-rpc-address 40.85.174.87:25000
./memberclient --cert member1_cert.pem --privk member1_privk.pem --rpc-address 10.0.0.4:25000 --ca network_cert.pem add_user --user-cert user1_cert.pem {"commit":7,"global_commit":6,"id":0,"jsonrpc":"2.0","result":{"completed":false,"id":0},"term":2}
./memberclient --cert member2_cert.pem --privk member2_privk.pem --rpc-address 10.0.0.4:25000 --ca network_cert.pem vote --proposal-id 0 --accept {"commit":9,"global_commit":8,"id":0,"jsonrpc":"2.0","result":true,"term":2}
./memberclient --cert member1_cert.pem --privk member1_privk.pem --rpc-address 10.0.0.4:25000 --ca network_cert.pem set_lua_app --lua-app-file madrec_app.lua {"commit":11,"global_commit":10,"id":0,"jsonrpc":"2.0","result":{"completed":false,"id":1},"term":2}
./memberclient --cert member2_cert.pem --privk member2_privk.pem --rpc-address 10.0.0.4:25000 --ca network_cert.pem vote --proposal-id 1 --accept {"commit":13,"global_commit":12,"id":0,"jsonrpc":"2.0","result":true,"term":2}
./memberclient --cert member1_cert.pem --privk member1_privk.pem --rpc-address 10.0.0.4:25000 --ca network_cert.pem open_network {"commit":15,"global_commit":14,"id":0,"jsonrpc":"2.0","result":{"completed":false,"id":2},"term":2}
./memberclient --cert member2_cert.pem --privk member2_privk.pem --rpc-address 10.0.0.4:25000 --ca network_cert.pem vote --proposal-id 2 --accept {"commit":17,"global_commit":16,"id":0,"jsonrpc":"2.0","result":true,"term":2}
@chantong-ubs we have reviewed your commands, but it is not possible for us to reproduce your issue because:
As @olgavrou pointed out, all our end to end test start by adding users, and they all pass. We have reviewed the user checking logic (https://github.com/microsoft/CCF/blob/master/src/node/rpc/frontend.h#L687), which is a table lookup, and we have no reason to believe it is broken.
The automated test we have that is closest to what you describe is the lua_end_to_end_logging test, which you can run with: ./tests.sh -VV -R lua_end_to_end_logging
.
Please find inline below the relevant output section to be compared to your commands, and feel free to reproduce it in your environment. If you would like to provide more information, we'll be happy to investigate further, but as it stands we've done all we can. I can only suggest making sure that all the certs are in sync, and that you aren't trying to connect with newer/outdated certs.
41: 2019-11-04 17:13:11.989 | INFO | infra.path:working_dir:78 - cd .
41: 2019-11-04 17:13:11.989 | INFO | infra.proc:ccall:11 - rm -f
41: 2019-11-04 17:13:11.991 | INFO | infra.proc:ccall:11 - ./keygenerator --name=member1
41: 2019-11-04 17:13:11.997 | INFO | infra.proc:ccall:11 - ./keygenerator --name=member2
41: 2019-11-04 17:13:12.003 | INFO | infra.proc:ccall:11 - ./keygenerator --name=member3
41: 2019-11-04 17:13:12.010 | INFO | infra.proc:ccall:11 - ./keygenerator --name=user1
41: 2019-11-04 17:13:12.017 | INFO | infra.proc:ccall:11 - ./keygenerator --name=user2
41: 2019-11-04 17:13:12.023 | INFO | infra.proc:ccall:11 - ./keygenerator --name=user3
41: 2019-11-04 17:13:12.030 | INFO | infra.proc:ccall:11 - cp /data/src/CCF/src/runtime_config/gov.lua .
41: 2019-11-04 17:13:12.032 | INFO | infra.ccf:start_and_join:210 - Lua scripts copied
41: 2019-11-04 17:13:12.032 | INFO | infra.ccf:_start_all_nodes:153 - Opening CCF service on ['localhost', 'localhost']
41: 2019-11-04 17:13:12.033 | INFO | infra.remote:_rc:347 - [127.179.219.152] rm -rf /data/src/CCF/build/workspace/lua_end_to_end_logging_0
41: 2019-11-04 17:13:12.034 | INFO | infra.remote:_rc:347 - [127.179.219.152] mkdir -p /data/src/CCF/build/workspace/lua_end_to_end_logging_0
41: 2019-11-04 17:13:12.036 | INFO | infra.remote:_rc:347 - [127.179.219.152] ln -s /data/src/CCF/build/cchost /data/src/CCF/build/workspace/lua_end_to_end_logging_0/cchost
41: 2019-11-04 17:13:12.038 | INFO | infra.remote:_rc:347 - [127.179.219.152] ln -s /data/src/CCF/build/./libluagenericenc.so.signed /data/src/CCF/build/workspace/lua_end_to_end_logging_0/libluagenericenc.so.signed
41: 2019-11-04 17:13:12.039 | INFO | infra.remote:_rc:347 - [127.179.219.152] cp /data/src/CCF/build/member1_cert.pem /data/src/CCF/build/workspace/lua_end_to_end_logging_0
41: 2019-11-04 17:13:12.041 | INFO | infra.remote:_rc:347 - [127.179.219.152] cp /data/src/CCF/build/member2_cert.pem /data/src/CCF/build/workspace/lua_end_to_end_logging_0
41: 2019-11-04 17:13:12.043 | INFO | infra.remote:_rc:347 - [127.179.219.152] cp /data/src/CCF/build/member3_cert.pem /data/src/CCF/build/workspace/lua_end_to_end_logging_0
41: 2019-11-04 17:13:12.045 | INFO | infra.remote:_rc:347 - [127.179.219.152] cp /data/src/CCF/build/gov.lua /data/src/CCF/build/workspace/lua_end_to_end_logging_0
41: 2019-11-04 17:13:12.047 | INFO | infra.remote:start:384 - [127.179.219.152] cd /data/src/CCF/build/workspace/lua_end_to_end_logging_0 && ./cchost --enclave-file=./libluagenericenc.so.signed --enclave-type=debug --node-address=127.179.219.152:35927 --rpc-address=127.179.219.152:36763 --public-rpc-address=127.179.219.152:36763 --ledger-file=0.ledger --node-cert-file=0.pem --host-log-level=info --raft-election-timeout-ms=100000 --notify-server-address=localhost:58857 --quote-file=quote0.bin start --network-cert-file=networkcert.pem --gov-script=gov.lua --member-cert=member1_cert.pem --member-cert=member2_cert.pem --member-cert=member3_cert.pem 1>/data/src/CCF/build/workspace/lua_end_to_end_logging_0/out 2>/data/src/CCF/build/workspace/lua_end_to_end_logging_0/err (env: {'HOME': '/home/amchamay', 'OE_LOG_LEVEL': 'WARNING'})
41: 2019-11-04 17:13:14.052 | INFO | infra.remote:_rc:347 - [127.179.219.152] cp /data/src/CCF/build/workspace/lua_end_to_end_logging_0/0.pem 0.pem
41: 2019-11-04 17:13:14.054 | INFO | infra.remote:_rc:347 - [127.179.219.152] cp /data/src/CCF/build/workspace/lua_end_to_end_logging_0/networkcert.pem networkcert.pem
41: 2019-11-04 17:13:14.056 | INFO | infra.ccf:_start:911 - Remote 0 started
41: 2019-11-04 17:13:14.112 | INFO | infra.jsonrpc:log_request:228 - [127.179.219.152:36763] #0 nodes/getPrimaryInfo {} (node 0 (node))
41: 2019-11-04 17:13:14.112 | DEBUG | infra.jsonrpc:log_response:239 - #0 {'id': 0, 'result': {'primary_host': b'127.179.219.152', 'primary_id': 0, 'primary_port': b'36763'}, 'error': None, 'jsonrpc': b'2.0', 'commit': 2, 'term': 2, 'global_commit': 2}
41: 2019-11-04 17:13:14.113 | INFO | infra.remote:_rc:347 - [127.83.53.188] rm -rf /data/src/CCF/build/workspace/lua_end_to_end_logging_1
41: 2019-11-04 17:13:14.115 | INFO | infra.remote:_rc:347 - [127.83.53.188] mkdir -p /data/src/CCF/build/workspace/lua_end_to_end_logging_1
41: 2019-11-04 17:13:14.116 | INFO | infra.remote:_rc:347 - [127.83.53.188] ln -s /data/src/CCF/build/cchost /data/src/CCF/build/workspace/lua_end_to_end_logging_1/cchost
41: 2019-11-04 17:13:14.118 | INFO | infra.remote:_rc:347 - [127.83.53.188] ln -s /data/src/CCF/build/./libluagenericenc.so.signed /data/src/CCF/build/workspace/lua_end_to_end_logging_1/libluagenericenc.so.signed
41: 2019-11-04 17:13:14.120 | INFO | infra.remote:_rc:347 - [127.83.53.188] cp /data/src/CCF/build/networkcert.pem /data/src/CCF/build/workspace/lua_end_to_end_logging_1
41: 2019-11-04 17:13:14.122 | INFO | infra.remote:start:384 - [127.83.53.188] cd /data/src/CCF/build/workspace/lua_end_to_end_logging_1 && ./cchost --enclave-file=./libluagenericenc.so.signed --enclave-type=debug --node-address=127.83.53.188:41735 --rpc-address=127.83.53.188:37063 --public-rpc-address=127.83.53.188:37063 --ledger-file=1.ledger --node-cert-file=1.pem --host-log-level=info --raft-election-timeout-ms=100000 --notify-server-address=localhost:58857 --quote-file=quote1.bin join --network-cert-file=networkcert.pem --target-rpc-address=127.179.219.152:36763 1>/data/src/CCF/build/workspace/lua_end_to_end_logging_1/out 2>/data/src/CCF/build/workspace/lua_end_to_end_logging_1/err (env: {'HOME': '/home/amchamay', 'OE_LOG_LEVEL': 'WARNING'})
41: 2019-11-04 17:13:15.125 | INFO | infra.remote:_rc:347 - [127.83.53.188] cp /data/src/CCF/build/workspace/lua_end_to_end_logging_1/1.pem 1.pem
41: 2019-11-04 17:13:15.128 | INFO | infra.ccf:_start:911 - Remote 1 started
41: 2019-11-04 17:13:16.008 | INFO | infra.jsonrpc:log_request:228 - [127.83.53.188:37063] #0 nodes/getCommit {} (node 1 (node))
41: 2019-11-04 17:13:16.008 | DEBUG | infra.jsonrpc:log_response:239 - #0 {'id': 0, 'result': {'commit': 0, 'term': 0}, 'error': None, 'jsonrpc': b'2.0', 'commit': 0, 'term': 2, 'global_commit': 0}
41: 2019-11-04 17:13:16.008 | INFO | infra.ccf:_start_all_nodes:188 - All remotes started
41: 2019-11-04 17:13:16.064 | INFO | infra.jsonrpc:log_request:228 - [127.179.219.152:36763] #0 nodes/getPrimaryInfo {} (node 0 (node))
41: 2019-11-04 17:13:16.074 | DEBUG | infra.jsonrpc:log_response:239 - #0 {'id': 0, 'result': {'primary_host': b'127.179.219.152', 'primary_id': 0, 'primary_port': b'36763'}, 'error': None, 'jsonrpc': b'2.0', 'commit': 4, 'term': 2, 'global_commit': 4}
41: 2019-11-04 17:13:16.132 | INFO | infra.jsonrpc:log_request:228 - [127.179.219.152:36763] #0 members/query {'text': 'tables = ...\n return tables["ccf.service"]:get(0)'} (node 0 (member))
41: 2019-11-04 17:13:16.142 | DEBUG | infra.jsonrpc:log_response:239 - #0 {'id': 0, 'result': {'cert': [45, 45, 45, 45, 45, 66, 69, 71, 73, 78, 32, 67, 69, 82, 84, 73, 70, 73, 67, 65, 84, 69, 45, 45, 45, 45, 45, 10, 77, 73, 73, 66, 116, 106, 67, 67, 65, 84, 117, 103, 65, 119, 73, 66, 65, 103, 73, 82, 65, 75, 76, 122, 118, ...
41: 2019-11-04 17:13:16.196 | INFO | infra.jsonrpc:log_request:228 - [127.179.219.152:36763] #0 nodes/getCommit {} (node 0 (node))
41: 2019-11-04 17:13:16.206 | DEBUG | infra.jsonrpc:log_response:239 - #0 {'id': 0, 'result': {'commit': 4, 'term': 2}, 'error': None, 'jsonrpc': b'2.0', 'commit': 4, 'term': 2, 'global_commit': 4}
41: 2019-11-04 17:13:16.260 | INFO | infra.jsonrpc:log_request:228 - [127.179.219.152:36763] #0 nodes/getCommit {} (node 0 (node))
41: 2019-11-04 17:13:16.270 | DEBUG | infra.jsonrpc:log_response:239 - #0 {'id': 0, 'result': {'commit': 4, 'term': 2}, 'error': None, 'jsonrpc': b'2.0', 'commit': 4, 'term': 2, 'global_commit': 4}
41: 2019-11-04 17:13:16.328 | INFO | infra.jsonrpc:log_request:228 - [127.83.53.188:37063] #0 nodes/getCommit {} (node 1 (node))
41: 2019-11-04 17:13:16.338 | DEBUG | infra.jsonrpc:log_response:239 - #0 {'id': 0, 'result': {'commit': 4, 'term': 2}, 'error': None, 'jsonrpc': b'2.0', 'commit': 4, 'term': 2, 'global_commit': 4}
41: 2019-11-04 17:13:16.338 | SUCCESS | infra.ccf:start_and_join:219 - All nodes joined network
41: 2019-11-04 17:13:16.338 | INFO | infra.proc:ccall:11 - cp /data/src/CCF/src/apps/logging/logging.lua .
41: 2019-11-04 17:13:16.357 | INFO | infra.proc:ccall:11 - ./memberclient --cert=member1_cert.pem --privk=member1_privk.pem --rpc-address=127.179.219.152:36763 --ca=networkcert.pem set_lua_app --lua-app-file=/data/src/CCF/src/apps/logging/logging.lua
41: 2019-11-04 17:13:16.483 | DEBUG | infra.proc:ccall:14 - stdout: {"commit":5,"global_commit":4,"id":0,"jsonrpc":"2.0","result":{"completed":false,"id":0},"term":2}
41: 2019-11-04 17:13:16.483 | INFO | infra.proc:ccall:11 - ./memberclient --cert=member1_cert.pem --privk=member1_privk.pem --rpc-address=127.179.219.152:36763 --ca=networkcert.pem vote --proposal-id=0 --accept
41: 2019-11-04 17:13:16.620 | DEBUG | infra.proc:ccall:14 - stdout: {"commit":6,"global_commit":4,"id":0,"jsonrpc":"2.0","result":false,"term":2}
41: 2019-11-04 17:13:16.621 | INFO | infra.proc:ccall:11 - ./memberclient --cert=member2_cert.pem --privk=member2_privk.pem --rpc-address=127.179.219.152:36763 --ca=networkcert.pem vote --proposal-id=0 --accept
41: 2019-11-04 17:13:16.755 | DEBUG | infra.proc:ccall:14 - stdout: {"commit":7,"global_commit":4,"id":0,"jsonrpc":"2.0","result":true,"term":2}
41: 2019-11-04 17:13:16.812 | INFO | infra.jsonrpc:log_request:228 - [127.179.219.152:36763] #0 nodes/mkSign {} (node 0 (node))
41: 2019-11-04 17:13:16.822 | DEBUG | infra.jsonrpc:log_response:239 - #0 {'id': 0, 'result': True, 'error': None, 'jsonrpc': b'2.0', 'commit': 8, 'term': 2, 'global_commit': 4}
41: 2019-11-04 17:13:16.822 | INFO | infra.jsonrpc:log_request:228 - [127.179.219.152:36763] #1 nodes/getCommit {'commit': 7} (node 0 (node))
41: 2019-11-04 17:13:16.833 | DEBUG | infra.jsonrpc:log_response:239 - #1 {'id': 1, 'result': {'commit': 7, 'term': 2}, 'error': None, 'jsonrpc': b'2.0', 'commit': 8, 'term': 2, 'global_commit': 4}
41: 2019-11-04 17:13:16.933 | INFO | infra.jsonrpc:log_request:228 - [127.179.219.152:36763] #2 nodes/getCommit {'commit': 7} (node 0 (node))
41: 2019-11-04 17:13:16.943 | DEBUG | infra.jsonrpc:log_response:239 - #2 {'id': 2, 'result': {'commit': 7, 'term': 2}, 'error': None, 'jsonrpc': b'2.0', 'commit': 8, 'term': 2, 'global_commit': 8}
41: 2019-11-04 17:13:16.944 | INFO | infra.proc:ccall:11 - ./memberclient --cert=member1_cert.pem --privk=member1_privk.pem --rpc-address=127.179.219.152:36763 --ca=networkcert.pem add_user --user-cert=user1_cert.pem
41: 2019-11-04 17:13:17.067 | DEBUG | infra.proc:ccall:14 - stdout: {"commit":9,"global_commit":8,"id":0,"jsonrpc":"2.0","result":{"completed":false,"id":1},"term":2}
41: 2019-11-04 17:13:17.068 | INFO | infra.proc:ccall:11 - ./memberclient --cert=member1_cert.pem --privk=member1_privk.pem --rpc-address=127.179.219.152:36763 --ca=networkcert.pem vote --proposal-id=1 --accept
41: 2019-11-04 17:13:17.199 | DEBUG | infra.proc:ccall:14 - stdout: {"commit":10,"global_commit":8,"id":0,"jsonrpc":"2.0","result":false,"term":2}
41: 2019-11-04 17:13:17.199 | INFO | infra.proc:ccall:11 - ./memberclient --cert=member2_cert.pem --privk=member2_privk.pem --rpc-address=127.179.219.152:36763 --ca=networkcert.pem vote --proposal-id=1 --accept
41: 2019-11-04 17:13:17.332 | DEBUG | infra.proc:ccall:14 - stdout: {"commit":11,"global_commit":8,"id":0,"jsonrpc":"2.0","result":true,"term":2}
41: 2019-11-04 17:13:17.384 | INFO | infra.jsonrpc:log_request:228 - [127.179.219.152:36763] #0 nodes/mkSign {} (node 0 (node))
41: 2019-11-04 17:13:17.394 | DEBUG | infra.jsonrpc:log_response:239 - #0 {'id': 0, 'result': True, 'error': None, 'jsonrpc': b'2.0', 'commit': 12, 'term': 2, 'global_commit': 8}
41: 2019-11-04 17:13:17.394 | INFO | infra.jsonrpc:log_request:228 - [127.179.219.152:36763] #1 nodes/getCommit {'commit': 11} (node 0 (node))
41: 2019-11-04 17:13:17.404 | DEBUG | infra.jsonrpc:log_response:239 - #1 {'id': 1, 'result': {'commit': 11, 'term': 2}, 'error': None, 'jsonrpc': b'2.0', 'commit': 12, 'term': 2, 'global_commit': 8}
41: 2019-11-04 17:13:17.505 | INFO | infra.jsonrpc:log_request:228 - [127.179.219.152:36763] #2 nodes/getCommit {'commit': 11} (node 0 (node))
41: 2019-11-04 17:13:17.515 | DEBUG | infra.jsonrpc:log_response:239 - #2 {'id': 2, 'result': {'commit': 11, 'term': 2}, 'error': None, 'jsonrpc': b'2.0', 'commit': 12, 'term': 2, 'global_commit': 12}
41: 2019-11-04 17:13:17.515 | INFO | infra.proc:ccall:11 - ./memberclient --cert=member1_cert.pem --privk=member1_privk.pem --rpc-address=127.179.219.152:36763 --ca=networkcert.pem add_user --user-cert=user2_cert.pem
41: 2019-11-04 17:13:17.647 | DEBUG | infra.proc:ccall:14 - stdout: {"commit":13,"global_commit":12,"id":0,"jsonrpc":"2.0","result":{"completed":false,"id":2},"term":2}
41: 2019-11-04 17:13:17.647 | INFO | infra.proc:ccall:11 - ./memberclient --cert=member1_cert.pem --privk=member1_privk.pem --rpc-address=127.179.219.152:36763 --ca=networkcert.pem vote --proposal-id=2 --accept
41: 2019-11-04 17:13:17.775 | DEBUG | infra.proc:ccall:14 - stdout: {"commit":14,"global_commit":12,"id":0,"jsonrpc":"2.0","result":false,"term":2}
41: 2019-11-04 17:13:17.775 | INFO | infra.proc:ccall:11 - ./memberclient --cert=member2_cert.pem --privk=member2_privk.pem --rpc-address=127.179.219.152:36763 --ca=networkcert.pem vote --proposal-id=2 --accept
41: 2019-11-04 17:13:17.907 | DEBUG | infra.proc:ccall:14 - stdout: {"commit":15,"global_commit":12,"id":0,"jsonrpc":"2.0","result":true,"term":2}
41: 2019-11-04 17:13:17.964 | INFO | infra.jsonrpc:log_request:228 - [127.179.219.152:36763] #0 nodes/mkSign {} (node 0 (node))
41: 2019-11-04 17:13:17.974 | DEBUG | infra.jsonrpc:log_response:239 - #0 {'id': 0, 'result': True, 'error': None, 'jsonrpc': b'2.0', 'commit': 16, 'term': 2, 'global_commit': 12}
41: 2019-11-04 17:13:17.974 | INFO | infra.jsonrpc:log_request:228 - [127.179.219.152:36763] #1 nodes/getCommit {'commit': 15} (node 0 (node))
41: 2019-11-04 17:13:17.984 | DEBUG | infra.jsonrpc:log_response:239 - #1 {'id': 1, 'result': {'commit': 15, 'term': 2}, 'error': None, 'jsonrpc': b'2.0', 'commit': 16, 'term': 2, 'global_commit': 12}
41: 2019-11-04 17:13:18.085 | INFO | infra.jsonrpc:log_request:228 - [127.179.219.152:36763] #2 nodes/getCommit {'commit': 15} (node 0 (node))
41: 2019-11-04 17:13:18.095 | DEBUG | infra.jsonrpc:log_response:239 - #2 {'id': 2, 'result': {'commit': 15, 'term': 2}, 'error': None, 'jsonrpc': b'2.0', 'commit': 16, 'term': 2, 'global_commit': 16}
41: 2019-11-04 17:13:18.095 | INFO | infra.proc:ccall:11 - ./memberclient --cert=member1_cert.pem --privk=member1_privk.pem --rpc-address=127.179.219.152:36763 --ca=networkcert.pem add_user --user-cert=user3_cert.pem
41: 2019-11-04 17:13:18.223 | DEBUG | infra.proc:ccall:14 - stdout: {"commit":17,"global_commit":16,"id":0,"jsonrpc":"2.0","result":{"completed":false,"id":3},"term":2}
41: 2019-11-04 17:13:18.223 | INFO | infra.proc:ccall:11 - ./memberclient --cert=member1_cert.pem --privk=member1_privk.pem --rpc-address=127.179.219.152:36763 --ca=networkcert.pem vote --proposal-id=3 --accept
41: 2019-11-04 17:13:18.363 | DEBUG | infra.proc:ccall:14 - stdout: {"commit":18,"global_commit":16,"id":0,"jsonrpc":"2.0","result":false,"term":2}
41: 2019-11-04 17:13:18.364 | INFO | infra.proc:ccall:11 - ./memberclient --cert=member2_cert.pem --privk=member2_privk.pem --rpc-address=127.179.219.152:36763 --ca=networkcert.pem vote --proposal-id=3 --accept
41: 2019-11-04 17:13:18.491 | DEBUG | infra.proc:ccall:14 - stdout: {"commit":19,"global_commit":16,"id":0,"jsonrpc":"2.0","result":true,"term":2}
41: 2019-11-04 17:13:18.548 | INFO | infra.jsonrpc:log_request:228 - [127.179.219.152:36763] #0 nodes/mkSign {} (node 0 (node))
41: 2019-11-04 17:13:18.558 | DEBUG | infra.jsonrpc:log_response:239 - #0 {'id': 0, 'result': True, 'error': None, 'jsonrpc': b'2.0', 'commit': 20, 'term': 2, 'global_commit': 16}
41: 2019-11-04 17:13:18.564 | INFO | infra.jsonrpc:log_request:228 - [127.179.219.152:36763] #1 nodes/getCommit {'commit': 19} (node 0 (node))
41: 2019-11-04 17:13:18.564 | DEBUG | infra.jsonrpc:log_response:239 - #1 {'id': 1, 'result': {'commit': 19, 'term': 2}, 'error': None, 'jsonrpc': b'2.0', 'commit': 20, 'term': 2, 'global_commit': 16}
41: 2019-11-04 17:13:18.664 | INFO | infra.jsonrpc:log_request:228 - [127.179.219.152:36763] #2 nodes/getCommit {'commit': 19} (node 0 (node))
41: 2019-11-04 17:13:18.664 | DEBUG | infra.jsonrpc:log_response:239 - #2 {'id': 2, 'result': {'commit': 19, 'term': 2}, 'error': None, 'jsonrpc': b'2.0', 'commit': 20, 'term': 2, 'global_commit': 20}
41: 2019-11-04 17:13:18.665 | INFO | infra.ccf:start_and_join:226 - Initial set of users added
41: 2019-11-04 17:13:18.665 | INFO | infra.proc:ccall:11 - ./memberclient --cert=member1_cert.pem --privk=member1_privk.pem --rpc-address=127.179.219.152:36763 --ca=networkcert.pem open_network
41: 2019-11-04 17:13:18.799 | DEBUG | infra.proc:ccall:14 - stdout: {"commit":21,"global_commit":20,"id":0,"jsonrpc":"2.0","result":{"completed":false,"id":4},"term":2}
41: 2019-11-04 17:13:18.800 | INFO | infra.proc:ccall:11 - ./memberclient --cert=member1_cert.pem --privk=member1_privk.pem --rpc-address=127.179.219.152:36763 --ca=networkcert.pem vote --proposal-id=4 --accept
41: 2019-11-04 17:13:18.935 | DEBUG | infra.proc:ccall:14 - stdout: {"commit":22,"global_commit":20,"id":0,"jsonrpc":"2.0","result":false,"term":2}
41: 2019-11-04 17:13:18.935 | INFO | infra.proc:ccall:11 - ./memberclient --cert=member2_cert.pem --privk=member2_privk.pem --rpc-address=127.179.219.152:36763 --ca=networkcert.pem vote --proposal-id=4 --accept
41: 2019-11-04 17:13:19.065 | DEBUG | infra.proc:ccall:14 - stdout: {"commit":23,"global_commit":20,"id":0,"jsonrpc":"2.0","result":true,"term":2}
41: 2019-11-04 17:13:19.120 | INFO | infra.jsonrpc:log_request:228 - [127.179.219.152:36763] #0 nodes/mkSign {} (node 0 (node))
41: 2019-11-04 17:13:19.130 | DEBUG | infra.jsonrpc:log_response:239 - #0 {'id': 0, 'result': True, 'error': None, 'jsonrpc': b'2.0', 'commit': 25, 'term': 2, 'global_commit': 20}
41: 2019-11-04 17:13:19.130 | INFO | infra.jsonrpc:log_request:228 - [127.179.219.152:36763] #1 nodes/getCommit {'commit': 23} (node 0 (node))
41: 2019-11-04 17:13:19.130 | DEBUG | infra.jsonrpc:log_response:239 - #1 {'id': 1, 'result': {'commit': 23, 'term': 2}, 'error': None, 'jsonrpc': b'2.0', 'commit': 25, 'term': 2, 'global_commit': 20}
41: 2019-11-04 17:13:19.231 | INFO | infra.jsonrpc:log_request:228 - [127.179.219.152:36763] #2 nodes/getCommit {'commit': 23} (node 0 (node))
41: 2019-11-04 17:13:19.231 | DEBUG | infra.jsonrpc:log_response:239 - #2 {'id': 2, 'result': {'commit': 23, 'term': 2}, 'error': None, 'jsonrpc': b'2.0', 'commit': 25, 'term': 2, 'global_commit': 25}
41: 2019-11-04 17:13:19.288 | INFO | infra.jsonrpc:log_request:228 - [127.179.219.152:36763] #0 members/query {'text': 'tables = ...\n return tables["ccf.service"]:get(0)'} (node 0 (member))
41: 2019-11-04 17:13:19.298 | DEBUG | infra.jsonrpc:log_response:239 - #0 {'id': 0, 'result': {'cert': [45, 45, 45, 45, 45, 66, 69, 71, 73, 78, 32, 67, 69, 82, 84, 73, 70, 73, 67, 65, 84, 69, 45, 45, 45, 45, 45, 10, 77, 73, 73, 66, 116, 106, 67, 67, 65, 84, 117, 103, 65, 119, 73, 66, 65, 103, 73, 82, 65, 75, 76, 122, 118, ...
41: 2019-11-04 17:13:19.299 | SUCCESS | infra.ccf:start_and_join:229 - ***** Network is now open *****
Same argument was I can not use Python to verify my problem (my problem happened on the command/sequence that gave you). I want to make sure all CCF command requests and responses were good from your point of view. I attached Lua codes (please rename/remove .xtx) to see if it helps on your side.
gov.lua.txt madrec_app.lua.txt
For p12 file, you will use member pem and cert and export into keystore (see below command) openssl pkcs12 -export -in member2_cert.pem -inkey member2_privk.pem -out member2.p12 -name member2 -passout pass:password
To make it more clear, all CCF lua codes did not change, all Java client codes did not change. I am using the same codes with different CCF version/command. I have done more than 30 times with previous CCF version with no problem. The version that I had problem was different and I am not sure I did everything right from the document. That's reason I suspected new CCF version
Hi @chantong-ubs
Since we do not have the Java client that you are using, the simplest thing to do now would be for you to run ./tests.sh -VV -R lua_end_to_end_logging
on your environment. That way we will easily verify if there is a problem with CCF adding users or if it is an issue on the Java client side and/or the p12 files that you are using.
Thank you, Olga
@chantong-ubs I can only think of two things:
About the follower, I had 3 nodes. As you can see from the command/response, member 1 proposed and member 2 accepted. I tried member 3 to accept, but the response returned already accepted with enough quorum. This should not be an issue.
@chantong-ubs I've pushed a branch called log_client_certs (https://github.com/microsoft/CCF/tree/log_client_certs). Please build with -DVERBOSE_LOGGING=ON, and you will get the full client cert as PEM logged on every RPC. I hope this helps.
K, I will use the below commands to get source codes. Please verify this is correct.
git clone -b log_client_certs --recursive https://github.com/microsoft/CCF.git git fetch --tags git tag -l git checkout tags/tcp_keepalives
@chantong-ubs just the first command please (—recursive is no longer needed but won’t cause problems either).
@chantong-ubs #501 (https://microsoft.github.io/CCF/users/issue_commands.html) changed RPCs to use a prefix, so you will need to add "users/" in front of your user rpcs ("members/" for members RPC).
This is to remove the need for SNI to be used and part of our move towards REST.
I'm not familiar with the code to change. Can you be more specific about the change? Add prefix is easy, but where exactly?
To all methods in jsonrpc messages, as per https://microsoft.github.io/CCF/users/issue_commands.html
$ cat request.json
{
"id": 0,
"method": "users/LOG_record",
"jsonrpc": "2.0",
"params":
{
"id": 42,
"msg": "Hello There"
}
}
which before would have been:
$ cat request.json
{
"id": 0,
"method": "LOG_record",
"jsonrpc": "2.0",
"params":
{
"id": 42,
"msg": "Hello There"
}
}
After changed method, still getting the same error, see JSON request:
TlsClient startConnection: Socket[addr=/52.234.133.170,port=25000,localport=49206] callR REQ:com.ubs.madrec.ccbf.clients.MemberImpl$Proposal@719a6f6c RpcTlsClient call REQ:{"jsonrpc":"2.0","id":1,"method":"users/propose","params":{"script":{"text":"tables, user_cert = ...\nreturn Calls:call(\"new_user\", user_cert)"},"parameter":[48,-126,1,-75,48,-126,1,57,-96,3,2,1,2,2,17,0,-26,-73,-111,49,-59,82,-75,49,43,-14,-118,-79,-110,-33,4,-111,48,12,6,8,42,-122,72,-50,61,4,3,3,5,0,48,16,49,14,48,12,6,3,85,4,3,12,5,117,115,101,114,49,48,32,23,13,48,49,48,49,48,49,48,48,48,48,48,48,90,24,15,50,49,48,48,49,50,51,49,50,51,53,57,53,57,90,48,16,49,14,48,12,6,3,85,4,3,12,5,117,115,101,114,49,48,118,48,16,6,7,42,-122,72,-50,61,2,1,6,5,43,-127,4,0,34,3,98,0,4,-124,-44,64,-122,-109,55,19,12,-26,-23,-2,-74,-61,-21,78,-52,-58,-56,64,60,91,28,79,-47,-3,115,45,-60,94,37,-113,-33,-43,47,-45,-22,56,76,55,99,-90,-2,-99,-34,70,0,-30,65,105,-7,-75,-69,-124,-71,-40,125,-39,-40,-39,27,-54,99,122,-84,-29,89,-117,-72,14,-115,3,-56,-13,40,-37,-46,4,44,-9,74,-90,41,-94,-68,8,118,-27,90,37,60,-45,-89,95,-28,102,97,-93,83,48,81,48,15,6,3,85,29,19,4,8,48,6,1,1,-1,2,1,0,48,29,6,3,85,29,14,4,22,4,20,40,-123,-2,-80,33,-25,83,-112,-17,109,-70,-125,-6,119,114,93,9,125,-40,127,48,31,6,3,85,29,35,4,24,48,22,-128,20,40,-123,-2,-80,33,-25,83,-112,-17,109,-70,-125,-6,119,114,93,9,125,-40,127,48,12,6,8,42,-122,72,-50,61,4,3,3,5,0,3,104,0,48,101,2,49,0,-85,-91,-54,8,-95,-125,109,51,-83,-18,-57,-110,-96,77,79,-112,5,67,103,69,-127,-26,12,74,-73,9,-71,66,9,-28,46,-120,-99,-124,47,-31,-36,51,-97,-40,-112,123,-43,127,-18,49,-47,74,2,48,117,-85,0,0,22,2,42,-56,16,60,123,81,111,126,-70,-41,-45,5,-74,-76,-11,-81,-38,20,116,32,75,94,-104,-113,53,-100,-90,7,-43,-73,-6,40,-21,20,29,-60,-115,-61,-3,-94,-103,-62]}}
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "error" (class com.ubs.madrec.ccbf.rpc.Rpc$Response), not marked as ignorable (6 known properties: "global_commit", "commit", "id", "term", "jsonrpc", "result"]) at [Source: (byte[])"��error��codeр��message�@[METHOD_NOT_FOUND]: No handler script found for method 'propose'�id^A�jsonrpc�2.0"; line: -1, column: 8] (through reference chain: com.ubs.madrec.ccbf.rpc.Rpc$Response["error"]) at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:60) at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:823) at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:1153) at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1589) at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1567) at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:294) at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:151) at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4013) at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3091) at com.ubs.madrec.ccbf.rpc.RpcTlsClient.call(RpcTlsClient.java:44) at com.ubs.madrec.ccbf.rpc.RpcTlsClient.callR(RpcTlsClient.java:66) at com.ubs.madrec.ccbf.clients.MemberImpl.addClient(MemberImpl.java:41) at com.ubs.madrec.ccbf.clients.MemberImpl.addUser(MemberImpl.java:53) at com.ubs.madrec.coco.ServiceContainer.init(ServiceContainer.java:33) at com.ubs.madrec.coco.controller.CredentialsRestController.getCertificate(CredentialsRestController.java:130)
propose is a members method, so that should be "members/propose". Only RPCs on the user frontend (ie. madrec specific code) are "users/".
@chantong-ubs solved offline.
Built CCF source codes from Oct 4, 2019.
After client established SSL connection with CCF node, client performed some activities and idle for 10-20 minutes or so (roughly, did not count exact minutes). Then, client used the same connection sent request to CCF Node and waited for response, but read time out. Then, client terminated the process, CCF node connection still exist. I observed the file descriptor on CCF Node was increasing from /proc/$pid/fd. Because of this behavior, the CCF Node reached file description limitation (see issue #414).
Attached standard output from CCF Node with command "cchost --enclave-file libluagenericenc.so.signed --enclave-type debug --host-log-level debug --node-address $host_ip:$raft_port --rpc-address $host_ip:$tls_port --public-rpc-address $pub_host_ip:$tls_port --ledger-file $node_id.log --node-cert-file $node_id.pem --quote-file quote$node_id.bin start --network-cert-file network_cert.pem --gov-script gov.lua --app-script madrec_app.lua --member-certs member1_cert.pem "
out.txt