All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Konrad Weihmann" <kweihmann@outlook.com>
To: Martin Jansa <martin.jansa@gmail.com>
Cc: Patches and discussions about the oe-core layer
	<openembedded-core@lists.openembedded.org>
Subject: Re: [OE-core] [PATCH] sstatesig.py: make it fatal error when sstate manifest isn't found
Date: Wed, 19 May 2021 18:46:38 +0200	[thread overview]
Message-ID: <AM9PR09MB46421A3886751FC639F8A6F2A82B9@AM9PR09MB4642.eurprd09.prod.outlook.com> (raw)
In-Reply-To: <CA+chaQdBf=aJZddxAc43GBXNoRAYwWTzw3MtQSmKxK7=tsNnzQ@mail.gmail.com>



On 19.05.21 17:02, Martin Jansa wrote:
> 
> 
> On Wed, May 19, 2021 at 12:47 PM Konrad Weihmann <kweihmann@outlook.com 
> <mailto:kweihmann@outlook.com>> wrote:
> 
> 
> 
>     On 19.05.21 12:23, Martin Jansa wrote:
>      > * all known issues in this area were fixed, make it fatal that it
>      >    cannot be overlooked if someone triggers this issue again
>      >
>      > Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com
>     <mailto:Martin.Jansa@gmail.com>>
>      > ---
>      >   meta/lib/oe/sstatesig.py | 2 +-
>      >   1 file changed, 1 insertion(+), 1 deletion(-)
>      >
>      > diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
>      > index 6cd6e11acc..e86a09b332 100644
>      > --- a/meta/lib/oe/sstatesig.py
>      > +++ b/meta/lib/oe/sstatesig.py
>      > @@ -453,7 +453,7 @@ def find_sstate_manifest(taskdata, taskdata2,
>     taskname, d, multilibcache):
>      >           manifest =
>     d2.expand("${SSTATE_MANIFESTS}/manifest-%s-%s.%s" % (pkgarch,
>     taskdata, taskname))
>      >           if os.path.exists(manifest):
>      >               return manifest, d2
>      > -    bb.error("Manifest %s not found in %s (variant '%s')?" %
>     (manifest, d2.expand(" ".join(pkgarchs)), variant))
>      > +    bb.fatal("Manifest %s not found in %s (variant '%s')?" %
>     (manifest, d2.expand(" ".join(pkgarchs)), variant))
>      >       return None, d2
> 
>     doesn't that make the return statement obsolete? also how can an error
>     be overlooked? It does make the task triggering this issue fail, so how
>     is a fatal better in this case (besides abnormally terminating the task)
> 
> 
> bb.error doesn't make the task to fail, it only shows an error (which 
> results in non-zero exit code), but lets depending tasks to continue and 
> fail with other (often more misleading) errors, because their dependency 
> is really missing in RSS
> 
> without this patch:
> ERROR: adwaita-icon-theme-3.34.3-r0 do_prepare_recipe_sysroot: Manifest 
> /OE/build/oe-core/tmp-glibc/sstate-control/manifest-x86_64_ubuntu-21.04-at-spi2-core-native.populate_sysroot 
> not found in x86_64 x86_64_ubuntu-21.04 (variant '')?
> ERROR: adwaita-icon-theme-3.34.3-r0 do_prepare_recipe_sysroot: Manifest 
> /OE/build/oe-core/tmp-glibc/sstate-control/manifest-x86_64_ubuntu-21.04-at-spi2-core-native.populate_sysroot 
> not found in x86_64 x86_64_ubuntu-21.04 (variant '')?
> ERROR: adwaita-icon-theme-3.34.3-r0 do_configure: Manifest 
> /OE/build/oe-core/tmp-glibc/sstate-control/manifest-x86_64_ubuntu-21.04-at-spi2-core-native.populate_sysroot 
> not found in x86_64 x86_64_ubuntu-21.04 (variant '')?
> ERROR: adwaita-icon-theme-3.34.3-r0 do_install: Manifest 
> /OE/build/oe-core/tmp-glibc/sstate-control/manifest-x86_64_ubuntu-21.04-at-spi2-core-native.populate_sysroot 
> not found in x86_64 x86_64_ubuntu-21.04 (variant '')?
> ERROR: adwaita-icon-theme-3.34.3-r0 do_package: Manifest 
> /OE/build/oe-core/tmp-glibc/sstate-control/manifest-x86_64_ubuntu-21.04-at-spi2-core-native.populate_sysroot 
> not found in x86_64 x86_64_ubuntu-21.04 (variant '')?
> ERROR: adwaita-icon-theme-3.34.3-r0 do_package_write_ipk: Manifest 
> /OE/build/oe-core/tmp-glibc/sstate-control/manifest-x86_64_ubuntu-21.04-at-spi2-core-native.populate_sysroot 
> not found in x86_64 x86_64_ubuntu-21.04 (variant '')?
> NOTE: Tasks Summary: Attempted 2819 tasks of which 2803 didn't need to 
> be rerun and all succeeded.
> Summary: There were 6 ERROR messages shown, returning a non-zero exit code.
> 
> with this patch:
> ERROR: adwaita-icon-theme-3.34.3-r0 do_prepare_recipe_sysroot: Manifest 
> /OE/build/oe-core/tmp-glibc/sstate-control/manifest-x86_64_ubuntu-21.04-at-spi2-core-native.populate_sysroot 
> not found in x86_64 x86_64_ubuntu-21.04 (variant '')?
> ERROR: Logfile of failure stored in: 
> /OE/build/oe-core/tmp-glibc/work/all-oe-linux/adwaita-icon-theme/3.34.3-r0/temp/log.do_prepare_recipe_sysroot.1638704
> ERROR: Task 
> (/OE/build/oe-core/openembedded-core/meta/recipes-gnome/gnome/adwaita-icon-theme_3.34.3.bb:do_prepare_recipe_sysroot) 
> failed with exit code '1'
> NOTE: Tasks Summary: Attempted 2805 tasks of which 2800 didn't need to 
> be rerun and 1 failed.
> Summary: 1 task failed:
>    
> /OE/build/oe-core/openembedded-core/meta/recipes-gnome/gnome/adwaita-icon-theme_3.34.3.bb:do_prepare_recipe_sysroot
> Summary: There was 1 ERROR message shown, returning a non-zero exit code.
> 
> Without this fix:
> https://git.openembedded.org/openembedded-core/commit/?id=63da9a4f889c5b0e41bc8ec08abe0acea1546479 
> <https://git.openembedded.org/openembedded-core/commit/?id=63da9a4f889c5b0e41bc8ec08abe0acea1546479>
> 
> I was seeing various native dependencies missing and as you can see in 
> the adwaita-icon-theme example, missing at-spi2-core-native isn't fatal 
> for the build, but were adwaita-icon-theme packages and sstate built 
> correctly? If you don't investigate all these ERROR messages and 
> non-zero exit code (e.g. just because you have thousands of builds per 
> day populating the same sstate mirror), you might miss some of these 
> breakages. While using fatal prevents adwaita-icon-theme to even start 
> building and producing possibly broken packages, images, sstate.
> 
> In some other cases e.g. qtwayland-native missing when building target 
> qtwayland you will get do_compile failure complaining that the the 
> binary from qtwayland-native is missing, but the root cause of this 
> issue is written many lines above do_compile log. You can see some other 
> examples in 
> https://git.openembedded.org/openembedded-core-contrib/commit/?h=jansa/master&id=817f1c14cec4d66504a5028908a4ebac147f3b52 
> <https://git.openembedded.org/openembedded-core-contrib/commit/?h=jansa/master&id=817f1c14cec4d66504a5028908a4ebac147f3b52> 
> and before changing this from bb.warn to bb.error in previous patch most 
> of these issues were just "some random builddir breakage which was 
> resolved by doing clean build from sstate".
> 
> And this happens in multi-machine builds with 
> dunfell/gatesgarth/hardknott and only master is safe now. I plan to ask 
> Steve to backport this and related fixes to dunfell after a bit more 
> time in master:
> https://git.openembedded.org/openembedded-core/commit/?id=0eb95212a7e6b6bdc1243094072dea432cb48f0f 
> <https://git.openembedded.org/openembedded-core/commit/?id=0eb95212a7e6b6bdc1243094072dea432cb48f0f>
> https://git.openembedded.org/openembedded-core/commit/?id=63da9a4f889c5b0e41bc8ec08abe0acea1546479 
> <https://git.openembedded.org/openembedded-core/commit/?id=63da9a4f889c5b0e41bc8ec08abe0acea1546479>
> https://git.openembedded.org/openembedded-core/commit/?id=95607a26854d873399d2b9d7e5fcbffc0cbdba4c 
> <https://git.openembedded.org/openembedded-core/commit/?id=95607a26854d873399d2b9d7e5fcbffc0cbdba4c>
> and then this one.

Thanks for the detailed explanation, if it reduces the noise (incl false 
positives) I'm all for it

> 
> Regards,

  reply	other threads:[~2021-05-19 16:46 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-19 10:23 [PATCH] sstatesig.py: make it fatal error when sstate manifest isn't found Martin Jansa
2021-05-19 10:47 ` [OE-core] " Konrad Weihmann
2021-05-19 11:50   ` Richard Purdie
2021-05-19 15:02   ` Martin Jansa
2021-05-19 16:46     ` Konrad Weihmann [this message]
2021-05-31  1:24       ` Andreas Müller
     [not found]       ` <1684024C9F92E21F.28811@lists.openembedded.org>
2021-05-31  9:51         ` Andreas Müller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AM9PR09MB46421A3886751FC639F8A6F2A82B9@AM9PR09MB4642.eurprd09.prod.outlook.com \
    --to=kweihmann@outlook.com \
    --cc=martin.jansa@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.