From: Mike Looijmans <mike.looijmans@topic.nl>
To: openembedded-core@lists.openembedded.org
Cc: Mike Looijmans <mike.looijmans@topic.nl>
Subject: [PATCH v2] spdx_common.py: Avoid crash when this_dep.taskhash_deps is None
Date: Wed, 5 Aug 2026 08:42:39 +0200 [thread overview]
Message-ID: <20260805064239.3111725-1-mike.looijmans@topic.nl> (raw)
In-Reply-To: 1b153bce-a66a-45ee-a5c6-963ea6fb1c82.949ef384-8293-46b8-903f-40a477c056ae.a0496a1c-b05b-48c5-bb27-609c26e2367d@emailsignatures365.codetwo.com
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
Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
---
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: mike.looijmans@topic.nl
W: www.topic.nl
Please consider the environment before printing this e-mail
next parent reply other threads:[~2026-08-05 6:43 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1b153bce-a66a-45ee-a5c6-963ea6fb1c82.949ef384-8293-46b8-903f-40a477c056ae.a0496a1c-b05b-48c5-bb27-609c26e2367d@emailsignatures365.codetwo.com>
2026-08-05 6:42 ` Mike Looijmans [this message]
2026-08-13 14:06 ` [OE-core] [PATCH v2] spdx_common.py: Avoid crash when this_dep.taskhash_deps is None Mathieu Dubois-Briand
[not found] ` <18C8D5AB3A5C8CDD.1990914@lists.openembedded.org>
2026-08-05 7:30 ` Mike Looijmans
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260805064239.3111725-1-mike.looijmans@topic.nl \
--to=mike.looijmans@topic.nl \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.