Getting an error in executing a token contract:

An error occurred during contract execution: invalid jump destination (PUSH1) 2


Using this transaction code:

myContractInstance.transferFrom(fromAddress, toAddress, transferValue, {from: web3.eth.accounts[0], gas: 3000000});

Is there an obvious reason I'm overlooking? Thanks


  • can you edit with code that you were using from contract? – VoR0220 Apr 13 '16 at 6:00
  • This is often from an array out-of-bounds error, but I can't be sure unless you post the source code. – Tjaden Hess Apr 13 '16 at 14:09

Replicating ERROR: invalid jump destination (PUSH1) 2

I don't know what source code you were executing, but I can replicate the invalid jump destination (PUSH1) 2 error by running the following function:

contract TestInvalidJumpLoc {

    function testInvalidJumpLocation() public constant returns (uint[5]) {
      uint[5] memory data;
      uint j = 1;
      j = j - 2;
      data[j] = 1235;
      return data;

And executing the function to get the following results:

 PC 00000304: JUMP GAS: 49978004 COST: 8 ERROR: invalid jump destination (PUSH1) 2

This error could have been caused by some other parts of your code, but an invalid array index definitely generates this message.

The above snippet was taken from my answer to the question Bad Jump Array solidity and Data location .

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.