Message334544
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 |
|
Date |
User |
Action |
Args |
2019-01-30 05:03:30 | Steve Pryde | set | recipients:
+ Steve Pryde |
2019-01-30 05:03:26 | Steve Pryde | set | messageid: <1548824606.25.0.597748947115.issue35857@roundup.psfhosted.org> |
2019-01-30 05:03:26 | Steve Pryde | link | issue35857 messages |
2019-01-30 05:03:25 | Steve Pryde | create | |
|