Bugs item #927248, was opened at 2004-04-01 06:07 Message generated for change (Comment added) made by loewis You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=927248&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 Interpreter Core Group: Python 2.3 >Status: Closed >Resolution: Fixed Priority: 6 Submitted By: Jp Calderone (kuran) Assigned to: Nobody/Anonymous (nobody) Summary: Python segfaults when freeing "deep" objects Initial Comment: An example to produce this behavior: >>> f = lambda: None >>> for i in range(1000000): ... f = f.__call__ ... >>> f = None Segmentation fault ---------------------------------------------------------------------- >Comment By: Martin v. Löwis (loewis) Date: 2006-07-03 15:48 Message: Logged In: YES user_id=21627 This is now fixed in r47217 and r47218, by putting the method-wrapper objects into the trashcan. ---------------------------------------------------------------------- Comment By: Jp Calderone (kuran) Date: 2006-01-10 23:05 Message: Logged In: YES user_id=366566 Note that in doerwalter transcript, _ is still bound to the method wrapper, preventing Python from attempting to free it. ---------------------------------------------------------------------- Comment By: Georg Brandl (birkenfeld) Date: 2006-01-10 22:54 Message: Logged In: YES user_id=1188172 CVS HEAD of 2006/01/10 still segfaults (here GCC 3.4.5). Segfault occurs at wrapper_dealloc in descrobject.c. ---------------------------------------------------------------------- Comment By: Walter Dörwald (doerwalter) Date: 2004-06-02 21:25 Message: Logged In: YES user_id=89016 Python CVS from 2004-06-02 seems to work: Python 2.4a0 (#5, Jun 2 2004, 20:23:30) [GCC 2.96 20000731 (Red Hat Linux 7.3 2.96-113)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> f = lambda: None >>> for x in xrange(1000000): ... f = f.__call__ ... >>> f <method-wrapper object at 0x4259478c> >>> f = None >>> f >>> ---------------------------------------------------------------------- Comment By: Jacob Smullyan (smulloni) Date: 2004-04-08 05:20 Message: Logged In: YES user_id=108556 Python CVS as of April 7th consistently segfaults with the above example for me: [EMAIL PROTECTED] src $ ~/apps/python-cvs/bin/python Python 2.4a0 (#1, Apr 7 2004, 23:10:34) [GCC 3.3.2 20031218 (Gentoo Linux 3.3.2-r5, propolice-3.3-7)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> f=lambda: None >>> for x in xrange(1000000): ... f=f.__call__ ... >>> f=None Segmentation fault Of course, maybe that's a good thing :). ---------------------------------------------------------------------- Comment By: Jim Jewett (jimjjewett) Date: 2004-04-05 02:32 Message: Logged In: YES user_id=764593 CVS for 2.4 has comments for (and a fix for) problems similar to this. Does the bug still exist with that source code? ---------------------------------------------------------------------- Comment By: Hye-Shik Chang (perky) Date: 2004-04-01 07:21 Message: Logged In: YES user_id=55188 Oh. my patch doesn't fix another scenario that using recursive by two or more types of slots. So I remove. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=927248&group_id=5470 _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com