**Bug report** The coverage.py test suite fails to even start on 3.11.0b2, because of a crash inside pytest related to code positions. This is the error from a [nightly build](https://github.com/nedbat/coveragepy/runs/6675064815?check_suite_focus=true#step:7:84): ``` py311 run-test: commands[3] | python igor.py test_with_tracer c -rfsEX === CPython 3.11.0b1+ with C tracer (.tox/py311/bin/python) === Traceback (most recent call last): File "/home/runner/work/coveragepy/coveragepy/igor.py", line 474, in <module> sys.exit(main(sys.argv[1:])) ^^^^^^^^^^^^^^^^^^ File "/home/runner/work/coveragepy/coveragepy/igor.py", line 466, in main ret = handler(*handler_args) ^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/work/coveragepy/coveragepy/igor.py", line 239, in do_test_with_tracer return run_tests(tracer, *runner_args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/work/coveragepy/coveragepy/igor.py", line 152, in run_tests return pytest.main(list(runner_args)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/work/coveragepy/coveragepy/.tox/py311/lib/python3.11/site-packages/_pytest/config/__init__.py", line 145, in main config = _prepareconfig(args, plugins) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/work/coveragepy/coveragepy/.tox/py311/lib/python3.11/site-packages/_pytest/config/__init__.py", line 324, in _prepareconfig config = pluginmanager.hook.pytest_cmdline_parse( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/work/coveragepy/coveragepy/.tox/py311/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__ return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/work/coveragepy/coveragepy/.tox/py311/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/work/coveragepy/coveragepy/.tox/py311/lib/python3.11/site-packages/pluggy/_callers.py", line 55, in _multicall gen.send(outcome) ^^^^^^^^^^^^^^^^^ File "/home/runner/work/coveragepy/coveragepy/.tox/py311/lib/python3.11/site-packages/_pytest/helpconfig.py", line 102, in pytest_cmdline_parse config: Config = outcome.get_result() ^^^^^^^^^^^^^^^^^^^^ File "/home/runner/work/coveragepy/coveragepy/.tox/py311/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result raise ex[1].with_traceback(ex[2]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/work/coveragepy/coveragepy/.tox/py311/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall res = hook_impl.function(*args) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/work/coveragepy/coveragepy/.tox/py311/lib/python3.11/site-packages/_pytest/config/__init__.py", line 1016, in pytest_cmdline_parse self.parse(args) ^^^^^^^^^^^^^^^^ File "/home/runner/work/coveragepy/coveragepy/.tox/py311/lib/python3.11/site-packages/_pytest/config/__init__.py", line 1304, in parse self._preparse(args, addopts=addopts) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/work/coveragepy/coveragepy/.tox/py311/lib/python3.11/site-packages/_pytest/config/__init__.py", line 1187, in _preparse self.pluginmanager.load_setuptools_entrypoints("pytest11") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/work/coveragepy/coveragepy/.tox/py311/lib/python3.11/site-packages/pluggy/_manager.py", line 287, in load_setuptools_entrypoints plugin = ep.load() ^^^^^^^^^ File "/usr/lib/python3.11/importlib/metadata/__init__.py", line 198, in load module = import_module(match.group('module')) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1206, in _gcd_import File "<frozen importlib._bootstrap>", line 1178, in _find_and_load File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 690, in _load_unlocked File "/home/runner/work/coveragepy/coveragepy/.tox/py311/lib/python3.11/site-packages/_pytest/assertion/rewrite.py", line 159, in exec_module source_stat, co = _rewrite_test(fn, self.config) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/runner/work/coveragepy/coveragepy/.tox/py311/lib/python3.11/site-packages/_pytest/assertion/rewrite.py", line 361, in _rewrite_test co = compile(tree, strfn, "exec", dont_inherit=True) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ValueError: line 22-0 is not a valid range ``` When I run the test suite locally with 3.11.0b2, I get the same traceback, but the message is "line 1-0 is not a valid range". Running pytest directly, rather than through my helper doesn't fail. I git bisected: the first bad commit was: ``` 7f6e6abdc43d9b61d81eb26b9fb2073dccf6a3cb is the first bad commit commit 7f6e6abdc43d9b61d81eb26b9fb2073dccf6a3cb Author: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Mon May 30 11:52:36 2022 -0700 gh-93351: Ensure the position information in AST nodes created by the parser is always consistent (GH-93352) (cherry picked from commit 5893b5db98b38b17750c0572c7209774a5034898) Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com> Lib/test/test_ast.py | 27 +++++++++++++++++++++++++++ Python/ast.c | 26 ++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) ``` **Your environment** - CPython versions tested on: 3.11.0b1 works, 3.11.0b2 fails. - Operating system and architecture: Mac OS 10.15.7 **To reproduce** ``` $ mktmpenv -p python3.10 # or some other way to create an environment $ git clone https://github.com/nedbat/coveragepy $ cd coveragepy $ pip install tox $ tox -e py311 ```