[OE-core] build failures due to pigz host tool

Richard Purdie richard.purdie at linuxfoundation.org
Sat Jul 6 08:14:14 UTC 2019


On Thu, 2019-07-04 at 23:28 +0100, Richard Purdie wrote:
> On Thu, 2019-07-04 at 16:57 +0100, Richard Purdie wrote:
> > On Thu, 2019-07-04 at 10:27 -0400, Trevor Woerner wrote:
> > > On Wed 2019-07-03 @ 05:10:14 PM, Richard Purdie wrote:
> > > > Is there any way you could try pigz 2.4 on your machine, see if
> > > > the
> > > > problem still occurred there? If you do rebuild pigz, could you
> > > > apply
> > > > the debug patch in master-next?
> > > 
> > > I've updated the pigz in the $PATH jenkins sees to pigz-2.4.
> > > 
> > > However, my builds are always updated automatically and always
> > > build
> > > from master; there's no way to insert ad-hoc patches into a
> > > build.
> > 
> > That is fine, even just the PATH adjustment will be interesting to
> > see
> > the results with, thanks!
> > 
> > Was that version of pigz patched? FWIW I've patched the one on our
> > opensuse151 worker so we'll see if that helps shed any light on
> > things.
> 
> and it did:
> 
> http://errors.yoctoproject.org/Errors/Details/250609/
> 
> pigz: abort: internal threads error (16, 10)
> 
> which means from:
> 
> http://git.yoctoproject.org/cgit.cgi/poky/commit/?h=master-next&id=110ccb56b88af177c0153741a31a9d34b1f75abf
> 
> +     if ((ret = pthread_cond_destroy(&(bolt->cond))) ||
> +         (ret = pthread_mutex_destroy(&(bolt->mutex))))
> +-        fail(ret);
> ++        fail(ret, 10);
> +     my_free(bolt);
> 
> so pthread_cond_destroy or pthread_mutex_destroy returned EBUSY.
> Further digging required but at least we know which code path we're
> on. I wonder if suse did something odd to libpthread...

Another failure with more debug added:

https://autobuilder.yoctoproject.org/typhoon/#/builders/45/builds/792
https://autobuilder.yoctoproject.org/typhoon/#/builders/45/builds/792/steps/7/logs/step1b

specifically:

| DEBUG: Executing shell function sstate_create_package
| pigz: abort: internal threads error (16, 720)
| tar: /srv/autobuilder/autobuilder.yoctoproject.org/pub/sstate/24/sstate:readline:core2-64-poky-linux-musl:8.0:r0:core2-64:3:241b1909d0f06ca48bda9ec41ccee543bb82fcc164b2b74cd4efd318b3ae0a33_package_write_ipk.tgz.KDjTwErb: Wrote only 8192 of 10240 bytes
| tar: Child returned status 16
| tar: Error is not recoverable: exiting now
| WARNING: /home/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/core2-64-poky-linux-musl/readline/8.0-r0/temp/run.sstate_create_package.34356:1 exit 1 from 'exit 1'

which confirms that its aborting with errno 16, EBUSY and the 720 tells
me it came from pthread_mutex_destroy(&(bolt->mutex)) in free_lock(),
called from free_lock(job->calc).

I can't see anything obvious wrong with the way job->calc is being
handled.

I get the feeling this doesn't happen when uninative is in use which
suggests its something odd going on with libpthread on opensuse but its
hard to know that for sure.

Cheers,

Richard



More information about the Openembedded-core mailing list