[yocto] cannot re-use shared state cache between build hosts

Paul Eggleton paul.eggleton at linux.intel.com
Mon Sep 4 01:56:13 PDT 2017


On Monday, 4 September 2017 7:59:55 PM NZST Andrea Galbusera wrote:
> On Mon, Sep 4, 2017 at 9:33 AM, Patrick Ohly <patrick.ohly at intel.com> wrote:
> > More recent bitbake should not fail like that anymore. It's still
> > better to use an HTTP server that performs better, though.
> >
> > commit 6fa07752bbd3ac345cd8617da49a70e0b2dd565f
> > Author: Patrick Ohly <patrick.ohly at intel.com>
> > Date:   Mon Jul 17 15:25:10 2017 +0200
> >
> >     fetch2/wget.py: improve error handling during sstate check
> >
> >     When the sstate is accessed via HTTP, the existence check can fail due
> >     to network issues, in which case bitbake silently continues without
> >     sstate.
> >
> >     One such network issue is an HTTP server like Python's own SimpleHTTP
> >     which closes the TCP connection despite an explicit "Keep-Alive" in
> >     the HTTP request header. The server does that without a "close" in the
> >     HTTP response header, so the socket remains in the connection cache,
> >     leading to "urlopen failed: <urlopen error [Errno 9] Bad file
> >     descriptor>" (only visible in "bitbake -D -D" output) when trying to
> >     use the cached connection again.
> >
> >     The connection might also get closed for other reasons (proxy,
> >     timeouts, etc.), so this is something that the client should be able
> >     to handle.
> >
> >     This is achieved by checking for the error, removing the bad
> >     connection, and letting the check_status() method try again with a new
> >     connection. It is necessary to let the second attempt fail
> >     permanently, because bad proxy setups have been observed to also lead
> >     to such broken connections. In that case, we need to abort for real
> >     after trying twice, otherwise a build would just hang forever.
> >
> >     [YOCTO #11782]
> >
> 
> Thank you Patrick for pointing that out. While debugging the issue on morty
> I had some reminiscence of seeing your patch on the list, but I wasn't able
> to find it back in morty's history hence inferring it landed later on.
> Anyway doing this test on morty was a requirement... Thanks again for your
> clarification. Would such a patch be suitable for eventually being
> back-ported to morty?

Doesn't look too invasive to me at least, so I'd support it.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



More information about the yocto mailing list