Apparently this_dep.taskhash_deps can be None in some cases, which
results in the stacktrace below. Add a check to avoid this.
Solves:
DEBUG: Executing python function sstate_task_prefunc
DEBUG: Python function sstate_task_prefunc finished
DEBUG: Executing python function do_create_recipe_spdx
ERROR: 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_create_recipe_spdx(d)
0003:
File: '/.../oe-core/meta/classes/create-spdx-3.0.bbclass', lineno: 193,
function: do_create_recipe_spdx
0189: "
0190:
0191:python do_create_recipe_spdx() {
0192: import oe.spdx30_tasks
*** 0193: oe.spdx30_tasks.create_recipe_spdx(d)
0194:}
0195:addtask do_create_recipe_spdx
0196:
0197:SSTATETASKS += "do_create_recipe_spdx"
File: '/.../oe-core/meta/lib/oe/spdx30_tasks.py', lineno: 675, function:
create_recipe_spdx
0671: identifier=cpe_id,
0672: )
0673: )
0674:
*** 0675: direct_deps = oe.spdx_common.collect_direct_deps(d,
"do_create_recipe_spdx")
0676:
0677: dep_objsets, dep_recipes = collect_dep_objsets(
0678: d, direct_deps, "static", "static-",
oe.spdx30.software_Package
0679: )
File: '/.../oe-core/meta/lib/oe/spdx_common.py', lineno: 127, function:
collect_direct_deps
0123: for dep_name in this_dep.deps:
0124: dep_data = taskdepdata[dep_name]
0125: if dep_data.taskname == dep_task and dep_data.pn != pn:
0126: deps.add(
*** 0127: Dep(dep_data.pn, dep_data.hashfn, dep_name in
this_dep.taskhash_deps)
0128: )
0129:
0130: return sorted(deps)
0131:
Exception: TypeError: argument of type 'NoneType' is not iterable
DEBUG: Python function do_create_recipe_spdx finished
---
meta/lib/oe/spdx_common.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/lib/oe/spdx_common.py b/meta/lib/oe/spdx_common.py
index 6b1a409c40..d09f749d0e 100644
--- a/meta/lib/oe/spdx_common.py
+++ b/meta/lib/oe/spdx_common.py
@@ -124,7 +124,7 @@ def collect_direct_deps(d, dep_task):
dep_data = taskdepdata[dep_name]
if dep_data.taskname == dep_task and dep_data.pn != pn:
deps.add(
- Dep(dep_data.pn, dep_data.hashfn, dep_name in
this_dep.taskhash_deps)
+ Dep(dep_data.pn, dep_data.hashfn, this_dep.taskhash_deps and
(p_name in this_dep.taskhash_deps))
)
return sorted(deps)
--
2.34.1
Met vriendelijke groet / kind regards,
Mike Looijmans
System Expert
TOPIC Embedded Products B.V.
Materiaalweg 4, 5681 RJ Best
The Netherlands
T: +31 (0) 499 33 69 69
E: [email protected]
W: www.topic.nl
Please consider the environment before printing this e-mail
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#242823):
https://lists.openembedded.org/g/openembedded-core/message/242823
Mute This Topic: https://lists.openembedded.org/mt/120606505/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-