Re: [PATCH] perf test: Fix probe testsuite with a new error message

From: Namhyung Kim
Date: Thu Oct 10 2024 - 20:06:25 EST


On Thu, Oct 10, 2024 at 09:48:47AM -0300, Arnaldo Carvalho de Melo wrote:
> On Wed, Oct 09, 2024 at 10:16:20PM -0700, Namhyung Kim wrote:
> > On my system, it's constantly failing because of new error message from
> > perf probe. It should update the regex pattern to match the message -
> > "A function DIE doesn't have decl_line. Maybe broken DWARF?".
> >
> > $ sudo head -n 2 /sys/kernel/debug/kprobes/blacklist | cut -f2
> > warn_thunk_thunk
> > asm_exc_divide_error
> >
> > $ sudo perf probe warn_thunk_thunk
> > A function DIE doesn't have decl_line. Maybe broken DWARF?
> > A function DIE doesn't have decl_line. Maybe broken DWARF?
> > Probe point 'warn_thunk_thunk' not found.
> > Error: Failed to add events.
> >
> > $ sudo perf probe asm_exc_overflow
> > Failed to find scope of probe point.
> > Error: Failed to add events.
>
> We discussed this in the past, I came up with a similar patch, Veronika
> rightly pointed out that this may point to a real problem, Masami said
> that since these are for DWARF from assembly those are known issues, I
> suggested Veronika checked if the CU where the function came from was
> generated from Assembly (there are DWARF tags that have that info), IIRC
> she said she would try to do it.

Oh ok. I was lost in the thread. :)

>
> I'll try to find out the threads and see what happened.

Thanks, I will wait for the next step.
Namhyung

>
> > Cc: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
> > Cc: Michael Petlan <mpetlan@xxxxxxxxxx>
> > Cc: Veronika Molnarova <vmolnaro@xxxxxxxxxx>
> > Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
> > ---
> > tools/perf/tests/shell/base_probe/test_adding_blacklisted.sh | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/tools/perf/tests/shell/base_probe/test_adding_blacklisted.sh b/tools/perf/tests/shell/base_probe/test_adding_blacklisted.sh
> > index b5dc10b2a73810b3..01e5e09053c37e46 100755
> > --- a/tools/perf/tests/shell/base_probe/test_adding_blacklisted.sh
> > +++ b/tools/perf/tests/shell/base_probe/test_adding_blacklisted.sh
> > @@ -42,7 +42,8 @@ REGEX_ERROR_MESSAGE="Error: Failed to add events."
> > REGEX_INVALID_ARGUMENT="Failed to write event: Invalid argument"
> > REGEX_SYMBOL_FAIL="Failed to find symbol at $RE_ADDRESS"
> > REGEX_OUT_SECTION="$BLACKFUNC is out of \.\w+, skip it"
> > -../common/check_all_lines_matched.pl "$REGEX_SKIP_MESSAGE" "$REGEX_NOT_FOUND_MESSAGE" "$REGEX_ERROR_MESSAGE" "$REGEX_SCOPE_FAIL" "$REGEX_INVALID_ARGUMENT" "$REGEX_SYMBOL_FAIL" "$REGEX_OUT_SECTION" < $LOGS_DIR/adding_blacklisted.err
> > +REGEX_BROKEN_DWARF="A function DIE doesn\'t have decl_line\. Maybe broken DWARF\?"
> > +../common/check_all_lines_matched.pl "$REGEX_SKIP_MESSAGE" "$REGEX_NOT_FOUND_MESSAGE" "$REGEX_ERROR_MESSAGE" "$REGEX_SCOPE_FAIL" "$REGEX_INVALID_ARGUMENT" "$REGEX_SYMBOL_FAIL" "$REGEX_OUT_SECTION" "$REGEX_BROKEN_DWARF" < $LOGS_DIR/adding_blacklisted.err
> > CHECK_EXIT_CODE=$?
> >
> > print_results $PERF_EXIT_CODE $CHECK_EXIT_CODE "adding blacklisted function $BLACKFUNC"
> > --
> > 2.47.0.rc0.187.ge670bccf7e-goog