Open Otto-AA opened 4 months ago
I've also tested it with an Erigon node, which raised an Exception: Sadly I don't have access to a Geth instance to test it currently.
From what I know, the nodes try to achieve equal behaviour. So if this is indeed a bug caused by differences in the JS tracing, we could collect the data and open a corresponding issue. However, it would be useful to have access to the expected trace for comparison, which I can't provide myself.
@@@ @@@ @@@@@@ @@@@@@@ @@@ @@@ @@@@@@
@@@ @@@ @@@@@@@@ @@@@@@@@ @@@ @@@ @@@@@@@
@@! @@@ @@! @@@ @@! @@@ @@! @@@ !@@
!@! @!@ !@! @!@ !@! @!@ !@! @!@ !@!
@!@!@!@! @!@ !@! @!@!!@! @!@ !@! !!@@!!
!!!@!!!! !@! !!! !!@!@! !@! !!! !!@!!!
!!: !!! !!: !!! !!: :!! !!: !!! !:!
:!: !:! :!: !:! :!: !:! :!: !:! !:!
:: ::: ::::: :: :: ::: ::::: :: :::: ::
: : : : : : : : : : : : :: : :
Connecting to http://localhost:8080...
Connected to erigon/2.59.3/linux-amd64/go1.21.5 (mainnet)
Blockchain is in sync.
Latest block: 20039089
An error occured in retrieving the trace: {'code': -32000, 'message': "tracer accessed out of bound stack: size 0, index 0 at step (<eval>:1:3215(796)) in server-side tracer function 'step'"}
Traceback (most recent call last):
File "horus.py", line 172, in main
extractor.extract_facts_from_transactions(connection, transactions, blocks, settings.FACTS_FOLDER, args.compress)
File "/root/horus/extractor/__init__.py", line 447, in extract_facts_from_transactions
raise e
File "/root/horus/extractor/__init__.py", line 422, in extract_facts_from_transactions
raise Exception("An error occured in retrieving the trace: {}".format(trace_response["error"]))
Exception: An error occured in retrieving the trace: {'code': -32000, 'message': "tracer accessed out of bound stack: size 0, index 0 at step (<eval>:1:3215(796)) in server-side tracer function 'step'"}
Hi, the example from the README does not yield any results to me.
I guess, the problem is that the tracer does not find all the CALLs that it should find. See the attached trace.json for what it found in my case, using the node Reth hosted on merkle.io.
To debug, it would likely be best if you can check if the expected traces look different with your provider. I've attached a script to make the RPC call with the JS tracer for simple use.
Steps I've performed:
This results in following outputs (note the many 0-byte files):
Apart from the souffle version 2.0.2 warning, it does not show any errors/warnings.