[issue7539] unicode exceptions terminate pdb.pm() loop

Marius Gedminas report at bugs.python.org
Mon Dec 21 02:17:35 CET 2009


Marius Gedminas <marius at gedmin.as> added the comment:

I don't know what I was smoking when I said pdb.set_trace() wasn't 
affected; I just reproduced the bug with 

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.
>>> import pdb
>>> pdb.set_trace()
--Return--
> <stdin>(1)<module>()->None
(Pdb) raise Exception(u'\xff')
*** Exception: Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.6/bdb.py", line 50, in trace_dispatch
    return self.dispatch_return(frame, arg)
  File "/usr/lib/python2.6/bdb.py", line 83, in dispatch_return
    self.user_return(frame, arg)
  File "/usr/lib/python2.6/pdb.py", line 176, in user_return
    self.interaction(frame, None)
  File "/usr/lib/python2.6/pdb.py", line 194, in interaction
    self.cmdloop()
  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)
>>> 

This makes testing simpler; attached is my very first patch for the 
Python test suite, please review it mercilessly.

(I verified that the test will pass once the bug is fixed by replacing 
U+00FF with U+0001 and seeing that it passes.)

----------
keywords: +patch
Added file: http://bugs.python.org/file15639/test-pdb-unicode-exc.diff

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue7539>
_______________________________________


More information about the Python-bugs-list mailing list