-
Notifications
You must be signed in to change notification settings - Fork 83
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(rpc): actually use RPC in CLI tests; add icmd and assertCmd for better error reporting #942
Conversation
b88506d
to
36e477c
Compare
26d026f
to
79dbabb
Compare
I'm currently getting when trying to deploy.
|
b379699
to
8fb6e26
Compare
To properly parse CLI args from string
8fb6e26
to
d4141f2
Compare
I have been looking into this and it seems soroban-rpc receives a "PENDING" status when submitting the contract creation transaction but core never sends back meta for it. This causes the CLI to receive a "NOT_FOUND" status when querying the transaction for 10 seconds, leading to a timeout. I see three possibilities:
|
Here are the three transactions sent to the standalone network, the third of which doesn't result in any transaction being ingested by soroban-rpc:
I didn't see any meaningful information in the core logs: core-logs.txt |
It seems to have worked once! https://github.com/stellar/soroban-tools/actions/runs/6149908369/job/16686748093?pr=942 So maybe it is a concurrency problem. But it still fails locally for me. |
Here are the Core debug logs: core-logs-debug.txt |
Here is the meaningful part of the logs:
|
OK, I think I know what is happening. After the last transaction is sent, soroban-rpc stops ingesting ledgers. I don't know if it's due to a problem in soroban-rpc or due to a problem in captive core. The last ingestion logs are:
(After this there aren't any more But ... the last transaction is included in ledger 17 acording to the Core logs. My guess is that, for some reason, stellar-core stops producing meta. |
I can confirm that we get stuck at |
It turns out the problem was caused by a mismatch in the commit of Core vs Captive Core. |
What
Correctly name the env vars for setting the network configuration when invoking the CLI.
Also fix auth bug for deploys.
runCLICommand
now usesicmd
to execute CLI commands andshlex
to parse the input string. 'assertCmd' wraps a call torunCLICommand
andrequire.NoError
, passing the stderr writer to lazily write with error, returning stdout as astring
.Why
It currently is using the sandbox.
Known limitations
[TODO or N/A]