On Mon, Nov 12, 2012 at 2:03 AM, Nicholas Devenish <misno...@gmail.com> wrote: > Hi Jeff again, > >> In inspect.py, just before line 758, it looks at co.co_argcount and >> co.co_varnames and assumes that they are the same length, but my guess >> is that they might not be when compiled with pyc. If you can figure >> out exactly what getargspec is being called on, that might help make a >> simpler reproduction that I can work off of. > > > I spent some time this morning trying to reduce down to a standalone test > case; I've got it down to the following, and don't understand what is going > wrong so can't work out what else to remove; sorry about the large chain of > functions, but it seems to somehow be involved. I hope it is helpful: > >> from functools import update_wrapper >> import inspect >> >> def decorator(target): >> def decorate(fn): >> return inspect.getargspec(fn) >> return update_wrapper(decorate, target) >> >> def _decorate_with_warning(func): >> @decorator >> def warned(fn): >> pass >> warned(func) >> >> @_decorate_with_warning >> def execute_at(self, event_name, target): >> def call_event(target, connection): >> if self._somefun(event_name, target, connection): >> pass > > As before, it runs fine as a standalone script > $ ipy testipy.py > > But compiling with: >> pyc /out:TestIPy testily.py >> ipy >>> import clr >>> clr.AddReferenceToFileAndPath("TestIPy.dll") >>> import testipy > > Gives the same traceback: >> Traceback (most recent call last): >> File "runtest.py", line 3, in <module> >> File "testipy", line 3, in <module> >> File "testipy", line 14, in _decorate_with_warning >> File "testipy", line 7, in decorate >> File "c:\Program Files\IronPython 2.7\Lib\inspect.py", line 820, in >> getargspec >> File "c:\Program Files\IronPython 2.7\Lib\inspect.py", line 762, in getargs >> IndexError: index out of range: 2 > > I hope this is helpful!
Very, thank you. Do you think you could open an issue (http://ironpython.codeplex.com/WorkItem/Create) and put the smaller repro in it? I'll try to take a look at it soon because I'm working on the compiler code anyway, but at least with an issue it won't get completely forgotten. - Jeff _______________________________________________ Ironpython-users mailing list Ironpython-users@python.org http://mail.python.org/mailman/listinfo/ironpython-users