iovisor / iovisor/bcc

Userspace stack frames are missing

Open
#2,887 6 comments 3 reactions 0 assignees View on GitHub
Dominant language
C
Stars
22.7k
Forks
4.1k
Avg merge
10d 4h
Merged PRs (30d)
3

Description

This is a split from #2883. The latter was about `[unknown]` stackframes, which can be worked around. Current one though is about missing stack frames even after applying the workaround.

## Steps to reproduce *(in terms of terminal commands)*

```haskell
$ cat test.c
#include

void f() {
for (size_t i = 0; i < 15; ++i) {
sleep(1);
}
}

void g() {
f();
}

int main() {
g();
}
$ gcc test.c -o test -O0 -g3 -fno-omit-frame-pointer
$ sudo -s # -- offwaketime needs elevated persmissions
$ ./test &; /usr/share/bcc/tools/offwaketime -Up $(pgrep test) 5
[1] 14023
Tracing blocked time (us) by user off-CPU and waker stack for 5 secs.

waker: swapper/1 0
-- --
b'__clock_nanosleep_2'
target: test 14023
4000388
```

### Expected

The stack mentions at least `sleep`, `f`, `g`, `main`.

### Actual

The only userspace function in the stack is `__clock_nanosleep_2`. None of the actual names used in the source has been mentioned.

## Versions

* bcc 0.14.0
* Linux kernel 5.6.6-arch1-1

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.