I wanted to confirm, this did fix the problem for me.  Thanks!

On 10/16/23 10:54 AM, Yoann Congal wrote:
Le lun. 16 oct. 2023 à 17:37, Mark Hatle
<mark.ha...@kernel.crashing.org> 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
<mark.hatle=amd....@lists.openembedded.org> 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














-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#189344): 
https://lists.openembedded.org/g/openembedded-core/message/189344
Mute This Topic: https://lists.openembedded.org/mt/101987519/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to