check-rpaths gives 'xargs: xargs.c:443: main: Assertion `bc_ctl.arg_max <= (131072-2048)' failed.'

Richard W.M. Jones rjones at redhat.com
Mon Mar 31 11:30:37 UTC 2008


This is from a bug that was reported to me:

  https://bugzilla.redhat.com/show_bug.cgi?id=433433#c4

  + /usr/lib/rpm/check-rpaths /usr/lib/rpm/check-buildroot
  xargs: xargs.c:443: main: Assertion `bc_ctl.arg_max <= (131072-2048)' failed.
  /usr/lib/rpm/check-rpaths: line 28:  4618 Done                    find
  "$RPM_BUILD_ROOT" -type f -print0
      4619 Aborted                 | xargs -0r /usr/lib/rpm/check-rpaths-worker
  error: Bad exit status from /var/tmp/rpm-tmp.92606 (%install)

I can't reproduce this on my machine, but looking at the source for
xargs it looks like the error originates in this check:

    {
      /* IEEE Std 1003.1, 2003 specifies that the combined argument and 
       * environment list shall not exceed {ARG_MAX}-2048 bytes.  It also 
       * specifies that it shall be at least LINE_MAX.
       */
  #if defined(ARG_MAX)
      assert(bc_ctl.arg_max <= bc_ctl.posix_arg_size_max);
  #endif
  #ifdef LINE_MAX
      assert(bc_ctl.arg_max >= LINE_MAX);
  #endif

Perhaps the environment is too large or check-rpaths is producing a
really long list of files (but surely the precise point of xargs is to
deal with that?)

Anyone got any ideas?

Rich.

-- 
Richard Jones, Emerging Technologies, Red Hat  http://et.redhat.com/~rjones
virt-top is 'top' for virtual machines.  Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://et.redhat.com/~rjones/virt-top




More information about the devel mailing list