Re: KeyError: 'getpwuid(): uid not found: 1000' in do_package phase


Marek Belisko
 

On Mon, Nov 16, 2020 at 9:52 PM Joshua Watt <jpewhacker@...> wrote:


On 11/16/20 2:38 PM, Marek Belisko wrote:

Hi,

I'm bumping my project based on zeus to dunfell. I've update all
layers and in one of my recipes I'm seeing following issue (not see on
zeus at all):
WARNING: cv-my-test-1.0-r0 do_package: KeyError in ./package/srv/10%.png
ERROR: cv-my-test-1.0-r0 do_package: Error executing a python function
in exec_python_func() autogenerated:

The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
0001:
*** 0002:sstate_report_unihash(d)
0003:
File: '/home/ubuntu/projects/my-test-/poky/meta/classes/sstate.bbclass',
lineno: 840, function: sstate_report_unihash
0836: report_unihash = getattr(bb.parse.siggen, 'report_unihash', None)
0837:
0838: if report_unihash:
0839: ss = sstate_state_fromvars(d)
*** 0840: report_unihash(os.getcwd(), ss['task'], d)
0841:}
0842:
0843:#
0844:# Shell function to decompress and prepare a package for installation
File: '/home/ubuntu/projects/my-test-/poky/bitbake/lib/bb/siggen.py',
lineno: 555, function: report_unihash
0551:
0552: if "." in self.method:
0553: (module, method) = self.method.rsplit('.', 1)
0554: locs['method'] =
getattr(importlib.import_module(module), method)
*** 0555: outhash = bb.utils.better_eval('method(path,
sigfile, task, d)', locs)
0556: else:
0557: outhash = bb.utils.better_eval(self.method +
'(path, sigfile, task, d)', locs)
0558:
0559: try:
File: '/home/ubuntu/projects/my-test-/poky/bitbake/lib/bb/utils.py',
lineno: 420, function: better_eval
0416: if extraglobals:
0417: ctx = copy.copy(ctx)
0418: for g in extraglobals:
0419: ctx[g] = extraglobals[g]
*** 0420: return eval(source, ctx, locals)
0421:
0422:@contextmanager
0423:def fileslocked(files):
0424: """Context manager for locking and unlocking file locks."""
File: '<string>', lineno: 1, function: <module>
File "<string>", line 1, in <module>

File: '/home/ubuntu/projects/my-test-/poky/meta/lib/oe/sstatesig.py',
lineno: 595, function: OEOuthashBasic
0591: process(root)
0592: for f in files:
0593: if f == 'fixmepath':
0594: continue
*** 0595: process(os.path.join(root, f))
0596: finally:
0597: os.chdir(prev_dir)
0598:
0599: return h.hexdigest()
File: '/home/ubuntu/projects/my-test-/poky/meta/lib/oe/sstatesig.py',
lineno: 551, function: process
0547: add_perm(stat.S_IXOTH, 'x')
0548:
0549: if include_owners:
0550: try:
*** 0551: update_hash(" %10s" %
pwd.getpwuid(s.st_uid).pw_name)
0552: update_hash(" %10s" %
grp.getgrgid(s.st_gid).gr_name)
0553: except KeyError:
0554: bb.warn("KeyError in %s" % path)
0555: raise
Exception: KeyError: 'getpwuid(): uid not found: 1000'

ERROR: Logfile of failure stored in:
/home/ubuntu/projects/my-test-/build/tmp/work/aarch64-poky-linux/cv-my-test/1.0-r0/temp/log.do_package.27454

Is this known issue or something related to my host setup?

This means the recipe is having host contamination (where the UID of the user doing the build is leaking into the file system).
Some ideas what can be the source of that. This recipe is basically
just copying files from archive to final rootfs without any special
processing or so.

Thanks and BR,

marek



BR,

marek

Join yocto@lists.yoctoproject.org to automatically receive all group messages.