New submission from Ian Donaldson <i...@ekit-inc.com>:

test_posix hung on Solaris 9 ... traced to getcwd test hanging.

This in turn was traced to the very long filename case...
It seems posixmodule was modified (since py2.4.3 at least) 
to retry getcwd with a bigger buffer if ERANGE occurs.  

However on Solaris 9 its not documented that ERANGE also
occurs if getcwd(3) can't cope with the path length, even
if the buffer is big enough.  This causes posix_getcwd() to
loop malloc'ing a bigger buffer, forever.

I enclose a patch that limits the damage, to 1Mbyte at least.
(not sure if more recent Solaris 9 patches than we have
provide another solution)

On Solaris 10, there is no problem as the getcwd() is implemented
as a system call.

----------
components: Build
files: EKIT.PATCH5
messages: 93028
nosy: iandekit
severity: normal
status: open
title: getcwd hangs and leaks mem on Solaris <= 9 in very long file name case
type: resource usage
versions: Python 2.6
Added file: http://bugs.python.org/file14955/EKIT.PATCH5

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue6976>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to