"Fernando Perez" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > I'd like to hear from some of our resident gurus if this is really an > inspect.py bug before I bother the developers with a formal bug report on > SF.
I know nothing of inspect, but this certainly look like a bug (see below). > #!/usr/bin/env python > """This script triggers an exception in inspect.py""" > > import sys > import inspect > > try: > # This line is invalid, but we should be able to build exception info > for > # it with the usual tools. > (lambda(x): x[0] + x[1])(3) > except: > etb = sys.exc_info()[2] > records = inspect.getinnerframes(etb) > for frame, file, lnum, func, lines, index in records: > # The getargvalues call below blows up with an exception in > inspect.py > args, varargs, varkw, locals = inspect.getargvalues(frame) > print 'args:',args [I removed the blank lines which made it diffificult to cut and paste.] [Here is the output (from 2.2) you forgot to include'-):] args: [] Traceback (most recent call last): File "<stdin>", line 9, in ? File "C:\Python22\lib\inspect.py", line 629, in getargvalues args, varargs, varkw = getargs(frame.f_code) File "C:\Python22\lib\inspect.py", line 592, in getargs remain[-1] = remain[-1] - 1 IndexError: list index out of range Error happens on second iteration. Getargs seems to be trying to index into an empty list, which it either should not do or should wrap with try-except. If the same happens in 2.4, I would probably report it after looking a bit at the inspect code and after adding a debug print before the getargvalues call to see if the second record values looks as sane as the first set. If you want a fix in 2.3.5, coming January, a patch would more likely get action than just a bug report. Terry J. Reedy -- http://mail.python.org/mailman/listinfo/python-list