Bug 14841

Summary: AB-INT: arm-poky-linux-gnueabi-objcopy failure on kernel module while signing fit image
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Alexandre Belloni <alexandre.belloni>
Component: coreAssignee: Unassigned <unassigned>
Status: RESOLVED WORKSFORME QA Contact:
Severity: normal    
Priority: Medium CC: alexandre.belloni, meta.mr.watcher, meta.watcher, randy.macleod, richard.purdie
Version: unspecified   
Target Milestone: 4.2   
Hardware: x86   
OS: Multiple   
Whiteboard: AB-INT
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Alexandre Belloni 2022-06-16 14:36:01 UTC
https://autobuilder.yoctoproject.org/typhoon/#/builders/80/builds/3643/steps/14/logs/stdio

oe-selftest-debian debian11-ty-1


ERROR: linux-yocto-5.15.36+gitAUTOINC+947149960e_4c875cf137-r0 do_package: Error executing a python function in exec_func_python() autogenerated:
The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_func_python() autogenerated', lineno: 2, function: <module>
     0001:
 *** 0002:split_kernel_module_packages(d)
     0003:
File: '/home/pokybuild/yocto-worker/oe-selftest-debian/build/meta/classes/kernel-module-split.bbclass', lineno: 178, function: split_kernel_module_packages
     0174:    module_pattern_prefix = d.getVar('KERNEL_MODULE_PACKAGE_PREFIX')
     0175:    module_pattern_suffix = d.getVar('KERNEL_MODULE_PACKAGE_SUFFIX')
     0176:    module_pattern = module_pattern_prefix + kernel_package_name + '-module-%s' + module_pattern_suffix
     0177:
 *** 0178:    modules = do_split_packages(d, root='${nonarch_base_libdir}/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='%s-%s' % (kernel_package_name, kernel_version))
     0179:    if modules:
     0180:        d.appendVar('RDEPENDS:' + metapkg, ' '+' '.join(modules))
     0181:
     0182:    # If modules-load.d and modprobe.d are empty at this point, remove them to
File: '/home/pokybuild/yocto-worker/oe-selftest-debian/build/meta/classes/package.bbclass', lineno: 234, function: do_split_packages
     0230:            d.setVar('pkg_postinst:' + pkg, postinst)
     0231:        if postrm:
     0232:            d.setVar('pkg_postrm:' + pkg, postrm)
     0233:        if callable(hook):
 *** 0234:            hook(f, pkg, file_regex, output_pattern, m.group(1))
     0235:
     0236:    d.setVar('PACKAGES', ' '.join(packages))
     0237:    return list(split_packages)
     0238:
File: '/home/pokybuild/yocto-worker/oe-selftest-debian/build/meta/classes/kernel-module-split.bbclass', lineno: 86, function: frob_metadata
     0082:            vals[m.group(1)] = m.group(2)
     0083:        return vals
     0084:
     0085:    def frob_metadata(file, pkg, pattern, format, basename):
 *** 0086:        vals = extract_modinfo(file)
     0087:
     0088:        dvar = d.getVar('PKGD')
     0089:
     0090:        # If autoloading is requested, output /etc/modules-load.d/<name>.conf and append
File: '/home/pokybuild/yocto-worker/oe-selftest-debian/build/meta/classes/kernel-module-split.bbclass', lineno: 68, function: extract_modinfo
     0064:                raise msg
     0065:            cmd = "%sobjcopy -j .modinfo -O binary %s %s" % (d.getVar("HOST_PREFIX") or "", tmpkofile, tmpfile)
     0066:        else:
     0067:            cmd = "%sobjcopy -j .modinfo -O binary %s %s" % (d.getVar("HOST_PREFIX") or "", file, tmpfile)
 *** 0068:        subprocess.check_call(cmd, shell=True)
     0069:        # errors='replace': Some old kernel versions contain invalid utf-8 characters in mod descriptions (like 0xf6, 'รถ')
     0070:        f = open(tmpfile, errors='replace')
     0071:        l = f.read().split("\000")
     0072:        f.close()
File: '/usr/lib/python3.9/subprocess.py', lineno: 373, function: check_call
     0369:    if retcode:
     0370:        cmd = kwargs.get("args")
     0371:        if cmd is None:
     0372:            cmd = popenargs[0]
 *** 0373:        raise CalledProcessError(retcode, cmd)
     0374:    return 0
     0375:
     0376:
     0377:def check_output(*popenargs, timeout=None, **kwargs):
Exception: subprocess.CalledProcessError: Command 'arm-poky-linux-gnueabi-objcopy -j .modinfo -O binary /home/pokybuild/yocto-worker/oe-selftest-debian/build/build-st-176364/tmp/work/beaglebone_yocto-poky-linux-gnueabi/linux-yocto/5.15.36+gitAUTOINC+947149960e_4c875cf137-r0/package/lib/modules/5.15.36-yocto-standard/kernel/fs/nls/nls_cp737.ko /home/pokybuild/yocto-worker/oe-selftest-debian/build/build-st-176364/tmp/work/beaglebone_yocto-poky-linux-gnueabi/linux-yocto/5.15.36+gitAUTOINC+947149960e_4c875cf137-r0/tmpfwkn17wj' returned non-zero exit status 1.
ERROR: Logfile of failure stored in: /home/pokybuild/yocto-worker/oe-selftest-debian/build/build-st-176364/tmp/work/beaglebone_yocto-poky-linux-gnueabi/linux-yocto/5.15.36+gitAUTOINC+947149960e_4c875cf137-r0/temp/log.do_package.3515822
NOTE: recipe linux-yocto-5.15.36+gitAUTOINC+947149960e_4c875cf137-r0: task do_package: Failed
ERROR: Task (/home/pokybuild/yocto-worker/oe-selftest-debian/build/meta/recipes-kernel/linux/linux-yocto_5.15.bb:do_package) failed with exit code '1'
NOTE: Tasks Summary: Attempted 801 tasks of which 764 didn't need to be rerun and 1 failed.
NOTE: The errors for this build are stored in /home/pokybuild/yocto-worker/oe-selftest-debian/build/build-st-176364/tmp/log/error-report/error_report_20220612015905.txt
You can send the errors to a reports server by running:
  send-error-report /home/pokybuild/yocto-worker/oe-selftest-debian/build/build-st-176364/tmp/log/error-report/error_report_20220612015905.txt [-s server]
NOTE: The contents of these logs will be posted in public if you use the above command with the default server. Please ensure you remove any identifying or proprietary information when prompted before sending.
Summary: 1 task failed:
  /home/pokybuild/yocto-worker/oe-selftest-debian/build/meta/recipes-kernel/linux/linux-yocto_5.15.bb:do_package
Summary: There was 1 ERROR message, returning a non-zero exit code.
Comment 1 Randy MacLeod 2022-06-16 14:52:41 UTC
This system was behaving oddly and dropped itself out of the pool ~ 3 days  after this happened so perhaps that's related. It is still off-line to run diagnostic tests.

We should catch errors like this and get better logging for this type of failure.
Comment 2 Richard Purdie 2022-09-22 14:53:39 UTC
Leaving as we need to improve logging in this kind of failure case
Comment 3 Randy MacLeod 2022-11-03 14:50:10 UTC
Re-open if seen again. -- YP bug review