[linux-audio-dev] NPTL jack+ardour: large memlock required
jwoithe at physics.adelaide.edu.au
Mon Nov 28 18:12:24 EST 2005
> 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?
More information about the linux-audio-dev