Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Python: Dev

The step command of pdb is broken

 

 

Python dev RSS feed   Index | Next | Previous | View Threaded


xdegaye at gmail

Apr 30, 2012, 3:31 AM

Post #1 of 9 (374 views)
Permalink
The step command of pdb is broken

Issue http://bugs.python.org/issue13183 raises the point that the step
command of pdb is broken. This issue is 6 months old. A patch and test
case have been proposed. The 'Lifecycle of a Patch' at
http://docs.python.org/devguide/patch.html says
<quote>
If your patch has not received any notice from reviewers (i.e., no
comment made) after a substantial amount of time then you may email
python-dev [at] python asking for someone to take a look at your patch.
</quote>
I am the author of pyclewn, a Vim front end to pdb and gdb, and I
would be grateful for any progress on this issue.

The following pdb session shows the problem when running the three
modules main.py, foo.py and bar.py. After the second step command, pdb
does not stop (as it should) at lines foo.py:5 and foo.py:6, nor does
it stop to print the return value of increment().
=================================================
main.py
1 import foo
2
3 result = foo.increment(100)
4 print('result', result)
foo.py
1 import bar
2
3 def increment(arg):
4 v = bar.value()
5 result = arg + v
6 return result
bar.py
1 def value():
2 return 5
=================================================
$ python -m pdb main.py
> /path_to/main.py(1)<module>()
-> import foo
(Pdb) import sys; sys.version
'3.3.0a2+ (default:2c27093fd11f, Apr 30 2012, 10:51:35) \n[GCC 4.3.2]'
(Pdb) break bar.py:2
Breakpoint 1 at /path_to/bar.py:2
(Pdb) continue
> /path_to/bar.py(2)value()
-> return 5
(Pdb) step
--Return--
> /path_to/bar.py(2)value()->5
-> return 5
(Pdb) step
> /path_to/main.py(4)<module>()
-> print('result', result)
(Pdb)
=================================================


Xavier
_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


guido at python

Apr 30, 2012, 8:42 AM

Post #2 of 9 (362 views)
Permalink
Re: The step command of pdb is broken [In reply to]

IT would be good if the author of one of the pdb add-ons such as (I
believe) pdb2 could comment on this bug.

On Mon, Apr 30, 2012 at 3:31 AM, Xavier de Gaye <xdegaye [at] gmail> wrote:
> Issue http://bugs.python.org/issue13183 raises the point that the step
> command of pdb is broken. This issue is 6 months old. A patch and test
> case have been proposed. The 'Lifecycle of a Patch' at
> http://docs.python.org/devguide/patch.html says
> <quote>
> If your patch has not received any notice from reviewers (i.e., no
> comment made) after a substantial amount of time then you may email
> python-dev [at] python asking for someone to take a look at your patch.
> </quote>
> I am the author of pyclewn, a Vim front end to pdb and gdb, and I
> would be grateful for any progress on this issue.
>
> The following pdb session shows the problem when running the three
> modules main.py, foo.py and bar.py. After the second step command, pdb
> does not stop (as it should) at lines foo.py:5 and foo.py:6, nor does
> it stop to print the return value of increment().
> =================================================
> main.py
>     1  import foo
>     2
>     3  result = foo.increment(100)
>     4  print('result', result)
> foo.py
>     1  import bar
>     2
>     3  def increment(arg):
>     4      v =  bar.value()
>     5      result = arg + v
>     6      return result
> bar.py
>     1  def value():
>     2      return 5
> =================================================
> $ python -m pdb main.py
>> /path_to/main.py(1)<module>()
> -> import foo
> (Pdb) import sys; sys.version
> '3.3.0a2+ (default:2c27093fd11f, Apr 30 2012, 10:51:35) \n[GCC 4.3.2]'
> (Pdb) break bar.py:2
> Breakpoint 1 at /path_to/bar.py:2
> (Pdb) continue
>> /path_to/bar.py(2)value()
> -> return 5
> (Pdb) step
> --Return--
>> /path_to/bar.py(2)value()->5
> -> return 5
> (Pdb) step
>> /path_to/main.py(4)<module>()
> -> print('result', result)
> (Pdb)
> =================================================
>
>
> Xavier
> _______________________________________________
> Python-Dev mailing list
> Python-Dev [at] python
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: http://mail.python.org/mailman/options/python-dev/guido%40python.org



--
--Guido van Rossum (python.org/~guido)
_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


barry at python

Apr 30, 2012, 9:09 AM

Post #3 of 9 (366 views)
Permalink
Re: The step command of pdb is broken [In reply to]

On Apr 30, 2012, at 08:42 AM, Guido van Rossum wrote:

>IT would be good if the author of one of the pdb add-ons such as (I
>believe) pdb2 could comment on this bug.

Maybe we should take this opportunity (Python 3.3) to consider adopting one of
the pdb add-ons or borging the best of their bits into the stdlib?

-Barry
_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


guido at python

Apr 30, 2012, 9:12 AM

Post #4 of 9 (364 views)
Permalink
Re: The step command of pdb is broken [In reply to]

