On 02/26/2016 02:14 AM, mikko.rap...@bmw.de wrote:
Hi,

On my developer machine the cve-check ran ok for dizzy but on build server
with sstate-cache and rmwork enabled it failed with what looks like a race
condition when scanning the patch files:

17:45:36 ERROR: Error executing a python function in 
/home/builder/src/base/poky/meta/recipes-extended/mailx/mailx_12.5.bb:
17:45:36
17:45:36 The stack trace of python calls that resulted in this 
exception/failure was:
17:45:36 File: 'do_cve_check', lineno: 17, function: <module>
17:45:36      0013:    else:
17:45:36      0014:        bb.note("Failed to update CVE database, skipping CVE 
check")
17:45:36      0015:
17:45:36      0016:
17:45:36  *** 0017:do_cve_check(d)
17:45:36      0018:
17:45:37 File: 'do_cve_check', lineno: 8, function: do_cve_check
17:45:37      0004:    Check recipe for patched and unpatched CVEs
17:45:37      0005:    """
17:45:37      0006:
17:45:37      0007:    if os.path.exists(d.getVar("CVE_CHECK_TMP_FILE", True)):
17:45:37  *** 0008:        patched_cves = get_patches_cves(d)
17:45:37      0009:        patched, unpatched = check_cves(d, patched_cves)
17:45:37      0010:        if patched or unpatched:
17:45:37      0011:            cve_data = get_cve_info(d, patched + unpatched)
17:45:37      0012:            cve_write_data(d, patched, unpatched, cve_data)
17:45:37 File: 'cve-check.bbclass', lineno: 13, function: get_patches_cves
17:45:37      0009:    cve_match = re.compile("CVE:( CVE\-\d+\-\d+)+")
17:45:37      0010:    patched_cves = set()
17:45:37      0011:    for url in src_patches(d):
17:45:37      0012:        patch_file = bb.fetch.decodeurl(url)[2]
17:45:37  *** 0013:        with open(patch_file, "r") as f:
17:45:37      0014:            patch_text = f.read()
17:45:37      0015:
17:45:37      0016:        # Search for the "CVE: " line
17:45:37      0017:        match = cve_match.search(patch_text)
17:45:37 Exception: IOError: [Errno 2] No such file or directory: 
'/home/builder/src/base/build/tmp/work/corei7-64-linux/mailx/12.5-r2/heirloom-mailx_12.5-1.diff'
17:45:37
17:45:37 ERROR: Function failed: do_cve_check

So could this be caused by cve-check changes or is this just a side effect
of some other recipe problems?

I could not see that kind of fixes in master.

-Mikko

The changes in patch series were minimal and actually this part of the code wasn't touched at all. That part of the code will look for all the files in the SRC_URI variable and will look for the "CVE:" tag in order to find patches that solve CVEs.

It seems the problem is with the bitbake fetcher, or the recipe; unfortunately the fetcher is one of the components that most change between releases. Another thing to check is that if actually there is a heirloom-mailx_12.5-1.diff file in the paths that the fetcher look for. You can check this in the cve_check or patch log in the work directory of the recipe.

Mariano
--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to