From: "Mathieu Dubois-Briand" <mathieu.dubois-briand@bootlin.com>
To: <mike.looijmans@topic.nl>, <openembedded-core@lists.openembedded.org>
Subject: Re: [OE-core] [PATCH v2] spdx_common.py: Avoid crash when this_dep.taskhash_deps is None
Date: Thu, 13 Aug 2026 16:06:41 +0200 [thread overview]
Message-ID: <DKNVH83J7GRX.3FBYZPOLA8T4B@bootlin.com> (raw)
In-Reply-To: <20260805064239.3111725-1-mike.looijmans@topic.nl>
On Wed Aug 5, 2026 at 8:42 AM CEST, Mike Looijmans via lists.openembedded.org wrote:
> 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>
> ---
Hi Mike,
Sorry, this patch went lost, as I thought it was just a reply.
> 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))
> )
>
Should p_name be dep_name here?
Thanks,
Mathieu
--
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
next prev parent reply other threads:[~2026-08-13 14:06 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 ` [PATCH v2] spdx_common.py: Avoid crash when this_dep.taskhash_deps is None Mike Looijmans
2026-08-13 14:06 ` Mathieu Dubois-Briand [this message]
[not found] ` <18C8D5AB3A5C8CDD.1990914@lists.openembedded.org>
2026-08-05 7:30 ` [OE-core] " 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=DKNVH83J7GRX.3FBYZPOLA8T4B@bootlin.com \
--to=mathieu.dubois-briand@bootlin.com \
--cc=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.