Bug 14606

Summary: yocto-check-layer fails on meta-oe with traceback
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Paul Eggleton <bluelightning>
Component: Scripts and ToolsAssignee: Unassigned <unassigned>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Undecided CC: richard.purdie, ross.burton
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Paul Eggleton 2021-10-17 22:21:22 UTC
yocto-check-layer fails in the check-layer-nightly build on the autobuilder (master) but with a traceback rather than a compatibility failure:

--------------------------- snip ------------------------------
INFO: FAIL: test_signatures (common.CommonCheckLayer)
INFO: ----------------------------------------------------------------------
INFO: Traceback (most recent call last):
  File "/home/pokybuild/yocto-worker/check-layer-nightly/build/scripts/lib/checklayer/cases/common.py", line 55, in test_signatures
    self.fail('Adding layer %s changed signatures.\n%s' % (self.tc.layer['name'], msg))
AssertionError: Adding layer meta-oe changed signatures.
3494 signatures changed, initial differences (first hash before, second after):
   lua-native:do_fetch: 4876a525ac555c5ccc2af341fb5c3e858583a5a3e1379b2a51fd1b7f90b19eef -> 675020d6a96b5b92b0d22f873a275fefa443df17173569582168f713d1239c52
      bitbake-diffsigs --task lua-native do_fetch --signature 4876a525ac555c5ccc2af341fb5c3e858583a5a3e1379b2a51fd1b7f90b19eef 675020d6a96b5b92b0d22f873a275fefa443df17173569582168f713d1239c52
      Determining signature difference failed.
      Command: bitbake-diffsigs --task lua-native do_fetch --signature 4876a525ac555c5ccc2af341fb5c3e858583a5a3e1379b2a51fd1b7f90b19eef 675020d6a96b5b92b0d22f873a275fefa443df17173569582168f713d1239c52
      Output:
      NOTE: Starting bitbake server...
      /usr/lib/python3/dist-packages/apport/report.py:13: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
        import fnmatch, glob, traceback, errno, sys, atexit, locale, imp, stat
      
      Traceback (most recent call last):
        File "/home/pokybuild/yocto-worker/check-layer-nightly/build/bitbake/bin/bitbake-diffsigs", line 175, in <module>
          output = bb.siggen.compare_sigfiles(files[-2], files[-1], recursecb, color=color)
        File "/home/pokybuild/yocto-worker/check-layer-nightly/build/bitbake/lib/bb/siggen.py", line 871, in compare_sigfiles
          changed, added, removed = dict_diff(a_data['gendeps'], b_data['gendeps'], a_data['basewhitelist'] & b_data['basewhitelist'])
      TypeError: unsupported operand type(s) for &: 'list' and 'list'
   lua:do_fetch: f769311d87f012ba7a576f97d279be2fe56172623284c33e2975e35a2028361e -> b1f10ae789cf1379db757d51375a5695b88f822a128c85d43fc764ff54d6d8ef
      bitbake-diffsigs --task lua do_fetch --signature f769311d87f012ba7a576f97d279be2fe56172623284c33e2975e35a2028361e b1f10ae789cf1379db757d51375a5695b88f822a128c85d43fc764ff54d6d8ef
      Determining signature difference failed.
      Command: bitbake-diffsigs --task lua do_fetch --signature f769311d87f012ba7a576f97d279be2fe56172623284c33e2975e35a2028361e b1f10ae789cf1379db757d51375a5695b88f822a128c85d43fc764ff54d6d8ef
      Output:
      NOTE: Starting bitbake server...
      /usr/lib/python3/dist-packages/apport/report.py:13: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
        import fnmatch, glob, traceback, errno, sys, atexit, locale, imp, stat
      
      Traceback (most recent call last):
        File "/home/pokybuild/yocto-worker/check-layer-nightly/build/bitbake/bin/bitbake-diffsigs", line 175, in <module>
          output = bb.siggen.compare_sigfiles(files[-2], files[-1], recursecb, color=color)
        File "/home/pokybuild/yocto-worker/check-layer-nightly/build/bitbake/lib/bb/siggen.py", line 871, in compare_sigfiles
          changed, added, removed = dict_diff(a_data['gendeps'], b_data['gendeps'], a_data['basewhitelist'] & b_data['basewhitelist'])
      TypeError: unsupported operand type(s) for &: 'list' and 'list'
--------------------------- snip ------------------------------

https://autobuilder.yoctoproject.org/typhoon/#/builders/121/builds/309/steps/21/logs/stdio