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

Bump to Python 3.9 attempt 2. #3623

Closed
wants to merge 26 commits into from
Closed

Bump to Python 3.9 attempt 2. #3623

wants to merge 26 commits into from

Conversation

moodyjon
Copy link
Contributor

Based on work by @eukreign in branch py39.

I am still not sure what issues in the tests are truly due to Python upgrade vs. pre-existing timing issues. I have some hacks in there adding asyncio.sleep().

Other risky areas are related to Python 3.8 changing the base class of asyncio.CancelledError from Exception to BaseException. I fixed some places that assumed the old base class, but there may be more. See 8bb7805 and 528a37a

I am excited about upgrading to 3.9 because it lets me run more things natively on MacOS arm64.

Change a369228 should be temporary, and lets me repeat tests manually to assess reliability.

@moodyjon
Copy link
Contributor Author

Putting this in draft status, pending fix for some (probably) unrelated test failures:

  1. (pending fixes) Fixes for intermittent test failures: test_exchange_rate_manager(), test_basic_claim_search() #3624
  2. (hub? fixes needed) lbry-sdk suite: test_es_sync_utility: AssertionError: 217 != 218 hub#55

@eukreign
Copy link
Member

eukreign commented Jul 8, 2022

@moodyjon I'm really excited about your work on this! Really looking forward to be able to upgrade to 3.9. I will review all of this as soon as you get all of the tests passing and give me a heads up.

@coveralls
Copy link

coveralls commented Jul 8, 2022

Coverage Status

Coverage increased (+0.4%) to 58.134% when pulling fcffe1b on moodyjon:py39_2 into 01cd95f on lbryio:master.

@moodyjon
Copy link
Contributor Author

I have synced up to head-of-line, and am running tests to asses where the next pain point is in the tests. Most of this is going on in moodyjon/lbry-sdk actions using the manual trigger.

As test_setting_stream_fields against (go) herald has been disabled, that is no longer a deterministic failure.

@moodyjon
Copy link
Contributor Author

Out of 20 runs, I got 5 failures. test_connection_drop_still_receives_events_after_reconnected was seen 2 times, the others 1 time.

py39_2 ci failures.txt

test_file_save_stop_before_finished_streaming_only_wait_for_start is one I had been modifying heavily, though I don't really know what to make of the way it failed. A bunch of debugging info was dumped out and coverage run .... integration.datanetwork exited abruptly with SIGSEGV during the test.

180
ERROR: InvocationError for command /home/runner/work/lbry-sdk/lbry-sdk/.tox/datanetwork/bin/coverage run -p --source=/home/runner/work/lbry-sdk/lbry-sdk/.tox/datanetwork/lib/python3.9/site-packages/lbry -m unittest discover -vv integration.datanetwork (exited with code -11 (SIGSEGV)) (exited with code -11)

I think I've seen the SIGSEGV before in other workspaces. Any insight into whether Python code can do this? or could it be the coverage tool combined with some feature of the code?

@moodyjon
Copy link
Contributor Author

Closing in favor of #3711

@moodyjon moodyjon closed this Nov 22, 2022
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.

3 participants