Issue571885
This issue tracker has been migrated to GitHub,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2002-06-20 22:46 by cdelord, last changed 2022-04-10 16:05 by admin. This issue is now closed.
| Messages (8) | |||
|---|---|---|---|
| msg11289 - (view) | Author: Christophe Delord (cdelord) | Date: 2002-06-20 22:46 | |
It seems there's a bug in python 2.3 The following script works with python 2.2, not with 2.3 def flatten(L): for i in L: if type(i) == list: for j in flatten(i): yield j else: yield i def mklist(n): if n: return [ str(n), mklist(n-1), str(n) ] else: return [] L = mklist(6) print "".join(flatten(L)) flatten seems to work but join makes a segmentation fault. It works fine with print "".join(list(flatten(L))) or when L = mklist(4) I'm using Python 2.3 with Linux (Redhat) Best regards, Christophe Delord. |
|||
| msg11290 - (view) | Author: Christophe Delord (cdelord) | Date: 2002-06-20 22:50 | |
Logged In: YES
user_id=566423
Of course, with a correct indentation, it is:
def flatten(L):
for i in L:
if type(i) == list:
for j in flatten(i):
yield j
else:
yield i
def mklist(n):
if n:
return [ str(n), mklist(n-1), str(n) ]
else:
return []
L = mklist(6)
print "".join(flatten(L))
|
|||
| msg11291 - (view) | Author: Jeremy Hylton (jhylton) ![]() |
Date: 2002-06-20 22:52 | |
Logged In: YES user_id=31392 When I run the test script, python2.3 says: 654321123456 If I add a future statement to the script and run it with 2.2, I get a core dump. |
|||
| msg11292 - (view) | Author: Jeremy Hylton (jhylton) ![]() |
Date: 2002-06-20 22:56 | |
Logged In: YES user_id=31392 The latest CVS on the 2.2 maintenance branch also works correctly. I suspect you've hit a bug that is already fixed. I'm closing for now, but feel free to re-open if you can provoke it with a current checkout from CVS. If so, it would be helpful if you could provide a stack trace from gdb. |
|||
| msg11293 - (view) | Author: Jeremy Hylton (jhylton) ![]() |
Date: 2002-06-20 23:00 | |
Logged In: YES
user_id=31392
I was a bit hasty. It doesn't dump core everytime, but it
does seem to dump core occasionally. Here's a stack trace
from gdb:
#0 0x806ad98 in _PyTuple_Resize (pv=0xbffff5d8, newsize=12)
at ../Objects/tupleobject.c:687
#1 0x80b746a in PySequence_Tuple (v=0x4019c72c) at
../Objects/abstract.c:1347
#2 0x80b94bf in PySequence_Fast (v=0x4019c72c, m=0x80d02dc "")
at ../Objects/abstract.c:1444
#3 0x8065a71 in string_join (self=0x40148098, orig=0x4019c72c)
at ../Objects/stringobject.c:1212
#4 0x8088166 in fast_cfunction (func=0x4018db0c,
pp_stack=0xbffff724, na=1)
at ../Python/ceval.c:3108
#5 0x80868c6 in eval_frame (f=0x810afbc) at
../Python/ceval.c:1975
#6 0x80878b2 in PyEval_EvalCodeEx (co=0x4019b360,
globals=0x4015f2d4,
locals=0x4015f2d4, args=0x0, argcount=0, kws=0x0,
kwcount=0, defs=0x0,
defcount=0, closure=0x0) at ../Python/ceval.c:2553
#7 0x80898e0 in PyEval_EvalCode (co=0x4019b360,
globals=0x4015f2d4,
locals=0x4015f2d4) at ../Python/ceval.c:482
#8 0x80a42d1 in run_node (n=0x81402f8, filename=0xbffffb23
"/tmp/foo.py",
globals=0x4015f2d4, locals=0x4015f2d4, flags=0xbffff928)
at ../Python/pythonrun.c:1088
#9 0x80a4282 in run_err_node (n=0x81402f8,
filename=0xbffffb23 "/tmp/foo.py",
globals=0x4015f2d4, locals=0x4015f2d4, flags=0xbffff928)
at ../Python/pythonrun.c:1075
#10 0x80a3f01 in PyRun_FileExFlags (fp=0x8102cb0,
filename=0xbffffb23 "/tmp/foo.py", start=257,
globals=0x4015f2d4,
locals=0x4015f2d4, closeit=1, flags=0xbffff928)
at ../Python/pythonrun.c:1066
#11 0x80a2af1 in PyRun_SimpleFileExFlags (fp=0x8102cb0,
filename=0xbffffb23 "/tmp/foo.py", closeit=1,
flags=0xbffff928)
at ../Python/pythonrun.c:697
#12 0x80a3a63 in PyRun_AnyFileExFlags (fp=0x8102cb0,
filename=0xbffffb23 "/tmp/foo.py", closeit=1,
flags=0xbffff928)
at ../Python/pythonrun.c:500
#13 0x805374d in Py_Main (argc=2, argv=0xbffff9b4) at
../Modules/main.c:368
#14 0x8052fea in main (argc=2, argv=0xbffff9b4) at
../Modules/python.c:10
#15 0x40077cbe in __libc_start_main () from /lib/libc.so.6
|
|||
| msg11294 - (view) | Author: Jeremy Hylton (jhylton) ![]() |
Date: 2002-06-20 23:14 | |
Logged In: YES user_id=31392 I think this is fixed in CVS now, but I'm waiting to close the bug because I don't have a test case for it. Thanks to Neal for writing a good checkin message. (Seriously.) |
|||
| msg11295 - (view) | Author: Christophe Delord (cdelord) | Date: 2002-06-20 23:42 | |
Logged In: YES user_id=566423 I don't get the segmentation fault any more with this last update. Your reactivity is so impressive... Thanks! |
|||
| msg11296 - (view) | Author: Neal Norwitz (nnorwitz) * ![]() |
Date: 2002-06-24 03:24 | |
Logged In: YES user_id=33168 It's the least I could do, since I introduced the bug. Sorry about that. The checkin made sense and fixes Christophe's problem, so should the bug be closed. Guido checked in a test too. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022-04-10 16:05:26 | admin | set | github: 36779 |
| 2002-06-20 22:46:55 | cdelord | create | |

