All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] perf python: Fix arm-cs-trace-disasm type error
@ 2026-09-28 12:58 James Clark
  2026-09-28 13:01 ` sashiko-bot
  2026-09-28 13:46 ` Leo Yan
  0 siblings, 2 replies; 6+ messages in thread
From: James Clark @ 2026-09-28 12:58 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, Namhyung Kim, Ian Rogers, Leo Yan
  Cc: linux-perf-users, linux-kernel, James Clark

The perf sample dso_bid getter returns a string or None, matching its
Optional[str] annotation. Attempting to decode it as bytes causes mypy
to report union-attr errors, even though this was behind a conditional
that checked for bytes type.

Use the string directly, retaining the fallback for an unknown build ID.

This fixes the following build error:

  python/arm-cs-trace-disasm.py:266: error: Item "None" of "str | None" has no attribute "decode"  [union-attr]

Fixes: 279b402e5143 ("perf python: Port arm-cs-trace-disasm to perf module")
Assisted-by: Codex:GPT-6-Astra
Signed-off-by: James Clark <james.clark@linaro.org>
---
 tools/perf/python/arm-cs-trace-disasm.py | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/tools/perf/python/arm-cs-trace-disasm.py b/tools/perf/python/arm-cs-trace-disasm.py
index cf126ac79c18..1812ccaf4b20 100755
--- a/tools/perf/python/arm-cs-trace-disasm.py
+++ b/tools/perf/python/arm-cs-trace-disasm.py
@@ -263,9 +263,7 @@ class TraceDisasm:
 
         dso = getattr(sample, 'dso_long_name', None) or sample.dso or '[unknown]'
         symbol = sample.symbol or '[unknown]'
-        dso_bid = (sample.dso_bid.decode('utf-8')
-                   if isinstance(sample.dso_bid, bytes)
-                   else str(sample.dso_bid or '[unknown]'))
+        dso_bid = sample.dso_bid or '[unknown]'
         dso_start = sample.map_start
         dso_end = sample.map_end
         map_pgoff = sample.map_pgoff or 0

---
base-commit: 0ae6fc78c5ce0dfd18d8712a50f0fd4602eff103
change-id: 20260928-james-perf-mypy-cs-disasm-ed5ab0b60a8a

Best regards,
--  
James Clark <james.clark@linaro.org>


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] perf python: Fix arm-cs-trace-disasm type error
  2026-09-28 12:58 [PATCH] perf python: Fix arm-cs-trace-disasm type error James Clark
@ 2026-09-28 13:01 ` sashiko-bot
  2026-09-28 13:46 ` Leo Yan
  1 sibling, 0 replies; 6+ messages in thread
From: sashiko-bot @ 2026-09-28 13:01 UTC (permalink / raw)
  To: James Clark; +Cc: linux-perf-users

> The perf sample dso_bid getter returns a string or None, matching its
> Optional[str] annotation. Attempting to decode it as bytes causes mypy
> to report union-attr errors, even though this was behind a conditional
> that checked for bytes type.
> 
> Use the string directly, retaining the fallback for an unknown build ID.
> 
> This fixes the following build error:
> 
>   python/arm-cs-trace-disasm.py:266: error: Item "None" of "str | None" has no attribute "decode"  [union-attr]
> 
> Fixes: 279b402e5143 ("perf python: Port arm-cs-trace-disasm to perf module")
> Assisted-by: Codex:GPT-6-Astra
> Signed-off-by: James Clark <james.clark@linaro.org>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260928-james-perf-mypy-cs-disasm-v1-1-1bda909475ce@linaro.org?part=1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] perf python: Fix arm-cs-trace-disasm type error
  2026-09-28 12:58 [PATCH] perf python: Fix arm-cs-trace-disasm type error James Clark
  2026-09-28 13:01 ` sashiko-bot
@ 2026-09-28 13:46 ` Leo Yan
  2026-09-28 13:52   ` James Clark
  1 sibling, 1 reply; 6+ messages in thread
From: Leo Yan @ 2026-09-28 13:46 UTC (permalink / raw)
  To: James Clark
  Cc: Arnaldo Carvalho de Melo, Namhyung Kim, Ian Rogers,
	linux-perf-users, linux-kernel

On Mon, Sep 28, 2026 at 01:58:09PM +0100, James Clark wrote:
> The perf sample dso_bid getter returns a string or None, matching its
> Optional[str] annotation. Attempting to decode it as bytes causes mypy
> to report union-attr errors, even though this was behind a conditional
> that checked for bytes type.
> 
> Use the string directly, retaining the fallback for an unknown build ID.
> 
> This fixes the following build error:
> 
>   python/arm-cs-trace-disasm.py:266: error: Item "None" of "str | None" has no attribute "decode"  [union-attr]
> 
> Fixes: 279b402e5143 ("perf python: Port arm-cs-trace-disasm to perf module")
> Assisted-by: Codex:GPT-6-Astra
> Signed-off-by: James Clark <james.clark@linaro.org>

Thanks for the fix:

Reviewed-by: Leo Yan <leo.yan@arm.com>

Just curious, have you run this script and compare the result with old
one? Seems to me, the build pass is insufficient, we should run a small
test to ensure the result to keep same.

Thanks,
Leo

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] perf python: Fix arm-cs-trace-disasm type error
  2026-09-28 13:46 ` Leo Yan
