New Python versions for CI#2514
Conversation
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## master #2514 +/- ##
=======================================
Coverage 92.45% 92.45%
=======================================
Files 118 118
Lines 16351 16351
Branches 3156 3156
=======================================
Hits 15118 15118
Misses 1104 1104
Partials 129 129 |
|
3.12 segfault is cause: import sys
def test_reproduction():
sys.unraisablehook = sys.__unraisablehook__
def finalizer(j):
raise Exception("h")
sys.set_asyncgen_hooks(finalizer=finalizer)
async def agen_fn():
yield
agen = agen_fn()
anext(agen)
test_reproduction(**{})I will raise an issue upstream (and maybe fix it myself) YES. EVERY BIT OF THAT IS NECESSARY. From There's another GC thing but that's minor. |
|
The segfault was fixed in python/cpython#100613 Waiting on 3.12a4 for next look. That will be ... today. |
|
GC is different. import weakref
import trio
import gc
async def f():
async with trio.open_nursery() as nursery:
nursery.cancel_scope.cancel()
h = weakref.ref(nursery)
del nursery
await trio.lowlevel.checkpoint()
print(h(), gc.get_referrers(h()) if h() is not None else [])
trio.run(f)Under 3.10 this prints Under 3.12a3+ this prints I will try minimizing this more. Bisected to python/cpython@1e197e6 Rough idea of CPython issue I should file: "Should shim frames keep strong references?" |
richardsheridan
left a comment
There was a problem hiding this comment.
Some requests:
- rebase on master!
- remove pypy nightlies, including in ci.sh
- add
pypy-3.9-dev - add (unsupported) pypy-3.7 to
continue-on-error(we should remove entirely when cpython drops 3.7 support)
|
I thing it's great you're fixing bugs off of this but I don't think that's any reason to keep the PR as draft forever! |
See #2536 maybe? (that'll have to be updated after this is merged)
See also that PR :P
Hmm... I think requiring stable PyPy 3.7 to pass while we support Python 3.7 should be fine. I removed PyPy 3.7 nightly (again, above PR) because PyPy 3.7 is no longer supported as you mention. I hope that is all? (I added a merge commit instead of a rebase cause... idk, this should be squash merged instead of merged with commit anyways) |
richardsheridan
left a comment
There was a problem hiding this comment.
I was wondering the relationship between these two PRs!
Python 3.12 released, PyPy 3.9 released.
Questions: