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