[New-bugs-announce] [issue7539] unicode exceptions terminate pdb.pm() loop

Marius Gedminas report at bugs.python.org
Fri Dec 18 12:55:39 CET 2009

New submission from Marius Gedminas <marius at gedmin.as>:

$ python2.6
Python 2.6.4 (r264:75706, Dec  7 2009, 18:45:15) 
[GCC 4.4.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> None()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'NoneType' object is not callable
>>> import pdb; pdb.pm()
> <stdin>(1)<module>()
(Pdb) raise Exception(u'\xff')
*** Exception: Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.6/pdb.py", line 1239, in pm
  File "/usr/lib/python2.6/pdb.py", line 1236, in post_mortem
    p.interaction(None, t)
  File "/usr/lib/python2.6/pdb.py", line 194, in interaction
  File "/usr/lib/python2.6/cmd.py", line 142, in cmdloop
    stop = self.onecmd(line)
  File "/usr/lib/python2.6/pdb.py", line 261, in onecmd
    return cmd.Cmd.onecmd(self, line)
  File "/usr/lib/python2.6/cmd.py", line 218, in onecmd
    return self.default(line)
  File "/usr/lib/python2.6/pdb.py", line 226, in default
    print >>self.stdout, '***', exc_type_name + ':', v
UnicodeEncodeError: 'ascii' codec can't encode character u'\xff' in 
position 0: ordinal not in range(128)

Note that the post-mortem loop is terminated (if you do pdb.set_trace() 
instead of pdb.pm(), that doesn't happen).

This is rather irritating then you're trying to post-mortem debug a 
failed test with expensive setup, when leaving the postmortem pdb 
session exits the process.

Python 3.1 is not affected.  I don't have 2.7 handy.

components: Library (Lib), Unicode
messages: 96560
nosy: mgedmin
severity: normal
status: open
title: unicode exceptions terminate pdb.pm() loop
type: behavior
versions: Python 2.5, Python 2.6

Python tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list