Le lun. 16 oct. 2023 à 17:37, Mark Hatle <[email protected]> a écrit : > On 10/16/23 7:17 AM, Yoann Congal wrote: > > Hi Mark, > > > > Le lun. 16 oct. 2023 à 02:40, Mark Hatle via lists.openembedded.org > > <[email protected]> a écrit : > >> Running a number of builds recently, a small number of them failed. Note > >> we ran about 20 builds and only 3 failed like this, the others completed. > >> I'm wondering if maybe there is a race condition with the new code? > > > > FYI, RP did point me to this thread (that I did miss sorry) and I > > (co-author of the "new code") will send two patches to prevent the > > error the happen again. > > RP's hypothesis is that this is linked to S=WORKDIR recipes. Did all > > your crashed build happened on "depmodwrapper-cross" (Which is > > S=WORKDIR) ? > > Yes, they all failed on depmodwrapper-cross.
Realy looks like the S=WORKDIR case ! > Happy to test changes for you. Thanks! I've sent patches here : [PATCH 1/2] insane: skip unimplemented-ptest on S=WORKDIR recipes https://lists.openembedded.org/g/openembedded-core/message/189301 [PATCH 2/2] insane: unimplemented-ptest: ignore source file errors https://lists.openembedded.org/g/openembedded-core/message/189302 I've tested that the depmodwrapper-cross recipe is now skipped for the unimplemented-ptest check. Regards, > --Mark > > > Thanks! > > > >> Error: > >> > >> ERROR: depmodwrapper-cross-1.0-r0 do_patch: 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:do_qa_patch(d) > >> 0003: > >> File: > >> '/scratch/jenkins-BUILDS-eSDK-dev_eSDK-eSDK-master-next-pipeline-8_ZynqMpDrFull/sources/poky/meta/classes-global/insane.bbclass', > >> lineno: 1379, function: do_qa_patch > >> 1375: elif os.path.exists(os.path.join(srcdir, "t")) and > >> any(filename.endswith('.t') for filename in > >> os.listdir(os.path.join(srcdir, 't'))): > >> 1376: oe.qa.handle_error("unimplemented-ptest", "%s: perl Test:: > >> based tests detected" % d.getVar('PN'), d) > >> 1377: > >> 1378: # Detect pytest-based tests > >> *** 1379: elif match_line_in_files(srcdir, "**/*.py", > >> r'\s*(?:import\s*pytest|from\s*pytest)'): > >> 1380: oe.qa.handle_error("unimplemented-ptest", "%s: pytest-based > >> tests detected" % d.getVar('PN'), d) > >> 1381: > >> 1382: # Detect meson-based tests > >> 1383: elif os.path.exists(os.path.join(srcdir, "meson.build")) and > >> match_line_in_files(srcdir, "**/meson.build", r'\s*test\s*\('): > >> File: > >> '/scratch/jenkins-BUILDS-eSDK-dev_eSDK-eSDK-master-next-pipeline-8_ZynqMpDrFull/sources/poky/meta/classes-global/insane.bbclass', > >> lineno: 1357, function: match_line_in_files > >> 1353: > >> ########################################################################### > >> 1354: def match_line_in_files(toplevel, filename_glob, line_regex): > >> 1355: import pathlib > >> 1356: toppath = pathlib.Path(toplevel) > >> *** 1357: for entry in toppath.glob(filename_glob): > >> 1358: try: > >> 1359: with open(entry, 'r', encoding='utf-8', > >> errors='ignore') as f: > >> 1360: for line in f.readlines(): > >> 1361: if re.match(line_regex, line): > >> File: '/usr/lib/python3.10/pathlib.py', lineno: 1034, function: glob > >> 1030: drv, root, pattern_parts = > >> self._flavour.parse_parts((pattern,)) > >> 1031: if drv or root: > >> 1032: raise NotImplementedError("Non-relative patterns are > >> unsupported") > >> 1033: selector = _make_selector(tuple(pattern_parts), self._flavour) > >> *** 1034: for p in selector.select_from(self): > >> 1035: yield p > >> 1036: > >> 1037: def rglob(self, pattern): > >> 1038: """Recursively yield all existing files (of any kind, > >> including > >> File: '/usr/lib/python3.10/pathlib.py', lineno: 493, function: _select_from > >> 0489: yielded = set() > >> 0490: try: > >> 0491: successor_select = self.successor._select_from > >> 0492: for starting_point in > >> self._iterate_directories(parent_path, is_dir, scandir): > >> *** 0493: for p in successor_select(starting_point, > >> is_dir, exists, scandir): > >> 0494: if p not in yielded: > >> 0495: yield p > >> 0496: yielded.add(p) > >> 0497: finally: > >> File: '/usr/lib/python3.10/pathlib.py', lineno: 440, function: _select_from > >> 0436: _Selector.__init__(self, child_parts, flavour) > >> 0437: > >> 0438: def _select_from(self, parent_path, is_dir, exists, scandir): > >> 0439: try: > >> *** 0440: with scandir(parent_path) as scandir_it: > >> 0441: entries = list(scandir_it) > >> 0442: for entry in entries: > >> 0443: if self.dironly: > >> 0444: try: > >> Exception: FileNotFoundError: [Errno 2] No such file or directory: > >> '/scratch/jenkins-BUILDS-eSDK-dev_eSDK-eSDK-master-next-pipeline-8_ZynqMpDrFull/build/tmp/work/zynqmp_generic-xilinx-linux/depmodwrapper-cross/1.0/sstate-build-create_spdx' > >> > >> ERROR: Logfile of failure stored in: > >> /scratch/jenkins-BUILDS-eSDK-dev_eSDK-eSDK-master-next-pipeline-8_ZynqMpDrFull/build/tmp/work/zynqmp_generic-xilinx-linux/depmodwrapper-cross/1.0/temp/log.do_patch.1966488 > >> > >> > >> > >> > >> > >> > >> > > -- Yoann Congal Smile ECS - Tech expert
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#189303): https://lists.openembedded.org/g/openembedded-core/message/189303 Mute This Topic: https://lists.openembedded.org/mt/101987519/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
