-
Notifications
You must be signed in to change notification settings - Fork 7
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
trace_api: get_transaction_trace endpoint fails to return transaction trace if the initial block including the transaction forks out #942
Comments
Looks like the retrying here not working spring/tests/TestHarness/transactions.py Line 164 in d3d51ff
|
Certainly looks like a bug in trace_api_plugin get_trx_block_number. The block 125 that originally had the eosio system contract in it was forked out. It was later put into block 137. That block 137 did quickly become final in block 139. However, get_trx_block_number keeps reporting that the trx is in block 125. This looks like it is because the trace_api_plugin only every appends. It does not rewind like SHiP. So the logic is suppose to find the last block with the trxid that is lib. Instead it only finds any block number with a trx where that block number becomes lib later. However, a new block with that number might not have the trx in it. The original trace_api_plugin did not store trx ids. The logic of tracking block_num works for blocks and lib. Once a block number is lib you know the last block with that number in the file is the one you want. This doesn't work for trx ids as the last version of that block you saw might not have the trx id in it. I think we should create a test that reproduces this problem. One possible fix is in get_trx_block_number you verify trx_block_num when found again includes the trxid or you reset trx_block_num to 0. |
Here is the background info from user's point of view. The In addition, more debug logging could be added to |
https://github.com/AntelopeIO/spring/actions/runs/11367823623/job/31622189569#step:4:859
The text was updated successfully, but these errors were encountered: