[issue35857] Stacktrace shows lines from updated file on disk, not code actually running

Steve Pryde report at bugs.python.org
Wed Jan 30 00:03:28 EST 2019


New submission from Steve Pryde <spryde81 at gmail.com>:

When python prints or returns a stacktrace, it displays the appropriate line from the *current file on disk*, which may have changed since the program was run. It should instead show the lines from the file as it was when the code was executed.

Steps to reproduce:
1. Save the following code to a file and run it in a terminal.

    import time 

    time.sleep(600)

2. While it is running, insert a line before "time.sleep(600)", type some random characters, and save the file. The "time.sleep" should now be on line 4, and some random characters on line 3.

3. Now go back to the terminal and press Ctrl+C (to generate a stacktrace).


Expected output:

^CTraceback (most recent call last):
  File "py1.py", line 3, in <module>
    time.sleep(600)
KeyboardInterrupt


Actual output:

^CTraceback (most recent call last):
  File "py1.py", line 3, in <module>
    some random characters
KeyboardInterrupt

----------
components: Interpreter Core
messages: 334544
nosy: Steve Pryde
priority: normal
severity: normal
status: open
title: Stacktrace shows lines from updated file on disk, not code actually running
type: behavior
versions: Python 3.7

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue35857>
_______________________________________


More information about the Python-bugs-list mailing list