From: Martin Jansa <martin.jansa@gmail.com>
To: Robert Yang <liezhi.yang@windriver.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH][master][fido][dizzy] Revert "perf: fix for rebuilding"
Date: Mon, 21 Sep 2015 21:04:22 +0200 [thread overview]
Message-ID: <20150921190422.GA28765@jama> (raw)
In-Reply-To: <55F91EEA.8040005@windriver.com>
[-- Attachment #1: Type: text/plain, Size: 6334 bytes --]
On Wed, Sep 16, 2015 at 03:48:58PM +0800, Robert Yang wrote:
>
> Hi Martin,
>
> I've figured out the reason, this is because the task's default cwd
> is ${B}, the easier way to fix the problem is use mkdir -p rather than
> mkdir, autotools.bbclass also has this problem, but I'd like to fix
> exec_func, I will send a patch to bitbake-devel after more testing.
Unfortunately "mkdir -p" fixes only part of this problem, it still fails
quite often when bitbake tries to "os.chdir(cwd)" in populate_lic
after do_configure removed ${B} and before do_configure re-created it
with "mkdir -p".
So 3 from 50 iterations (if I use the same for cycle to test this) fail
with:
NOTE: recipe perf-1.0-r9: task do_configure: Started
NOTE: recipe perf-1.0-r9: task do_populate_lic: Started
ERROR: Build of do_populate_lic failed
ERROR: Traceback (most recent call last):
File "/OE/build/oe-core/bitbake/lib/bb/build.py", line 553, in exec_task
return _exec_task(fn, task, d, quieterr)
File "/OE/build/oe-core/bitbake/lib/bb/build.py", line 493, in _exec_task
exec_func(func, localdata)
File "/OE/build/oe-core/bitbake/lib/bb/build.py", line 227, in exec_func
exec_func_python(func, d, runfile, cwd=adir)
File "/OE/build/oe-core/bitbake/lib/bb/build.py", line 252, in exec_func_python
os.chdir(cwd)
OSError: [Errno 2] No such file or directory: '/OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/perf/1.0-r9/perf-1.0'
NOTE: recipe perf-1.0-r9: task do_populate_lic: Failed
ERROR: Task 7 (/OE/build/oe-core/openembedded-core/meta/recipes-kernel/perf/perf.bb, do_populate_lic) failed with exit code '1'
NOTE: recipe perf-1.0-r9: task do_configure: Succeeded
or even longer exception:
NOTE: recipe perf-1.0-r9: task do_populate_lic: Started
NOTE: recipe perf-1.0-r9: task do_configure: Started
ERROR: Error executing a python function in /OE/build/oe-core/openembedded-core/meta/recipes-kernel/perf/perf.bb:
The stack trace of python calls that resulted in this exception/failure was:
File: 'sstate_task_postfunc', lineno: 14, function: <module>
0010: sstate_package(shared_state, d)
0011: os.umask(omask)
0012:
0013:
*** 0014:sstate_task_postfunc(d)
0015:
File: 'sstate_task_postfunc', lineno: 4, function: sstate_task_postfunc
0001:
0002:def sstate_task_postfunc(d):
0003: shared_state = sstate_state_fromvars(d)
*** 0004: sstate_install(shared_state, d)
0005: for intercept in shared_state['interceptfuncs']:
0006: bb.build.exec_func(intercept, d)
0007: omask = os.umask(002)
0008: if omask != 002:
File: 'sstate.bbclass', lineno: 113, function: sstate_install
0109: if os.path.exists(state[1]):
0110: oe.path.copyhardlinktree(state[1], state[2])
0111:
0112: for postinst in (d.getVar('SSTATEPOSTINSTFUNCS', True) or '').split():
*** 0113: bb.build.exec_func(postinst, d)
0114:
0115: for lock in locks:
0116: bb.utils.unlockfile(lock)
0117:
File: '/OE/build/oe-core/bitbake/lib/bb/build.py', lineno: 227, function: exec_func
0223: pass
0224:
0225: with bb.utils.fileslocked(lockfiles):
0226: if ispython:
*** 0227: exec_func_python(func, d, runfile, cwd=adir)
0228: else:
0229: exec_func_shell(func, d, runfile, cwd=adir)
0230:
0231:_functionfmt = """
File: '/OE/build/oe-core/bitbake/lib/bb/build.py', lineno: 252, function: exec_func_python
0248: try:
0249: olddir = os.getcwd()
0250: except OSError:
0251: olddir = None
*** 0252: os.chdir(cwd)
0253:
0254: bb.debug(2, "Executing python function %s" % func)
0255:
0256: try:
Exception: OSError: [Errno 2] No such file or directory: '/OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/perf/1.0-r9/perf-1.0'
ERROR: Function failed: sstate_task_postfunc
ERROR: Logfile of failure stored in: /OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/perf/1.0-r9/temp/log.do_populate_lic.16588
NOTE: recipe perf-1.0-r9: task do_populate_lic: Failed
ERROR: Task 7 (/OE/build/oe-core/openembedded-core/meta/recipes-kernel/perf/perf.bb, do_populate_lic) failed with exit code '1'
NOTE: recipe perf-1.0-r9: task do_configure: Succeeded
NOTE: Tasks Summary: Attempted 840 tasks of which 835 didn't need to be rerun and 1 failed.
So this revert (or more complete fix) is still needed in master, fido and dizzy.
Regards,
>
> // Robert
>
> On 09/15/2015 01:53 PM, Robert Yang wrote:
> >
> > Hi Martin,
> >
> > Sorry, I'm blocked by mutitlib SDK issues recently, I will fix it sooner.
> > Revert the patch is fine to me if it is urgent.
> >
> > // Robert
> >
> > On 09/15/2015 01:29 PM, Martin Jansa wrote:
> >> * This reverts commit 9dafa571ed0a40d21a886dec7704c31150b21942.
> >>
> >> * The "fix" is causing more issues then it's fixing and there was no
> >> feedback in many months.
> >> * More info:
> >>
> >> http://lists.openembedded.org/pipermail/openembedded-core/2015-June/105684.html
> >>
> >> http://lists.openembedded.org/pipermail/openembedded-core/2015-September/109870.html
> >>
> >>
> >> http://lists.openembedded.org/pipermail/openembedded-core/2015-September/110338.html
> >>
> >>
> >> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> >> ---
> >> meta/recipes-kernel/perf/perf.bb | 4 ----
> >> 1 file changed, 4 deletions(-)
> >>
> >> diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
> >> index adb3a2c..f1d7894 100644
> >> --- a/meta/recipes-kernel/perf/perf.bb
> >> +++ b/meta/recipes-kernel/perf/perf.bb
> >> @@ -118,10 +118,6 @@ do_install() {
> >> }
> >>
> >> do_configure_prepend () {
> >> - # Fix for rebuilding
> >> - rm -rf ${B}/
> >> - mkdir ${B}/
> >> -
> >> # If building a multlib based perf, the incorrect library path will be
> >> # detected by perf, since it triggers via: ifeq ($(ARCH),x86_64). In a
> >> 32 bit
> >> # build, with a 64 bit multilib, the arch won't match and the detection
> >> of a
> >>
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 188 bytes --]
next prev parent reply other threads:[~2015-09-21 19:04 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-02 16:00 Robert Yang : perf: fix for rebuilding Martin Jansa
2015-09-10 16:05 ` Martin Jansa
2015-09-15 5:29 ` [PATCH][master][fido][dizzy] Revert "perf: fix for rebuilding" Martin Jansa
2015-09-15 5:53 ` Robert Yang
2015-09-16 7:48 ` Robert Yang
2015-09-16 8:57 ` Burton, Ross
2015-09-16 9:07 ` Robert Yang
2015-09-21 19:04 ` Martin Jansa [this message]
2015-09-21 19:36 ` [RFC][PATCH] perf: don't re-create ${B} Martin Jansa
2015-09-21 20:33 ` [RFC][PATCHv2] cmake.bbclass, " Martin Jansa
2015-09-21 20:55 ` Burton, Ross
2015-09-22 5:44 ` Martin Jansa
2015-09-22 8:10 ` Richard Purdie
2015-09-22 9:36 ` Burton, Ross
2015-09-22 5:48 ` [RFC][PATCHv3] autotools.bbclass, " Martin Jansa
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=20150921190422.GA28765@jama \
--to=martin.jansa@gmail.com \
--cc=liezhi.yang@windriver.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.