On Monday 15 June 2015 15:21:52 Aurelien Jarno wrote:
> > > I made some tests on Debian VMs, that I have flying around.
> > > 
> > > Debian SID with 4.0 (amd64): problem as described above
> > > Debian SID with 3.16 (amd64): same problem
> > > Debian Wheezy with 3.2.0 (amd64): same problem
> > > Debian Wheezy with 3.2.0 (i386): Works as expected (up to maxmsg=1000,
> > > with
> > > maxmsg=1001 I get errno=22 (Invalid argument) - that's fine for me, but
> > > is not what the man page says for this case.

Ok, forget about the man pages. I was just puzzled by multiple entries per 
error number.

> > > Looks like amd64 architecture has the problem since a while.
> > 
> > I don't really know what is the problem, but a strace shows that the
> > glibc just returns the errno from the kernel.
> 
> What does "ulimit -q" returns on your system? It seems to be 819200 by
> default, which is why the kernel refuses to create the message queue.

Yes, it is 819200 on i386 (Wheezy) and on amd64 (SID) here. 

> Here increasing the value allows the msg queue to be created
> successfully. The way to compute the limit is described in the
> getrlimit(2) manpage. Note that the value includes size of structures,
> which are likely to be different on i386 and amd64, and has changed
> starting with kernel 3.5. It's therefore likely that by using an
> amd64 machine and a recent kernel, you crossed the 819200 limit.

Woooh, thanks for that hint ! Wouldn't have thought about this for a while...

BTW, using /etc/security/limits.conf to increase that value (tried hard, soft, 
- for * and for the user) does not increase the users ulimit value (nor 
permits him to increase it via ulimit). But that is another story... did not 
test a reboot yet.

Many thanks for your help. I guess you can close this bug.

Best Regards
Tim

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to