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

Deploying always reach 100% but error: "X write transactions failed" instead of 1/1 confirming deploy #1082

Open
layer1tales opened this issue Apr 27, 2024 · 1 comment

Comments

@layer1tales
Copy link

layer1tales commented Apr 27, 2024

Problem

I am trying to deploy a program needing 1100 transactions and I am never able to deploy it. Here is my command:

./solana program deploy --url https://xxx-mainnet.quiknode.pro/ --keypair /keypairs/update-authority.json --program-id /keypairs/program-id.json --with-compute-unit-price 501000 /home/quantmaven/rewards-center-main/target/deploy/cardinal_rewards_center.so --max-sign-attempts 500

I will always get from 0% to 100%, which is great, BUT:

99.9% | Resending 2/2 transactions [block height 242467171; re-sign in 256 blocks]

Instead of going to 1/1 confirming final transaction of the deploy, I get this error:

Error: X write transactions failed after 99.9%

It seems like the higher -with-compute-unit-price, the higher the number of write transactions failed.

I have attempted deploying at least 20 times. I always get to 100%, but that 100% has failed transactions. How is that possible? Isn't the code supposed to resend transactions that failed?

Proposed Solution

I feel some timeout is needed somewhere to give time for transactions to fail, before continuing the logic of the code, or else this is what happens. This never happened with core CLI 1.14 when it was only 5 tries, with a small pause of maybe 15-30sec between each attempt. Can someone have any idea where it should be placed? I heard something like this, but not sure where:

let timeout = tokio::time::timeout(Duration::from_secs(60), join_all(futures));
let _ = timeout.await;

   Or maybe if you have a better understanding please let me know because I am losing my sanity over this. Thanks!
@ad7090
Copy link

ad7090 commented Apr 27, 2024

Same issue 35534

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants