On booting system, init script bootmisc generates error xargs: environment is too large for exec. Fixed by simple change to remove xargs: diff /etc/init.d/bootmisc /etc/init.d/bootmisc.fixed 44c44 < ( find /var/lock -type f -print0 | xargs -0 rm -f -- 1>&2 ) --- > ( find /var/lock -type f -exec rm -f "{}" \; 1>&2 ) Reproducible: Always Steps to Reproduce: 1.Boot system 2.Read error message 3.
can be reproduced on ppc. I'll try this patch asap.
Same problem here. The patch fixes it.
same problem here. didn't happen to me with baselayout-1.8.5.9.ebuild, but now with baselayout-1.8.6.8 i get this error message everytime I boot
The patch works for me as well. I would suggest though to replace find /var/lock -type f -exec rm -f "{}" \; 1>&2 with find /var/lock -type f -exec rm -f -- "{}" \; 1>&2 so that rm doesn't choke on "-*" files. This would also stick closer to the semantics of the original line.
There is no need to add the double quotes around {}. Outer parentheses on the command line also seem superfluous. I tested this line on file names containing spaces and newlines and it worked fine: find /var/lock -type f -exec rm -f -- {} \; 1>&2 Also, I'm not sure why it is necessary to redirect stdout to stderr, as the above command shouldn't produce any output on stdout anyway!
Of course not calling xargs at all fixes the problem, but I wonder why my environment is about 28k during boot, because that's the reason why xargs fails (on my box _SC_ARG_MAX is 131072, so xargs sets arg_max to 20480. env_size is 28261 and gets subtracted from arg_max. No space left...). I added '/usr/bin/printenv >/tmp/env.boot' to /etc/init.d/bootmisc (just before calling xargs). Lots of depinfo_*() and other functions. Is it really necessary for those functions to be exported to the environment?
Dup. I however like Christian/Ian 's cleanups. *** This bug has been marked as a duplicate of 21438 ***