Sat 12 Jan 2008 10:23:33 PM UTC, original submission:
As has been noted in bug #18396, the excessive use of stack in make is not a good thing. But worse is that the increased rlimit is inherited by the subprocesses started by the make.
Eg:
$ make --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for ia64-unknown-linux-gnu
$ cat foo.mk
foo:
: && ulimit -a
$ make -f foo.mk
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 4056
max locked memory (kbytes, -l) 128
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 2097152
cpu time (seconds, -t) unlimited
max user processes (-u) 4056
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
Ok, that you want to use stack, but wouldn't you say that ~2GB is a bit excessive?
Unfortunately, some parts of glibc aren't prepared for those kinds of stack sizes (eg pthreads, which causes some applications to fail intermittently with SIGSEGV).
Please at least restore the ulimits for the subprocesses.
|