[Bug tapsets/30407] New: Tapset function print_ubacktrace_fileline() no longer works on kernel 6.2
agentzh at gmail dot com
sourceware-bugzilla@sourceware.org
Sun Apr 30 06:08:17 GMT 2023
https://sourceware.org/bugzilla/show_bug.cgi?id=30407
Bug ID: 30407
Summary: Tapset function print_ubacktrace_fileline() no longer
works on kernel 6.2
Product: systemtap
Version: unspecified
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: tapsets
Assignee: systemtap at sourceware dot org
Reporter: agentzh at gmail dot com
Target Milestone: ---
I've noted that the standard tapset function `print_ubacktrace_fileline()` no
longer works on the latest 6.2.12 kernel of fedora 36 x86_64.
To reproduce the problem, let's use the following minimal C program as the
target:
```
int main(void) {
return 0;
}
```
We name it `a.c`.
Then compile it with debug symbols:
```
gcc -g a.c
```
It generates the binary program ./a.out.
Now run the following stap oneliner:
```
$ /opt/stap/bin/stap -c ./a.out --ldd -e 'probe process.function("main") {
print_ubacktrace_fileline() }'
0x40110a : main+0x4/0xe [/tmp/a.out]
0x7f896e867510 : __libc_start_call_main+0x80/0xb0 [/usr/lib64/libc.so.6]
0x7f896e8675c9 : __libc_start_main@GLIBC_2.2.5+0x89/0x150
[/usr/lib64/libc.so.6]
0x401045 : _start+0x25/0x30 [/tmp/a.out]
```
We can see there are no source file names or line numbers.
For comparison, let's run the same example on an older kernel (5.0.16):
```
$ /opt/stap/bin/stap -c ./a.out --ldd -e 'probe process.function("main") {
print_ubacktrace_fileline() }'
0x40049a : main+0x4/0x1a at /tmp/a.c:2 [/tmp/a.out]
0x7fbc6289011b : __libc_start_main+0xeb/0x1c0 [/usr/lib64/libc-2.27.so]
0x4003da : _start+0x2a/0x30 [/tmp/a.out]
```
It works on this older kernel as expected.
I'm using the latest master branch of the upstream systemtap repo:
```
commit 418f0a45ca4473491385b5c7eef777607bbdb3b7 (HEAD -> master, origin/master,
origin/HEAD)
Author: Frank Ch. Eigler <fche@redhat.com>
Date: Fri Apr 28 12:07:15 2023 -0400
NEWS++
```
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the Systemtap
mailing list