Describe the bug
Probably a bug in CPython's JIT but given that coverage is kinda special wanted to confirm it here first:
py315: commands[7]> python igor.py clean_for_core sysmon
py315: commands[8]> python igor.py test_with_core sysmon
=== CPython 3.15.0b4 (main Jul 24 2026 13:32:39) (gil) with sys.monitoring (/usr) ===
bringing up nodes...
.....................................s..s.s.ss................................................................................. [ 7%]
.....................F......................................................................................................... [ 15%]
...............s........................................s.ss.........sss.......s.s............................................. [ 23%]
..............................s.ss.sss........s.....s...............s.......................................................... [ 31%]
............................................................................................................................... [ 39%]
............................................................................................................................... [ 46%]
........................................................................................s...................................... [ 54%]
........................s................s.........................................................s...s....s..s...s........... [ 62%]
..................................................................ss.ss..............s......................................... [ 70%]
...................................................................................sssss.ssssss.ss.ssssssss.s.ss..s.s.......... [ 78%]
..............s..................................................................s............................................. [ 85%]
....s.......................................................................................................................... [ 93%]
...........................................................................s....................ss.... [100%]
============================================================== FAILURES ===============================================================
______________________________________________________ LoopArcTest.test_continue ______________________________________________________
[gw10] linux -- Python 3.15.0 /home/mgorny/coveragepy/.tox/py315/bin/python
self = <tests.test_arcs.LoopArcTest object at 0x7f608174ce90>
def test_continue(self) -> None:
> self.check_coverage(
"""\
for i in range(10):
a = i
continue # 3
a = 99
assert a == 9 # 5
""",
branchz="12 15",
branchz_missing="",
)
E AssertionError: Wrong missing branches: [] != [(1, 5)]
E assert [] == [(1, 5)]
E
E Right contains one more item: (1, 5)
E
E Full diff:
E + []
E - [
E - (
E - 1,
E - 5,
E - ),
E - ]
/home/mgorny/coveragepy/tests/test_arcs.py:523: AssertionError
======================================================= short test summary info =======================================================
FAILED tests/test_arcs.py::LoopArcTest::test_continue - AssertionError: Wrong missing branches: [] != [(1, 5)]
1 failed, 1557 passed, 68 skipped in 20.76s
To Reproduce
- Build CPython 3.15.0b4 with --enable-experimental-jit
- tox -e py315
Reproduced with 9a0bd90.
Expected behavior
Tests passing :-).
Additional context
If I rebuild with JIT disabled, it passes. The previous version (7.15.2) fails the same way. --with-tail-call-interp doesn't seem to make a difference.
Reactions are currently unavailable
Describe the bug
Probably a bug in CPython's JIT but given that coverage is kinda special wanted to confirm it here first:
To Reproduce
Reproduced with 9a0bd90.
Expected behavior
Tests passing :-).
Additional context
If I rebuild with JIT disabled, it passes. The previous version (7.15.2) fails the same way. --with-tail-call-interp doesn't seem to make a difference.