On Mon, Apr 30, 2012 at 9:09 AM, Barry Warsaw <barry [at] python> wrote:
> On Apr 30, 2012, at 08:42 AM, Guido van Rossum wrote:
>
>>IT would be good if the author of one of the pdb add-ons such as (I
>>believe) pdb2 could comment on this bug.
>
> Maybe we should take this opportunity (Python 3.3) to consider adopting one of
> the pdb add-ons or borging the best of their bits into the stdlib?

I thought we already took most of the useful bits of one of these...
(Admitted I'm vague on details and haven't the time to research.)

--
--Guido van Rossum (python.org/~guido)
_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


senthil at uthcode

Apr 30, 2012, 9:57 AM

Post #5 of 9 (365 views)
Permalink
Re: The step command of pdb is broken [In reply to]

On Mon, Apr 30, 2012 at 12:09:02PM -0400, Barry Warsaw wrote:
> Maybe we should take this opportunity (Python 3.3) to consider adopting one of
> the pdb add-ons or borging the best of their bits into the stdlib?

Irrespective of this - Issue13183 seems to be an easy to verify bug in
3.2 and 3.3. I think, it would most visible if you were to use a full
screen debugger and you will notice that the return call indicator has
jumped to the next statement (skipping return) when returning. I
guess, that's why Xavier (pyclewn author) noted it. The fix seems
fine too.

I have just requested an additional info and this particular one could
be fixed.

Thanks,
Senthil

_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


guido at python

Apr 30, 2012, 10:05 AM

Post #6 of 9 (362 views)
Permalink
Re: The step command of pdb is broken [In reply to]

Senthil, if you can shepherd this patch to completion that would be great!

On Mon, Apr 30, 2012 at 9:57 AM, Senthil Kumaran <senthil [at] uthcode> wrote:
> On Mon, Apr 30, 2012 at 12:09:02PM -0400, Barry Warsaw wrote:
>> Maybe we should take this opportunity (Python 3.3) to consider adopting one of
>> the pdb add-ons or borging the best of their bits into the stdlib?
>
> Irrespective of this - Issue13183 seems to be an easy to verify bug in
> 3.2 and 3.3. I think, it would most visible if you were to use a full
> screen debugger and you will notice that the return call indicator has
> jumped to the next statement (skipping return) when returning. I
> guess, that's why Xavier (pyclewn author) noted it.  The fix seems
> fine too.
>
> I have just requested an additional info and this particular one could
> be fixed.
>
> Thanks,
> Senthil
>
> _______________________________________________
> Python-Dev mailing list
> Python-Dev [at] python
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: http://mail.python.org/mailman/options/python-dev/guido%40python.org



--
--Guido van Rossum (python.org/~guido)
_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


xdegaye at gmail

Apr 30, 2012, 1:08 PM

Post #7 of 9 (359 views)
Permalink
Re: The step command of pdb is broken [In reply to]

On Mon, Apr 30, 2012 at 6:57 PM, Senthil Kumaran wrote:
> Irrespective of this - Issue13183 seems to be an easy to verify bug in
> 3.2 and 3.3. I think, it would most visible if you were to use a full
> screen debugger and you will notice that the return call indicator has
> jumped to the next statement (skipping return) when returning. I
> guess, that's why Xavier (pyclewn author) noted it.  The fix seems
> fine too.
>
> I have just requested an additional info and this particular one could
> be fixed.


Thanks for your help on this issue Senthil.

Xavier
_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


martin at v

Apr 30, 2012, 1:46 PM

Post #8 of 9 (355 views)
Permalink
Re: The step command of pdb is broken [In reply to]

On 30.04.2012 18:09, Barry Warsaw wrote:
> On Apr 30, 2012, at 08:42 AM, Guido van Rossum wrote:
>
>> IT would be good if the author of one of the pdb add-ons such as (I
>> believe) pdb2 could comment on this bug.
>
> Maybe we should take this opportunity (Python 3.3) to consider adopting one of
> the pdb add-ons or borging the best of their bits into the stdlib?

I think the same policies should apply that I want to see followed for
any other inclusion into the stdlib: we shouldn't "adopt" any code that
is not explicitly contributed, by it's author.

That's not only the legal issues, but also the responsibility for the
code. Otherwise, we end up with code that still nobody owns, and the
out-of-core version still gets better support.

Regards,
Martin

_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


xdegaye at gmail

May 5, 2012, 3:51 AM

Post #9 of 9 (339 views)
Permalink
Re: The step command of pdb is broken [In reply to]

On Mon, Apr 30, 2012 at 12:31 PM, Xavier de Gaye wrote:
> Issue http://bugs.python.org/issue13183 raises the point that the step
> command of pdb is broken. This issue is 6 months old. A patch and test
> case have been proposed.

Other pdb commands are also broken for the same reason (no trace
function setup in the targeted caller frame).
A new http://bugs.python.org/issue14728 has been submitted with a
proposed patch for these commands and the corresponding test cases.
The patch removes a while loop from the fast path, and that should also
provide an improvement of the performance of Pdb.

Xavier
_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com

Python dev RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.