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

register tx fails with "gas required exceeds allowance or always failing transaction" #163

Open
johannbarbie opened this issue Aug 6, 2019 · 1 comment
Labels
bug Something isn't working

Comments

@johannbarbie
Copy link
Member

johannbarbie commented Aug 6, 2019

Sometimes register tx fails with gas required exceeds allowance or always failing transaction. Not often though. Interesting that it fails even for wrong result (which is the same for each task, maybe it depends on task somehow?)

example number ** 920419823**:

Node A:

node index.js --enforcerAddr=0x6949a2a84C9f32C0C905C84686f129a6abC74Ea1 --walletPriv=0xea.. --ethProvider=https://goerli.infura.io/v3/f0..65 --delay=10000

Wallet: 0xD56F7dFCd2BaFfBC1d885F0266b21C7F2912020c (0.183296646234498502 ETH)
Enforcer: 0x6949a2a84C9f32C0C905C84686f129a6abC74Ea1
Verfier: 0xFC3D322E648844F27F69A616387cfd89F52A9b08
challenger : task request { taskHash:
   '0x19ba271b505f7390f80a2c97eecb91a72aedf37594ff7f2a39f2cdd2c5958369',
  params:
   { origin: '0x8db6B632D743aef641146DC943acb64957155388',
     target: '0x17Df725F564B9A5d1Db61166122eEBc1C2C8D835',
     blockHash:
      '0x0000000000000000000000000000000000000000000000000000000000000000',
     blockNumber: BigNumber { _hex: '0x00' },
     time: BigNumber { _hex: '0x00' },
     txGasLimit: BigNumber { _hex: '0xffffffff' },
     customEnvironmentHash:
      '0x0000000000000000000000000000000000000000000000000000000000000000',
     codeHash:
      '0x17df725f564b9a5d1db61166122eebc1c2c8d835000000000000000000000000',
     dataHash:
      '0x068e923c098a7977c85693c873c5e6a41d2ec9a14823f37e7fe9af97015446d7' } }
challenger : registering execution: 171838 steps
challenger : validating execution result 0x6392bc9cfe3162cc7d30a8ddb387787e2856f459a41f8de9a16a6c87f9fe7065
registerResult { Error: gas required exceeds allowance or always failing transaction
    at getResult (/Users/johba/dev/solEVM-enforcer/challenger/node_modules/ethers/providers/json-rpc-provider.js:40:21)
    at exports.XMLHttpRequest.request.onreadystatechange (/Users/johba/dev/solEVM-enforcer/challenger/node_modules/ethers/utils/web.js:111:30)
    at exports.XMLHttpRequest.dispatchEvent (/Users/johba/dev/solEVM-enforcer/challenger/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:591:25)
    at setState (/Users/johba/dev/solEVM-enforcer/challenger/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:610:14)
    at IncomingMessage.<anonymous> (/Users/johba/dev/solEVM-enforcer/challenger/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:447:13)
    at IncomingMessage.emit (events.js:198:15)
    at endReadableNT (_stream_readable.js:1139:12)
    at processTicksAndRejections (internal/process/task_queues.js:81:17)
  code: -32000,
  data: undefined,
  url:
   'https://goerli.infura.io/v3/<cut>',
  body:
   '{"method":"eth_estimateGas","params":[{"gasPrice":"0x3b9aca00","value":"0x2386f26fc10000","from":"0xD56F7dFCd2BaFfBC1d885F0266b21C7F2912020c","to":"0x6949a2a84C9f32C0C905C84686f129a6abC74Ea1","data":"0x628299b719ba271b505f7390f80a2c97eecb91a72aedf37594ff7f2a39f2cdd2c59583699f4f083453cd117578af700e7c5654c57f6132348fc952930fed9d7c755411b7000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003"}],"id":355,"jsonrpc":"2.0"}',
  responseText:
   '{"jsonrpc":"2.0","id":355,"error":{"code":-32000,"message":"gas required exceeds allowance or always failing transaction"}}' }
challenger : solverHash 0x9f4f083453cd117578af700e7c5654c57f6132348fc952930fed9d7c755411b7
challenger : challengerHash 0x9f4f083453cd117578af700e7c5654c57f6132348fc952930fed9d7c755411b7
challenger : same execution result

Node B:

node index.js --enforcerAddr=0x6949a2a84C9f32C0C905C84686f129a6abC74Ea1 --walletPriv=0x20.. --ethProvider=https://goerli.infura.io/v3/f0..65 --stupid

Wallet: 0xfe44F0198aDdA00D0e36D638Cd7F1cd3aD332304 (0.118232369897018388 ETH)
Enforcer: 0x6949a2a84C9f32C0C905C84686f129a6abC74Ea1
Verfier: 0xFC3D322E648844F27F69A616387cfd89F52A9b08
challenger : task request { taskHash:
   '0x19ba271b505f7390f80a2c97eecb91a72aedf37594ff7f2a39f2cdd2c5958369',
  params:
   { origin: '0x8db6B632D743aef641146DC943acb64957155388',
     target: '0x17Df725F564B9A5d1Db61166122eEBc1C2C8D835',
     blockHash:
      '0x0000000000000000000000000000000000000000000000000000000000000000',
     blockNumber: BigNumber { _hex: '0x00' },
     time: BigNumber { _hex: '0x00' },
     txGasLimit: BigNumber { _hex: '0xffffffff' },
     customEnvironmentHash:
      '0x0000000000000000000000000000000000000000000000000000000000000000',
     codeHash:
      '0x17df725f564b9a5d1db61166122eebc1c2c8d835000000000000000000000000',
     dataHash:
      '0x068e923c098a7977c85693c873c5e6a41d2ec9a14823f37e7fe9af97015446d7' } }
challenger : registering execution: 171838 steps
challenger : execution result registered 0x19ba271b505f7390f80a2c97eecb91a72aedf37594ff7f2a39f2cdd2c5958369
@johannbarbie johannbarbie added the bug Something isn't working label Aug 6, 2019
@johannbarbie
Copy link
Member Author

johannbarbie commented Aug 6, 2019

Steps to reproduce:

  1. pull challenger branch in solevm-enforcer repo
  2. yarn && cd challenger && yarn
  3. Run first instance (correct result, delay added for demo purpose): node index.js --enforcerAddr=0x6949a2a84C9f32C0C905C84686f129a6abC74Ea1 --walletPriv=0xea..cd --ethProvider=https://goerli.infura.io/v3/f0...65 --delay=10000
  4. Run second instance (wrong result): node index.js --enforcerAddr=0x6949a2a84C9f32C0C905C84686f129a6abC74Ea1 --walletPriv=0x20..2c --ethProvider=https://goerli.infura.io/v3/f0..65 --stupid
  5. Go to https://primality.leapdao.org/ and propose some number
  6. Wait for it (edited)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant