2

I have a fully synced Geth node and am trying to run the debug.traceTransaction() method, but it keeps giving me this error:

Error: missing trie node 60c376cdb14aec29386df043d081afcfa38a97da22e25d344c4104fd91cf6cc1 (path )

Here is the code I'm running (in Node):

web3.currentProvider.sendAsync({
    method: "debug_traceTransaction",
    params: ['0x3fac854179691e377fc1aa180b71a4033b6bb3bde2a7ef00bc8e78f849ad356e', {}],
    jsonrpc: "2.0",
    id: "2"
}, function (err, result) {
    console.log(err);
    console.log(result);
});

Oddly, it does seem to work for some transactions, so I think the code is correct. I've also tried deleting the data and re-syncing, but I keep get the same error.

These are the parameters I'm using for Geth:

geth --cache=1024 --rpc --rpcaddr "127.0.0.1" --rpcport "3010" --rpcapi "eth,net,web3,debug"

Is this a problem with the state trie? Is there something I need to do to make sure Geth is saving the states? Alternatively, is there a way of running the state for specific transactions?

  • 2
    In order to use trace api of geth you have to sinchronize your node with --syncmode full. – Ismael Aug 24 '17 at 6:16
  • 1
    Thanks. It seems the documentation is a bit outdated, does not mention syncmode and has full sync as the default. I will see if that works. – mgalka Aug 24 '17 at 23:09
  • @Ismael Thank you thank you thank you!!! :) Otherwise this is not a duplicate of the two questions as the reason for this failure is completely different. – johndodo Dec 19 '17 at 7:27