[Python-bugs-list] [ python-Bugs-546117 ] readlines() bombs - last line incomplete

noreply@sourceforge.net noreply@sourceforge.net
Tue, 23 Apr 2002 00:59:39 -0700


Bugs item #546117, was opened at 2002-04-19 13:23
You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=105470&aid=546117&group_id=5470

>Category: Documentation
Group: Python 2.2.1 candidate
Status: Open
Resolution: None
>Priority: 3
Submitted By: Peter Harris (scav)
Assigned to: Nobody/Anonymous (nobody)
Summary: readlines() bombs - last line incomplete

Initial Comment:
HP-UX 11 64bit, compiled with HP ansi c compiler.
Python version 2.2.1rc2

>>> f=open(some_big_file)
>>> f.readlines()
Pid 23292 received a SIGSEGV for stack growth failure.
Possible causes: insufficient memory or swap space,
or stack size exceeded maxssiz.
Memory fault(coredump)

Happens when last line of file lacks a terminating \n,
also the file has to be big enough (my example is about
2K in size)

Oddly, xreadlines() can be created, but attempting to
iterate over it crashes before the first line is 
returned:
>>> f=open(some_big_file)
>>> lines=f.xreadlines()    # OK so far
>>> for line in lines:
...    print line      # never gets here
...

Pid 23257 received a SIGSEGV for stack growth failure.
Possible causes: insufficient memory or swap space,
or stack size exceeded maxssiz.
Memory fault(coredump)

I'll try 2.2.1 final.


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

>Comment By: Peter Harris (scav)
Date: 2002-04-23 07:59

Message:
Logged In: YES 
user_id=8911

I think it's compiler/architecture dependent. It works fine 
on Linux.

Re-compiling Objects/fileobject.c without optimisation 
cures the problem. I think HP's compiler is a bit dodgy, 
because the last version of Python was dumping core until I 
recompiled longobject.c.

I would try compiling with gcc but I don't have it on our 
HP machine.

I think the README should maybe warn HP PA-RISC 2.0 users 
that the C compiler will occasionally break things.

Thanks for your time.

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

Comment By: Guido van Rossum (gvanrossum)
Date: 2002-04-22 17:45

Message:
Logged In: YES 
user_id=6380

I can't reproduce this on Linux. Can you upload the data
file or (preferably, if you have access) on a Linux system,
with Python 2.2.1? I'd like to see if this is data dependent
or platform specific before we go any further with this.

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

Comment By: Peter Harris (scav)
Date: 2002-04-22 11:12

Message:
Logged In: YES 
user_id=8911

2.2.1 final does it too. :(

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

You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=105470&aid=546117&group_id=5470