Bug 17392 - fib.exp broken on rhel7 and f20
Summary: fib.exp broken on rhel7 and f20
Status: RESOLVED WONTFIX
Alias: None
Product: systemtap
Classification: Unclassified
Component: runtime (show other bugs)
Version: unspecified
: P2 normal
Target Milestone: ---
Assignee: Unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-09-15 11:07 UTC by Martin Cermak
Modified: 2014-10-09 23:41 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Cermak 2014-09-15 11:07:33 UTC
The fib.exp testcase works on RHEL6, but is broken on RHEL7 and f20, since print_ubacktrace{,_brief}() doesn't return expected output there. It looks like the user-level root cause is simply presence of the .return probe:

 7.0 S x86_64 # cat test.c 
void f3(void){}
void f2(void){f3();}
void f1(void){f2();}
void f0(void){f1();}


int main() {
        f0();
        return 0;
}
 7.0 S x86_64 # gcc -g test.c 
 7.0 S x86_64 # stap -e 'probe process.function("f3") {print_ubacktrace_brief(); printf("\n")} probe process.function("f3").return {log("hey")}' -c './a.out'
f3+0x4
0x7fffffffe000

hey
 7.0 S x86_64 # stap -e 'probe process.function("f3") {print_ubacktrace_brief(); printf("\n")}' -c './a.out'
f3+0x4
f2+0x9
f1+0x9
f0+0x9
main+0x9
0x7fc7930beaf5

WARNING: Missing unwind data for module, rerun with 'stap -d /usr/lib64/libc-2.17.so'
 7.0 S x86_64 #
Comment 1 Frank Ch. Eigler 2014-10-09 23:41:39 UTC
This appears to be a limitation of the in-kernel inode-uprobes
implementation.  It does not supply uretprobe_instance information
to the runtime to assist tracebacks over uretprobe-modified frames.