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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox