This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: debugger stops at breakpoint of `pass` that is not actually reached
Type: behavior Stage: resolved
Components: Interpreter Core, Library (Lib) Versions: Python 3.9
process
Status: closed Resolution: out of date
Dependencies: Superseder:
Assigned To: Nosy List: gatekeeper.mail, iritkatriel
Priority: normal Keywords:

Created on 2020-12-02 22:36 by gatekeeper.mail, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
debug_bug.py gatekeeper.mail, 2020-12-02 22:36
Messages (7)
msg382351 - (view) Author: Andy S (gatekeeper.mail) Date: 2020-12-02 22:36
The python (3.6) doc states (https://docs.python.org/3/reference/simple_stmts.html#the-pass-statement):

pass is a null operation...

So since this is still an operation one could expect that it can be used as an op to breakpoint on while debugging some scripts.

Nevertheless:

$ pdb3.7 ./debug_bug.py 
> /...play/debug_bug.py(1)<module>()
-> a = None
(Pdb) list
  1  -> a = None
  2  
  3  
  4     def fun():
  5         b = False
  6         if a is None:
  7             b = True
  8             pass
  9         else:
 10             pass
 11  
(Pdb) 
 12  
 13     fun()
 14     pass
[EOF]
(Pdb) b 10
Breakpoint 1 at /...play/debug_bug.py:10
(Pdb) run
Restarting ./debug_bug.py with arguments:
        ./debug_bug.py
> /...play/debug_bug.py(1)<module>()
-> a = None
(Pdb) continue
> /...play/debug_bug.py(10)fun()
-> pass
(Pdb) bt
  /usr/lib/python3.7/bdb.py(585)run()
-> exec(cmd, globals, locals)
  <string>(1)<module>()
  /...play/debug_bug.py(13)<module>()
-> fun()
> /...play/debug_bug.py(10)fun()
-> pass
(Pdb) p b
True
(Pdb)
msg410662 - (view) Author: Irit Katriel (iritkatriel) * (Python committer) Date: 2022-01-15 20:24
I can't reproduce this on 3.11.

3.7 is no longer maintained, and there have been many changes since then to the trace output. It is likely that this bug has been fixed, but please create a new issue if you see it on a current version.
msg412782 - (view) Author: Andy S (gatekeeper.mail) Date: 2022-02-07 19:20
Can reproduce this on 3.9. Is the fact 3.9 is in `bugfix` status enough to backport any fixing changes from 3.11 (if that's true and the bug was fixed)?
msg412783 - (view) Author: Irit Katriel (iritkatriel) * (Python committer) Date: 2022-02-07 19:23
It depends how risky the 3.9 release manager would consider the fix to be. The first step would be to find out which commit(s) fixed it.
msg412785 - (view) Author: Andy S (gatekeeper.mail) Date: 2022-02-07 19:37
Then maybe those RMs (for 3.9 and 3.10) should decide on their own? That should mean the bug should be reopened for them to get assigned to.
msg412788 - (view) Author: Irit Katriel (iritkatriel) * (Python committer) Date: 2022-02-07 19:42
Fine, I’ll reopen it for 3.9. However, realistically the release managers are unlikely to investigate how this bug got fixed between 3.9 and 3.11 so if you think this is important you might want to do that work.
msg415085 - (view) Author: Irit Katriel (iritkatriel) * (Python committer) Date: 2022-03-13 19:29
On second thought I won't keep this open till it expires.

This is a low priority bug which no longer exists in new versions because it was fixed by accident due to another change. I don't believe anyone would care enough about this to investigate how it accidentally got fixed (and then investigate how it can be fixed in 3.9).

In my judgement it's not worth anyone (core devs or contributors) spending any more time on this (even just reading it and moving on). We have over 7000 open issues and only a handful of volunteers reviewing and fixing them.

I found msg412785 a bit rude, but I will give you the benefit of the doubt that you didn't intend for it to come across that way. If you still believe that I am overstepping my authority and this should be decided by the RMs, I suggest you raise this with the SC or on python-dev.
History
Date User Action Args
2022-04-11 14:59:38adminsetgithub: 86714
2022-03-13 19:29:19iritkatrielsetstatus: open -> closed
resolution: out of date
messages: + msg415085
2022-02-07 19:42:16iritkatrielsetstatus: closed -> open
resolution: out of date -> (no value)
messages: + msg412788

versions: + Python 3.9, - Python 3.7
2022-02-07 19:37:34gatekeeper.mailsetmessages: + msg412785
2022-02-07 19:23:45iritkatrielsetmessages: + msg412783
2022-02-07 19:20:39gatekeeper.mailsetmessages: + msg412782
2022-01-15 20:24:04iritkatrielsetstatus: open -> closed

nosy: + iritkatriel
messages: + msg410662

resolution: out of date
stage: resolved
2020-12-02 22:36:25gatekeeper.mailcreate