[OE-core] OSError: [Errno 7] Argument list too long in sstate_install
Martin Jansa
martin.jansa at gmail.com
Tue Jan 29 20:26:30 UTC 2013
On Tue, Jan 29, 2013 at 03:49:00PM +0100, Martin Jansa wrote:
> When building bigger world-image I always get this error from
> populate_lic. There is debug output to show what copytree/Popen/execute_child
> was calling and it looks OK to me.
and here is strace from that shell, no idea where that close(4294967295) came from
Process 2553 attached - interrupt to quit
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 2554
--- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigreturn(0x11) = 2554
stat("/home/jenkins/oe/shr-core-branches/shr-core/openembedded-core/scripts/tar", 0x7fffc9269bf0) = -1 ENOENT (No such file or directory)
stat("/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/bin/armv5te-oe-linux-gnueabi/tar", 0x7fffc9269bf0) = -1 ENOENT (No such file or directory)
stat("/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm/usr/bin/crossscripts/tar", 0x7fffc9269bf0) = -1 ENOENT (No such file or directory)
stat("/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/sbin/tar", 0x7fffc9269bf0) = -1 ENOENT (No such file or directory)
stat("/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/bin/tar", 0x7fffc9269bf0) = -1 ENOENT (No such file or directory)
stat("/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/x86_64-linux/sbin/tar", 0x7fffc9269bf0) = -1 ENOENT (No such file or directory)
stat("/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/x86_64-linux//bin/tar", 0x7fffc9269bf0) = -1 ENOENT (No such file or directory)
stat("/home/jenkins/oe/shr-core-branches/shr-core/openembedded-core/scripts/tar", 0x7fffc9269bf0) = -1 ENOENT (No such file or directory)
stat("/home/jenkins/oe/shr-core-branches/shr-core/bitbake/bin/tar", 0x7fffc9269bf0) = -1 ENOENT (No such file or directory)
stat("/usr/local/bin/tar", 0x7fffc9269bf0) = -1 ENOENT (No such file or directory)
stat("/usr/bin/tar", 0x7fffc9269bf0) = -1 ENOENT (No such file or directory)
stat("/bin/tar", {st_mode=S_IFREG|0755, st_size=307760, ...}) = 0
pipe([10, 11]) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f46963919d0) = 3068
close(11) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f46963919d0) = 3069
close(10) = 0
close(4294967295) = -1 EBADF (Bad file descriptor)
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 3068
--- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigreturn(0x11) = 3068
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 3069
--- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigreturn(0x11) = 3069
exit_group(0) = ?
Process 2553 detached
>
> Could it be caused by pseudo or something like that? do_populate_lic works fine in other recipes.
>
> Running the same cmdline in shell works fine and running it from small .py file also works fine:
> $ PYTHONPATH="openembedded-core/meta/lib/:bitbake/lib:bitbake/lib/bb" ./copytree.test.py
> copytree cmd 'tar -cf - -C /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/qemuarm-oe-linux-gnueabi/world-image/1.0-r0/license-destdir -ps . | tar -xf - -C /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/deploy/licenses'
> Calling Popen '('tar -cf - -C /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/qemuarm-oe-linux-gnueabi/world-image/1.0-r0/license-destdir -ps . | tar -xf - -C /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/deploy/licenses',)' '{'shell': True, 'stderr': -2}'
> execute_child(args, executable, preexec_fn, close_fds,
> cwd, env, universal_newlines,
> startupinfo, creationflags, shell,
> p2cread, p2cwrite,
> c2pread, c2pwrite,
> errread, errwrite)
> execute_child(tar -cf - -C /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/qemuarm-oe-linux-gnueabi/world-image/1.0-r0/license-destdir -ps . | tar -xf - -C /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/deploy/licenses, None, None, False,
> None, None, False,
> None, 0,
> True,
> None, None,
> 3, 4,
> None, 4)
>
> $ cat copytree.test.py
> #!/usr/bin/env python
> import bb
> import oe.path
> src='/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/qemuarm-oe-linux-gnueabi/world-image/1.0-r0/license-destdir'
> dst='/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/deploy/licenses'
> oe.path.copytree(src, dst)
>
> src has only few files, dst has a lot of directories:
>
> $ find /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/qemuarm-oe-linux-gnueabi/world-image/1.0-r0/license-destdir
> /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/qemuarm-oe-linux-gnueabi/world-image/1.0-r0/license-destdir
> /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/qemuarm-oe-linux-gnueabi/world-image/1.0-r0/license-destdir/world-image
> /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/qemuarm-oe-linux-gnueabi/world-image/1.0-r0/license-destdir/world-image/generic_MIT
> /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/qemuarm-oe-linux-gnueabi/world-image/1.0-r0/license-destdir/world-image/COPYING.MIT
> /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/qemuarm-oe-linux-gnueabi/world-image/1.0-r0/license-destdir/world-image/LICENSE
>
> $ ls /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/deploy/licenses -1 | wc -l
> 1696
>
> Complete error as shown in work/qemuarm-oe-linux-gnueabi/world-image/1.0-r0/temp/log.do_populate_lic:
>
> DEBUG: Executing python function sstate_task_prefunc
> DEBUG: Removing manifest: /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/deploy/licenses/world-image/
> DEBUG: Python function sstate_task_prefunc finished
> DEBUG: Executing python function do_populate_lic
> DEBUG: Python function do_populate_lic finished
> DEBUG: Executing python function sstate_task_postfunc
> DEBUG: Staging files from /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/qemuarm-oe-linux-gnueabi/world-image/1.0-r0/license-destdir to /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/deploy/licenses
> DEBUG: Staging files from /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/qemuarm-oe-linux-gnueabi/world-image/1.0-r0/license-destdir to /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/deploy/licenses
> copytree cmd 'tar -cf - -C /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/qemuarm-oe-linux-gnueabi/world-image/1.0-r0/license-destdir -ps . | tar -xf - -C /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/deploy/licenses'
> Calling Popen '('tar -cf - -C /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/qemuarm-oe-linux-gnueabi/world-image/1.0-r0/license-destdir -ps . | tar -xf - -C /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/deploy/licenses',)' '{'shell': True, 'stderr': -2}'
> execute_child(args, executable, preexec_fn, close_fds,
> cwd, env, universal_newlines,
> startupinfo, creationflags, shell,
> p2cread, p2cwrite,
> c2pread, c2pwrite,
> errread, errwrite)
> execute_child(tar -cf - -C /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/qemuarm-oe-linux-gnueabi/world-image/1.0-r0/license-destdir -ps . | tar -xf - -C /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/deploy/licenses, None, None, False,
> None, None, False,
> None, 0,
> True,
> None, None,
> 20, 21,
> None, 21)
> ERROR: Error executing a python function in /home/jenkins/oe/shr-core-branches/shr-core/openembedded-core/meta/recipes-core/images/world-image.bb:
> OSError: [Errno 7] Argument list too long
>
> ERROR: The stack trace of python calls that resulted in this exception/failure was:
> ERROR: File "sstate_task_postfunc", line 12, in <module>
> ERROR:
> ERROR: File "sstate_task_postfunc", line 4, in sstate_task_postfunc
> ERROR:
> ERROR: File "sstate.bbclass", line 76, in sstate_install
> ERROR:
> ERROR: File "/home/jenkins/oe/shr-core-branches/shr-core/openembedded-core/meta/lib/oe/path.py", line 85, in copytree
> ERROR: check_output(cmd, shell=True, stderr=subprocess.STDOUT)
> ERROR:
> ERROR: File "/home/jenkins/oe/shr-core-branches/shr-core/openembedded-core/meta/lib/oe/path.py", line 141, in check_output
> ERROR: process = subprocess.Popen(stdout=subprocess.PIPE, *popenargs, **kwargs)
> ERROR:
> ERROR: File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
> ERROR: errread, errwrite)
> ERROR:
> ERROR: File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
> ERROR: raise child_exception
> ERROR:
> ERROR: The code that was being executed was:
> ERROR: 0008: bb.build.exec_func(intercept, d)
> ERROR: 0009: sstate_package(shared_state, d)
> ERROR: 0010:
> ERROR: 0011:
> ERROR: *** 0012:sstate_task_postfunc(d)
> ERROR: 0013:
> ERROR: [From file: 'sstate_task_postfunc', lineno: 12, function: <module>]
> ERROR: 0001:
> ERROR: 0002:def sstate_task_postfunc(d):
> ERROR: 0003: shared_state = sstate_state_fromvars(d)
> ERROR: *** 0004: sstate_install(shared_state, d)
> ERROR: 0005: enabled = d.getVar('SSTATE_CREATE_PKG', True)
> ERROR: 0006: if enabled and enabled == "1":
> ERROR: 0007: for intercept in shared_state['interceptfuncs']:
> ERROR: 0008: bb.build.exec_func(intercept, d)
> ERROR: [From file: 'sstate_task_postfunc', lineno: 4, function: sstate_task_postfunc]
> ERROR: 0072: f.close()
> ERROR: 0073:
> ERROR: 0074: # Run the actual file install
> ERROR: 0075: for state in ss['dirs']:
> ERROR: *** 0076: oe.path.copytree(state[1], state[2])
> ERROR: 0077:
> ERROR: 0078: for postinst in (d.getVar('SSTATEPOSTINSTFUNCS', True) or '').split():
> ERROR: 0079: bb.build.exec_func(postinst, d)
> ERROR: 0080:
> ERROR: [From file: 'sstate.bbclass', lineno: 76, function: sstate_install]
> DEBUG: Python function sstate_task_postfunc finished
> ERROR: Function failed: sstate_task_postfunc
>
>
> --
> Martin 'JaMa' Jansa jabber: Martin.Jansa at gmail.com
--
Martin 'JaMa' Jansa jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20130129/7c215eff/attachment-0002.sig>
More information about the Openembedded-core
mailing list