Lee > On Fri, 2005-11-25 at 11:10 +1030, Jonathan Woithe wrote: > > I have since discovered (thanks to strace) that the problem lies in an > > mmap2() call which requests a size of around 8MB. It appears to be > > part of the NPTL pthread_create() function. The error returned by > > mmap2() (EAGAIN) indicates either a locked file or "too much locked > > memory" (according to the manpage). Because this is an anonymous map > > the problem must have been the latter. Increasing the "locked memory" > > limit from 20MB to 40MB made jackd start without having to resort to > > the LD_ASSUME_KERNEL hack. > > I stumbled across the same problem a few weeks ago working on another > project. This is glibc allocating an 8MB (!) stack for each thread. It > gets the default thread stack size from getrlimit(). With mlockall() > you will go OOM really fast like that.
Um, yes. :( > The real fix is for JACK to set a reasonable thread stack size in > jack_create_thread. You can work around the problem by appending this > line to /etc/security/limits.conf: > > * hard stack 512 > > for a 512KB stack. I will try this and see what happens. Do you know if anyone is preparing a fix for JACK? Regards jonathan