[ python-Bugs-1117670 ] profiler: Bad return and Bad call errors with exceptions
SourceForge.net
noreply at sourceforge.net
Thu Aug 24 08:43:52 CEST 2006
Bugs item #1117670, was opened at 2005-02-06 23:50
Message generated for change (Comment added) made by edloper
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1117670&group_id=5470
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Python Library
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Matthew Mueller (donut)
Assigned to: Nobody/Anonymous (nobody)
Summary: profiler: Bad return and Bad call errors with exceptions
Initial Comment:
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
----------------------------------------------------------------------
>Comment By: Edward Loper (edloper)
Date: 2006-08-24 02:43
Message:
Logged In: YES
user_id=195958
This bug was fixed by the following check-in:
http://mail.python.org/pipermail/python-checkins/2005-
September/047099.html
It should be closed. A work-around for people using older
versions of 2.4 is to do:
from profile import Profile
Profile.dispatch['c_exception'] = \
Profile.trace_dispatch_return
----------------------------------------------------------------------
Comment By: Artur de Sousa Rocha (adsr)
Date: 2006-02-04 18:47
Message:
Logged In: YES
user_id=728207
I've run into this bug too and decided to check the test
cases. Here's what I found:
1) Both test cases fail as mentioned above under Cygwin.
2) Under native Windows Python, profile_badcall.py passes OK
and profile_badreturn.py gives the following traceback:
Traceback (most recent call last):
File "c:\Python24\lib\profile.py", line 611, in ?
run('execfile(%r)' % (sys.argv[0],), options.outfile,
options.sort)
File "c:\Python24\lib\profile.py", line 72, in run
prof = prof.run(statement)
File "c:\Python24\lib\profile.py", line 448, in run
return self.runctx(cmd, dict, dict)
File "c:\Python24\lib\profile.py", line 454, in runctx
exec cmd in globals, locals
File "<string>", line 1, in ?
File "profile_badreturn.py", line 9, in ?
sum(1,0)
TypeError: iteration over non-sequence
Python versions used:
Python 2.4.1 (#1, May 27 2005, 18:02:40)
[GCC 3.3.3 (cygwin special)] on cygwin
Python 2.4.2 (#67, Sep 28 2005, 12:41:11) [MSC v.1310 32 bit
(Intel)] on win32
----------------------------------------------------------------------
Comment By: Andrew Bennetts (spiv)
Date: 2005-10-08 03:05
Message:
Logged In: YES
user_id=50945
I still see this in current python 2.4, but not in current
python CVS.
Also, hotshot seems to work ok in 2.4 and CVS.
OS: ubuntu breezy (5.10)
Arch: i386
----------------------------------------------------------------------
Comment By: Gary Oberbrunner (garyoberbrunner)
Date: 2005-03-08 22:35
Message:
Logged In: YES
user_id=417980
Is there any news on this bug? It is possibly preventing
scons (http://scons.org) from being profiled on python 2.4
-- we get the same errors as above. Test case is too large
to include here, but please email me with any news if
possible! Would be glad to test a fix.
-- Gary
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1117670&group_id=5470
More information about the Python-bugs-list
mailing list