Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

investigate cpp-recursion unwind errors #93

Open
milianw opened this issue Sep 28, 2017 · 0 comments
Open

investigate cpp-recursion unwind errors #93

milianw opened this issue Sep 28, 2017 · 0 comments
Labels

Comments

@milianw
Copy link
Member

milianw commented Sep 28, 2017

perf and hotspot both fail to unwind many samples for the cpp-recursion example:

┌milian@agathebauer:~/projects/kdab/rnd/hotspot/build|master *>
└$ perf record --call-graph dwarf -c 1000000 ./tests/test-clients/cpp-recursion/cpp-recursion 40
fib(40) = 165580141
[ perf record: Woken up 40 times to write data ]
[ perf record: Captured and wrote 9.969 MB perf.data (1238 samples) ]
┌milian@agathebauer:~/projects/kdab/rnd/hotspot/build|master>
└$ perf script
cpp-recursion  3229 19478.124517: cycles:uppp: 
                    bb40 _dl_relocate_object (/usr/lib/ld-2.26.so)
                    3f26 dl_main (/usr/lib/ld-2.26.so)
                   18af2 _dl_sysdep_start (/usr/lib/ld-2.26.so)
                    1df7 _dl_start (/usr/lib/ld-2.26.so)
                     f37 _start (/usr/lib/ld-2.26.so)

cpp-recursion  3229 19478.124904: cycles:uppp: 
                    1295 fibonacci (/home/milian/projects/kdab/rnd/hotspot/build/tests/test-clients/cpp-recursion/cpp-recursion)
                fffffffe [unknown] ([unknown])

cpp-recursion  3229 19478.125231: cycles:uppp: 
                    12b0 fibonacci (/home/milian/projects/kdab/rnd/hotspot/build/tests/test-clients/cpp-recursion/cpp-recursion)
        ffffffffffffffff [unknown] ([unknown])

cpp-recursion  3229 19478.125558: cycles:uppp: 
                    12b0 fibonacci (/home/milian/projects/kdab/rnd/hotspot/build/tests/test-clients/cpp-recursion/cpp-recursion)
                fffffffe [unknown] ([unknown])

We need to figure out what's going on here and find a solution. Note that this affects both, libunwind and libdw unwinders. Potentially an issue with the DWARF debug info, and/or tail-call optimizations or something like that?

milianw added a commit that referenced this issue Sep 28, 2017
This happens for cpp-recursion e.g., see also issue #93
@milianw milianw added the bug label Sep 28, 2017
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant