I ran into a weird error when trying to profile a test
script of mine:
AssertionError: ('Bad call', ('', 0, 'encode'))
I managed to whittle it down to some minimal test
cases, which are attached (although the errors they
generate are slightly different.)
$ python-cvs -m profile profile_badcall.py
Traceback (most recent call last):
[snipped ...]
File
"/home/donut/usr64/python/lib/python2.5/profile.py",
line 444, in runctx
exec cmd in globals, locals
File "<string>", line 1, in ?
File "profile_badcall.py", line 10, in ?
os.path.join("C",'b')
File
"/home/donut/usr64/python/lib/python2.5/posixpath.py",
line 56, in join
def join(a, *p):
File
"/home/donut/usr64/python/lib/python2.5/profile.py",
line 228, in trace_dispatch_i
if self.dispatch[event](self, frame, t):
File
"/home/donut/usr64/python/lib/python2.5/profile.py",
line 285, in trace_dispatch_call
assert (self.cur is None or \
AssertionError: ('Bad call', ('profile_badcall.py', 2,
'trier'))
$ python-cvs -m profile profile_badreturn.py
Traceback (most recent call last):
[snipped...]
File
"/home/donut/usr64/python/lib/python2.5/profile.py",
line 444, in runctx
exec cmd in globals, locals
File "<string>", line 1, in ?
File
"/home/donut/usr64/python/lib/python2.5/profile.py",
line 228, in trace_dispatch_i
if self.dispatch[event](self, frame, t):
File
"/home/donut/usr64/python/lib/python2.5/profile.py",
line 312, in trace_dispatch_return
assert frame is self.cur[-2].f_back, ("Bad return",
self.cur[-3])
AssertionError: ('Bad return', ('profile_badreturn.py',
1, 'trier'))
The errors occur in python CVS as of 20050206 and
python 2.4, but not in python 2.3.4.
OS: debian sid (3.1)
Arch: amd64
|