Stellar RPC - Lack of information during ExceededLimit
simulation errors
#1715
Replies: 1 comment 2 replies
-
There is a bunch of env issues, that we need to address, though some of these aren't very straightforward (specifically, adding more logging for the budget errors).
FWIW the number of reasons is not that large: budget only covers CPU and memory (and I've yet to see the memory limit being hit). But this unfortunately is also the error we return for exceeding the shadow budget - hitting the shadow budget limit for regular transactions has never been intended. Without that caveat it would've been safe to say that it must be CPU instructions exceeded even without looking at diagnostics. |
Beta Was this translation helpful? Give feedback.
-
During a
simulateTransaction
ExceededLimit
failure, there is virtually no information shared with the user besides the failure, and no simple way to get more information.For example, here is the
SimulateTransactionErrorResponse
for 2 different transactions w/ diagnostic events enabled:Given the large number of
ExceededLimit
error reasons possible, it would be a significant improvement to share what limit was tripped.Currently, if you run into this, the best way to diagnose what limit it being reached is to download a (mainnet/testnet) snapshot with all the relevant contracts (not easy if you don't know the contract you are interacting with well), and write a Rust test to determine what resources were used.
There are also differences in snapshot testing vs simulation, so the reproduction might not always be accurate.
Beta Was this translation helpful? Give feedback.
All reactions