4 messages in org.python.python-bugs-list[ python-Bugs-876278 ] Unbounded recu...
FromSent OnAttachments
SourceForge.netMar 25, 2004 3:06 pm 
SourceForge.netMar 25, 2004 3:53 pm 
SourceForge.netMar 25, 2004 4:09 pm 
SourceForge.netMar 30, 2004 3:03 pm 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:[ python-Bugs-876278 ] Unbounded recursion in modulefinderActions...
From:SourceForge.net (nore@sourceforge.net)
Date:Mar 25, 2004 4:09:14 pm
List:org.python.python-bugs-list

Bugs item #876278, was opened at 2004-01-13 19:46 Message generated for change (Comment added) made by theller You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=876278&group_id=5470

Category: Python Library Group: Python 2.3 Status: Open Resolution: None Priority: 5 Submitted By: Thomas Heller (theller) Assigned to: Just van Rossum (jvr) Summary: Unbounded recursion in modulefinder

Initial Comment: modulefinder goes into unbounded recursion when a module named 'path.py', containing 'import os', is on sys.path.

Last part of the traceback: File "c:\python23\lib\modulefinder.py", line 255, in import_module m = self.load_module(fqname, fp, pathname, stuff) File "c:\python23\lib\modulefinder.py", line 285, in load_module self.scan_code(co, m) File "c:\python23\lib\modulefinder.py", line 342, in scan_code self._safe_import_hook(name, m, fromlist) File "c:\python23\lib\modulefinder.py", line 300, in _safe_import_hook self.import_hook(name, caller) File "c:\python23\lib\modulefinder.py", line 124, in import_hook q, tail = self.find_head_package(parent, name) File "c:\python23\lib\modulefinder.py", line 166, in find_head_package q = self.import_module(head, qname, parent) File "c:\python23\lib\modulefinder.py", line 237, in import_module self.msgin(3, "import_module", partname, fqname, parent) RuntimeError: maximum recursion depth exceeded

Running modulefinder with the '-x os.path' command line option prevents the recursion.

This is not really a contrived situation, there&#039;s a possibly useful path.py module from Jason Orendorff at <http://www.jorendorff.com/articles/python/path>

----------------------------------------------------------------------

Comment By: Thomas Heller (theller)

Date: 2004-03-25 22:09

Message: Logged In: YES user_id=11105

It has something to do with os.path. Adding 'os.path' to the excludes list, the problem does not appear.

Adding print statements it seems that mf is looking for os.os.os.os.os.......something, it seems that it recurses without noting that something failed.

If I had to fix this myself, I probably had to first step through these imports with the C debugger, and then through mf.

----------------------------------------------------------------------

Comment By: Just van Rossum (jvr) Date: 2004-03-25 21:53

Message: Logged In: YES user_id=92689

Hm, not really. Do you have any idea what's causing it?

----------------------------------------------------------------------

Comment By: Thomas Heller (theller) Date: 2004-03-25 21:06

Message: Logged In: YES user_id=11105

<ping> Just, do you have time to look into this?

----------------------------------------------------------------------

Comment By: Thomas Heller (theller) Date: 2004-01-28 21:36

Message: Logged In: YES user_id=11105

Just, do you have time to look into this?

----------------------------------------------------------------------