[linux-audio-dev] NPTL jack+ardour: large memlock required

Jonathan Woithe jwoithe at physics.adelaide.edu.au
Mon Nov 28 23:12:24 UTC 2005


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



More information about the Linux-audio-dev mailing list