Incorrect line number calculated in traceback · Issue #93662 · python/cpython (original) (raw)
Consider the following code:
def _run_with_file_output():
example_report_generation_message= (
"""
"""
).strip()
raise ValueError()
_run_with_file_output()
If you execute this with 3.11.0a7 you get (correct traceback):
Traceback (most recent call last):
File "/home/pablogsal/github/python/3.11/lel.py", line 8, in <module>
_run_with_file_output()
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/pablogsal/github/python/3.11/lel.py", line 6, in _run_with_file_output
raise ValueError()
^^^^^^^^^^^^^^^^^^
ValueError
but on 3.11.0b1 you get:
Traceback (most recent call last):
File "/home/pablogsal/github/python/3.11/lel.py", line 8, in <module>
_run_with_file_output()
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/pablogsal/github/python/3.11/lel.py", line 255, in _run_with_file_output
ValueError
Notice that the last line number for _run_with_file_output
is wrong (255 instead of 6).
Bisecting points at:
944fffee8916cb94321fa33cd3a43f4108717746 is the first bad commit
commit 944fffee8916cb94321fa33cd3a43f4108717746
Author: Mark Shannon <mark@hotpy.org>
Date: Thu Apr 21 16:10:37 2022 +0100
GH-88116: Use a compact format to represent end line and column offsets. (GH-91666)
* Stores all location info in linetable to conform to PEP 626.
* Remove column table from code objects.
* Remove end-line table from code objects.
* Document new location table format