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

[1.0.4] bump eos-vm submodule to fix spurious access violations in performance_test_basic_read_only test #1102

Merged
merged 9 commits into from
Jan 22, 2025

Conversation

spoonincode
Copy link
Member

@spoonincode spoonincode commented Jan 15, 2025

Brings in AntelopeIO/eos-vm#30 to resolve test failures seen in #425

TBD how to provide a test for this; it's tricky from a timing standpoint.

@spoonincode spoonincode linked an issue Jan 15, 2025 that may be closed by this pull request
Copy link
Member

@heifner heifner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there anything we can do in the performance_test_basic_read_only test or some other test to make this more likely to fail (before the fix)?

@spoonincode
Copy link
Member Author

I think so, I will see what I can do. Probably will need to be a specialized test built on read_only_trx_test

@spoonincode
Copy link
Member Author

I added a test that should generally reliably fail before this fix. A (failing) demo run with the new two commits for the test applied on top of 1.0 is at https://github.com/AntelopeIO/spring/actions/runs/12801721083

endTime = time.time() + testLengthSeconds
# and then run some other ROtrx that should complete successfully
while time.time() < endTime:
results = sendTransaction(tightloopAccountName, 'doit', {"count": 1000000}, opts='--read') #1 million is a good number to always take <10ms
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Though I am a little worried about the sensitivity across runs of this time requirement

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and yup this value is no good in CI but great locally. hmmm I will have to think some on what to do. The test is more accurate the larger this number is (without "going over"). So maybe it needs to try and sniff out a good value before starting the test.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've pushed up some changes to the test I was hoping would get it working in CI but no... still just way too sensitive to the timing. Not sure where to go from here on it.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I made at least one more change, cec196e, to try and improve the failures, but no luck. I think the test needs to be run with dedicated resources (really I think all the NP/LR tests should run with dedicated resources)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One counter-point to NP/PR tests running in a more dedicated environment is that the chaos-monkey of the current approach has shaken out bugs we would never see in a more stable environment.

@ericpassmore
Copy link
Contributor

Note:start
category: Chores
component: Internal
summary: Fix spurious access violations and bump eos-vm submodule.
Note:end

@heifner heifner requested a review from greg7mdp January 21, 2025 20:31
@spoonincode spoonincode merged commit 1934f75 into release/1.0 Jan 22, 2025
36 checks passed
@spoonincode spoonincode deleted the eosvm_threaded_timeout_10 branch January 22, 2025 03:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Test failure: performance_test_basic_read_only_trxs
4 participants