All of lore.kernel.org
 help / color / mirror / Atom feed
From: Graham Gower <graham.gower@gmail.com>
To: openembedded-devel@lists.openembedded.org
Subject: Re: Eliminating dependency race-conditions (was Re: [PATCH] net-snmp: disable libnl use)
Date: Wed, 16 Mar 2011 09:45:58 +1030	[thread overview]
Message-ID: <4D7FF32E.80801@gmail.com> (raw)
In-Reply-To: <1300180117.2522.14.camel@eha>

On 03/15/2011 07:38 PM, Esben Haabendal wrote:
> On Fri, 2011-03-11 at 12:04 +0100, Steffen Sledz wrote:
>> which occurred sometimes depending on build order (not in clean
>> package only builds).
> 
> I would like to raise awareness of the underlying problem here.
> 
> The current dependency/staging model of OE basically has this feature
> that a build can be influenced not only by it's own dependencies, but
> also what has been build before it (or not).
> 
> I strongly believe that this has to be fixed on the architectural level,
> and not just on a case-by-case level as is currently needed.
> 
> I haven't received much feedback on the preivous posting about the
> per-recipe staging principle implemented in OE-lite, but I decided to
> take this opportunity to re-iterate the fact that the OE-lite
> implementation of staging and build dependencies eliminates this
> problem.
> 
> I am still very much interested in discussing how to move this
> technology from OE-lite to OE, but as it impacts all recipe metadata
> (build dependencies has to be redefined), OE community at a large really
> needs to value the benefits of solving this problem.
> 
> Best regards,
> Esben
> 
> 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel


I did some work last year to fix some of the low hanging fruit (on a
case by case basis).
My methodology was to do two runs of bitbake -k world, then compare
the output. In case anyone is interested, I used the script below to
identify the problematic recipes. Last time I ran it was in November,
by which time the output had reduced to a list of 5-10 items most of
the time.


#!/bin/sh
#
# Quick and dirty script to determine which tasks fail in one world.log,
# where they succeeded in another. world.log should be generated with, e.g.
# $ bitbake -k world | tee world.log
#
# If there are too many failures, this script will take too long as grep -f
# is slooow.

if [ $# != 2 ]; then
	echo "usage: $0 world.log.1 world.log.2"
	exit 1
fi

tasks="do_setscene do_fetch do_distribute_sources do_unpack do_prepsources
	do_patch do_configure do_qa_configure do_compile do_install
	do_populate_sysroot do_package do_package_write_ipk
	do_package_write do_package_stage do_package_stage_all do_build
	do_qa_staging"

tmp1=`mktemp /tmp/world_regress.XXXXXX`
tmp2=`mktemp /tmp/world_regress.XXXXXX`

for task in $tasks; do
	grep "task $task: Failed" $2 \
		| sed -e 's/^.*NOTE: package //' \
			-e 's/task \(.*\): Failed/\1/' \
		> $tmp1

	grep "task $task: Succeeded" $1 \
		| sed -e 's/^.*NOTE: package //' \
			-e 's/task \(.*\): Succeeded/\1/' \
		> $tmp2

	grep -f $tmp1 $tmp2 \
		| sort -n
done

rm -f $tmp1 $tmp2




  parent reply	other threads:[~2011-03-15 23:17 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-11 11:04 [PATCH] net-snmp: disable libnl use Steffen Sledz
2011-03-11 13:05 ` Koen Kooi
2011-03-11 15:53   ` Steffen Sledz
2011-03-12  0:05     ` Khem Raj
2011-03-14  7:06       ` Steffen Sledz
2011-03-14 16:39         ` Khem Raj
2011-03-15  9:08 ` Eliminating dependency race-conditions (was Re: [PATCH] net-snmp: disable libnl use) Esben Haabendal
2011-03-15 22:03   ` Denys Dmytriyenko
2011-03-16  5:47     ` Eliminating dependency race-conditions Esben Haabendal
2011-03-16  6:22       ` Python-native dependency in libxml2 Ahsan, Noor
2011-03-16  7:08         ` Khem Raj
2011-03-16  7:28           ` Frans Meulenbroeks
2011-03-16  7:43             ` Khem Raj
2011-03-16  8:00               ` Frans Meulenbroeks
2011-03-16  8:05             ` Martin Jansa
2011-03-16  8:38               ` Ahsan, Noor
2011-03-17 10:40                 ` Ahsan, Noor
2011-03-18  7:41                   ` Ahsan, Noor
2011-03-18  8:38                     ` Martin Jansa
2011-03-18  9:47                       ` Koen Kooi
2011-03-18  9:01                     ` Frans Meulenbroeks
2011-03-16  6:35       ` Eliminating dependency race-conditions Frans Meulenbroeks
2011-03-15 23:15   ` Graham Gower [this message]
2011-03-17 11:18   ` Eliminating dependency race-conditions (was Re: [PATCH] net-snmp: disable libnl use) Phil Blundell
2011-03-17 14:43     ` Esben Haabendal
2011-03-17 14:52       ` Graeme Gregory
2011-03-17 15:24         ` Koen Kooi
2011-03-17 15:07       ` Phil Blundell
2011-03-17 17:52         ` Esben Haabendal
2011-03-17 18:05           ` Phil Blundell
2011-03-17 19:58             ` Esben Haabendal
2011-03-17 21:00               ` Phil Blundell
2011-03-18  5:29                 ` Esben Haabendal
2011-03-18 10:26                   ` Phil Blundell
2011-03-18 12:14                     ` Eliminating dependency race-conditions Esben Haabendal
2011-03-19  0:32                       ` Richard Purdie
2011-03-22  9:01                         ` Esben Haabendal
2011-03-23 20:31                           ` Frans Meulenbroeks
2011-03-19  0:18               ` Eliminating dependency race-conditions (was Re: [PATCH] net-snmp: disable libnl use) Richard Purdie
2011-03-22  9:00                 ` Eliminating dependency race-conditions Esben Haabendal

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=4D7FF32E.80801@gmail.com \
    --to=graham.gower@gmail.com \
    --cc=openembedded-devel@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.