Examples: query, "exact match", wildcard*, wild?ard, wild*rd
Fuzzy search: cake~ (finds cakes, bake)
Term boost: "red velvet"^4, chocolate^2
Field grouping: tags:(+work -"fun-stuff")
Escape special characters +-&|!(){}[]^"~*?:\ - e.g. \+ \* \!
Range search: properties.timestamp:[1587729413488 TO *] (inclusive), properties.title:{A TO Z}(excluding A and Z)
Combinations: chocolate AND vanilla, chocolate OR vanilla, (chocolate OR vanilla) NOT "vanilla pudding"
Field search: properties.title:"The Title" AND text
How to check what a specific TVM exit code means?

I'm getting an error with an exit code -14. Where can I find the descriptions of such codes to check what exactly caused the error?

This question was imported from Telegram Chat: https://t.me/tondev/123497

Votes Newest


There's a list of standard TVM exit code in the official documentation: https://docs.ton.org/learn/tvm-instructions/tvm-exit-code

Here it is:

0 - Standard successful execution exit code.
1 - Alternative successful execution exit code.
2 - Stack underflow. Last op-code consumed more elements than there are on the stacks. 1
3 - Stack overflow. More values have been stored on a stack than allowed by this version of TVM.
4 - Integer overflow. Integer does not fit into −2256 ≤ x < 2256 or a division by zero has occurred.
5 - Integer out of expected range.
6 - Invalid opcode. Instruction is unknown in the current TVM version.
7 - Type check error. An argument to a primitive is of an incorrect value type. 1
8 - Cell overflow. Writing to builder is not possible since after operation there would be more than 1023 bits or 4 references.
9 - Cell underflow. Read from slice primitive tried to read more bits or references than there are.
10 - Dictionary error. Error during manipulation with dictionary (hashmaps).
11 - Most oftenly caused by trying to call get-method whose id wasn't found in the code (missing method_id modifier or wrong get-method name specified when trying to call it). In TVM docs its described as "Unknown error, may be thrown by user programs".
12 - Thrown by TVM in situations deemed impossible.
13 - Out of gas error. Thrown by TVM when the remaining gas becomes negative.
32 - Action list is invalid. Set during action phase if c5 register after execution contains unparsable object.
32 (the same as prev) - Method ID not found. Returned by TonLib during an attempt to execute non-existent get method.
34 - Action is invalid or not supported. Set during action phase if current action cannot be applied.
37 - Not enough TON. Message sends too much TON (or there is not enough TON after deducting fees).
38 - Not enough extra-currencies.
-14 - It means out of gas error, same as 13. Negative, because it cannot be faked

As far as I understand, there are also custom exit codes with other implemented in specific smart contracts, in that case you need to address a specific contract to find out the cause.

Posted 7 months ago
1 Answer
7 months ago
7 months ago