AntelopeIO / spring

C++ implementation of the Antelope protocol with Savanna consensus
Other
5 stars 2 forks source link

Test Failure: ship_streamer_if_test #275

Closed heifner closed 3 months ago

heifner commented 6 months ago

https://github.com/AntelopeIO/leap/actions/runs/8330931085/job/22797356430

Fork switch caused some SHiP clients to get incorrect information from SHiP.

A quick look, it appears there is a race on the data in the logs when sending out the data. It can find different blocks by number in the logs according to when the request is sent out.

https://github.com/AntelopeIO/leap/blob/main/plugins/state_history_plugin/include/eosio/state_history_plugin/session.hpp#L527-L527

This failed on an IF run, but it appears to me that this is possible pre-IF.

heifner commented 6 months ago

Same issue: https://github.com/AntelopeIO/leap/actions/runs/8360654032/job/22887462153 https://github.com/AntelopeIO/leap/actions/runs/8378447372/job/22946484964 https://github.com/AntelopeIO/leap/actions/runs/8451731380/job/23151071285 https://github.com/AntelopeIO/leap/actions/runs/8484976258/job/23249173884 https://github.com/AntelopeIO/leap/actions/runs/8487605455/job/23255995507

linh2931 commented 6 months ago

Was deep into the SHiP support for IBC. Just notice this issue. I stumbled into the same problem when adding more tests for the IBC work. There is a global variable used in the test file. That caused the problem. I have fixed it in my upcoming commit in https://github.com/AntelopeIO/leap/pull/2321.

This is a pre-IF problem.

linh2931 commented 6 months ago

Updated: The problem I fixed was for fork tests in plugins/state_history_plugin/tests/session_test.cpp, not ship_streamer_if_test. This requires further digging.