@ 2026-09-28 13:52   ` James Clark
  2026-09-28 15:11     ` Ian Rogers
  2026-09-28 16:29     ` Arnaldo Carvalho de Melo
  0 siblings, 2 replies; 6+ messages in thread
From: James Clark @ 2026-09-28 13:52 UTC (permalink / raw)
  To: Leo Yan
  Cc: Arnaldo Carvalho de Melo, Namhyung Kim, Ian Rogers,
	linux-perf-users, linux-kernel



On 28/09/2026 14:46, Leo Yan wrote:
> On Mon, Sep 28, 2026 at 01:58:09PM +0100, James Clark wrote:
>> The perf sample dso_bid getter returns a string or None, matching its
>> Optional[str] annotation. Attempting to decode it as bytes causes mypy
>> to report union-attr errors, even though this was behind a conditional
>> that checked for bytes type.
>>
>> Use the string directly, retaining the fallback for an unknown build ID.
>>
>> This fixes the following build error:
>>
>>    python/arm-cs-trace-disasm.py:266: error: Item "None" of "str | None" has no attribute "decode"  [union-attr]
>>
>> Fixes: 279b402e5143 ("perf python: Port arm-cs-trace-disasm to perf module")
>> Assisted-by: Codex:GPT-6-Astra
>> Signed-off-by: James Clark <james.clark@linaro.org>
> 
> Thanks for the fix:
> 
> Reviewed-by: Leo Yan <leo.yan@arm.com>
> 
> Just curious, have you run this script and compare the result with old
> one? Seems to me, the build pass is insufficient, we should run a small
> test to ensure the result to keep same.
> 
> Thanks,
> Leo

Yep the test still passes. I assume the "if isinstance(sample.dso_bid, 
bytes)" part was just dead code.



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] perf python: Fix arm-cs-trace-disasm type error
  2026-09-28 13:52   ` James Clark
@ 2026-09-28 15:11     ` Ian Rogers
  2026-09-28 16:29     ` Arnaldo Carvalho de Melo
  1 sibling, 0 replies; 6+ messages in thread
From: Ian Rogers @ 2026-09-28 15:11 UTC (permalink / raw)
  To: James Clark
  Cc: Leo Yan, Arnaldo Carvalho de Melo, Namhyung Kim, linux-perf-users,
	linux-kernel

On Mon, Sep 28, 2026 at 6:52 AM James Clark <james.clark@linaro.org> wrote:
>
>
>
> On 28/09/2026 14:46, Leo Yan wrote:
> > On Mon, Sep 28, 2026 at 01:58:09PM +0100, James Clark wrote:
> >> The perf sample dso_bid getter returns a string or None, matching its
> >> Optional[str] annotation. Attempting to decode it as bytes causes mypy
> >> to report union-attr errors, even though this was behind a conditional
> >> that checked for bytes type.
> >>
> >> Use the string directly, retaining the fallback for an unknown build ID.
> >>
> >> This fixes the following build error:
> >>
> >>    python/arm-cs-trace-disasm.py:266: error: Item "None" of "str | None" has no attribute "decode"  [union-attr]
> >>
> >> Fixes: 279b402e5143 ("perf python: Port arm-cs-trace-disasm to perf module")
> >> Assisted-by: Codex:GPT-6-Astra
> >> Signed-off-by: James Clark <james.clark@linaro.org>
> >
> > Thanks for the fix:
> >
> > Reviewed-by: Leo Yan <leo.yan@arm.com>
> >
> > Just curious, have you run this script and compare the result with old
> > one? Seems to me, the build pass is insufficient, we should run a small
> > test to ensure the result to keep same.
> >
> > Thanks,
> > Leo
>
> Yep the test still passes. I assume the "if isinstance(sample.dso_bid,
> bytes)" part was just dead code.

Sorry for the breakage!

Reviewed-by: Ian Rogers <irogers@google.com>

Thanks,
Ian

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] perf python: Fix arm-cs-trace-disasm type error
  2026-09-28 13:52   ` James Clark
  2026-09-28 15:11     ` Ian Rogers
@ 2026-09-28 16:29     ` Arnaldo Carvalho de Melo
  1 sibling, 0 replies; 6+ messages in thread
From: Arnaldo Carvalho de Melo @ 2026-09-28 16:29 UTC (permalink / raw)
  To: James Clark
  Cc: Leo Yan, Namhyung Kim, Ian Rogers, linux-perf-users, linux-kernel

On Mon, Sep 28, 2026 at 02:52:04PM +0100, James Clark wrote:
> On 28/09/2026 14:46, Leo Yan wrote:
> > On Mon, Sep 28, 2026 at 01:58:09PM +0100, James Clark wrote:
> > > The perf sample dso_bid getter returns a string or None, matching its
> > > This fixes the following build error:
> > >    python/arm-cs-trace-disasm.py:266: error: Item "None" of "str | None" has no attribute "decode"  [union-attr]
> > > Fixes: 279b402e5143 ("perf python: Port arm-cs-trace-disasm to perf module")
> > > Assisted-by: Codex:GPT-6-Astra
> > > Signed-off-by: James Clark <james.clark@linaro.org>

> > Thanks for the fix:
> > Reviewed-by: Leo Yan <leo.yan@arm.com>

> > Just curious, have you run this script and compare the result with old
> > one? Seems to me, the build pass is insufficient, we should run a small
> > test to ensure the result to keep same.
 
> Yep the test still passes. I assume the "if isinstance(sample.dso_bid,
> bytes)" part was just dead code.

Thanks, applied to perf-tools-next, for v7.4.

- Arnaldo

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-09-28 16:29 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-28 12:58 [PATCH] perf python: Fix arm-cs-trace-disasm type error James Clark
2026-09-28 13:01 ` sashiko-bot
2026-09-28 13:46 ` Leo Yan
2026-09-28 13:52   ` James Clark
2026-09-28 15:11     ` Ian Rogers
2026-09-28 16:29     ` Arnaldo Carvalho de Melo

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.