tools/perf/tests/shell/base_probe/test_adding_blacklisted.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
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.
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Michael Petlan <mpetlan@redhat.com>
Cc: Veronika Molnarova <vmolnaro@redhat.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
---
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
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. I'll try to find out the threads and see what happened. - Arnaldo > Cc: Masami Hiramatsu <mhiramat@kernel.org> > Cc: Michael Petlan <mpetlan@redhat.com> > Cc: Veronika Molnarova <vmolnaro@redhat.com> > Signed-off-by: Namhyung Kim <namhyung@kernel.org> > --- > 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
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@kernel.org> > > Cc: Michael Petlan <mpetlan@redhat.com> > > Cc: Veronika Molnarova <vmolnaro@redhat.com> > > Signed-off-by: Namhyung Kim <namhyung@kernel.org> > > --- > > 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
On Thu, Oct 10, 2024 at 09:48:52AM -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. > > I'll try to find out the threads and see what happened. https://lore.kernel.org/all/ZvXhJLkJcR99Y2sF@google.com/T/#u Veronika, was there a v3? Thanks, - Arnaldo
On 10/10/24 14:50, Arnaldo Carvalho de Melo wrote: > On Thu, Oct 10, 2024 at 09:48:52AM -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. >> >> I'll try to find out the threads and see what happened. > > https://lore.kernel.org/all/ZvXhJLkJcR99Y2sF@google.com/T/#u > > Veronika, was there a v3? > > Thanks, Well the patch was already applied upstream so we are talking about a fix not v3, right? As Arnaldo mentioned, I got together a fix patch that checks the CU for the Assembly for blacklisted probe. Michael also suggested the possibility to check multiple blacklisted probes if we are not able to check for the Assembly, so I also added that. I will send the fix patch soon as part of the perftool upstreaming patchset to prevent conflicts happening. Hopefully, this can be at the start of the next week if all of the checks pass. Thanks, Veronika > > - Arnaldo >
© 2016 - 2024 Red Hat, Inc.