[Eric] TypeError in DebugClientBase.py

Seth Hill sethrh at gmail.com
Sat Nov 21 20:18:30 GMT 2009


Hello all,

I'm new to the mailing list and Eric, so please bear with me.

I have discovered a possible bug in the DebugClientBase.py which  
comes with Eric4 4.3.9 (r3513) on Windows XP. I've put a workaround  
in place for the issue (see below). My question is not so much about  
the bug (if it is a bug), but rather, where's the appropriate place  
to submit bug reports? If the right place is here, then continue  
reading (and my apologies if not!).


I'm working with a django 1.1 project, trying to get debugging going.  
I'm working with a form in a view function. I set a breakpoint in the  
view function, and get a TypeError in DebugClientBase.py:1608. It  
looks like the debugger is going through the locals and calling  
unicode() on all of them. Some of the locals in this case don't  
support the unicode method. When the debugger calls the unicode()  
method, it triggers an exception inside the running wsgi server. I  
get an error message on the web page, and the debug session stops  
working.

My code looks like:

forms.py:
class NewCustomerForm(forms.Form):
     name = forms.CharField()
     # etc

views.py:
def create_customer(request):
     if request.method == "POST":  # breakpoint here
         form = NewCustomerForm(request.POST)
         if form.is_valid():       # exception occurs when stepping  
to here


The line in DebugClientBase.py looks like:
     valtypestr = unicode(type(value))[1:-1]

I've "fixed" the error by wrapping the line in a try:

try:
     valtypestr = unicode(type(value))[1:-1]
except TypeError:
     valtypestr = repr(type(value))[1:-1]


You can duplicate the TypeError with something like:

 >>> class Foo:
...        def __unicode__(self):
...            return u'Foo instance'
...
 >>> unicode(Foo)
Traceback (most recent call last):
   File "<console>", line 1, in <module>
TypeError: unbound method __unicode__() must be called with Foo  
instance as first argument (got nothing instead)


Regards,

Seth Hill



More information about the Eric mailing list