setting stacksize in "initial" thread (pthreads, 4.8R)

Daniel Eischen eischen at pcnet1.pcnet.com
Sun May 25 09:32:25 PDT 2003


On Sun, 25 May 2003, Andrew MacIntyre wrote:

> I have a situation with a Python interpreter built from Python
> CVS sources that is hitting the stack limit for the "initial" thread
> imposed by libc_r:  PTHREAD_STACK_INITIAL in
> /usr/src/lib/libc_r/uthread/pthread_private.h is set to 1MB (0x100000).

This is not configurable without recompiling the library.

> Compiler optimisation settings do affect whether Python's internal stack
> check activate before the hard limit bites, and more recent versions of
> gcc (than the stock gcc in 4.8R) are more aggressive users of stack.
> 
> I have not been able to find any documented way to control the stacksize
> of the "initial" thread either programmatically, via a compile/link
> option or by way of a resource limit in login.conf.  Is this possible
> without rebuilding libc_r?

No.

> I don't yet have a 5.x install to check the situation - does the new
> libthr/libkse setup differ in respect to the above?

Libkse uses the same initial stack size; I can't speak for libthr.

Is this something that is common to all python scripts, or is
it just your own script(s) that is(are) getting caught.  It
seems 1MB is an awful lot to be on the stack, and perhaps some
things are better malloc'd.

-- 
Dan Eischen



More information about the freebsd-hackers mailing list