-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test_percpu failing on Fedora 36 #4203
Comments
chantra
added a commit
to chantra/bcc
that referenced
this issue
Aug 29, 2022
Fixes iovisor#4203 The issue goes into more details as to why this change is needed. The TL;DR is that the implementation of `os.popen` change somewhere between python 3.9 and 3.10 and depending on which version of python is used, either `fork/clone` is called, or `vfork`. In both cases, we are going to end up calling `execve`. This change switches the syscall traced from `clone` to `execve`. At the same time, it is now a constant that can be used across the tests. Test plan: Before https://gist.github.com/chantra/d37f3daa969bdbc07862dc11f8384a38 After https://gist.github.com/chantra/2860e9812f00eaa0758ccdb5d3192689
chantra
added a commit
to chantra/bcc
that referenced
this issue
Aug 30, 2022
Fixes iovisor#4203 The issue goes into more details as to why this change is needed. The TL;DR is that the implementation of `os.popen` change somewhere between python 3.9 and 3.10 and depending on which version of python is used, either `fork/clone` is called, or `vfork`. In both cases, we are going to end up calling `execve`. This change switches the syscall traced from `clone` to `execve`. At the same time, it is now a constant that can be used across the tests. Test plan: Before https://gist.github.com/chantra/d37f3daa969bdbc07862dc11f8384a38 After https://gist.github.com/chantra/2860e9812f00eaa0758ccdb5d3192689
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
As part of updating what version of Fedora BCC can be tested against, it appears that
test_percpu.py
is failing on Fedora 36:https://gist.github.com/chantra/d37f3daa969bdbc07862dc11f8384a38
The underlying reason is that the test expects calls to
clone
, but on Fedora 36, vfork is called instead:Python version is:
os.popen
usessubprocess.Popen
under the hoodThis is due to a change in 3.10: https://docs.python.org/3/whatsnew/changelog.html#id150
Per
it can be disabled:
regardless, this either need to be gated based on python version, which is sub-optimal and add more conditionals to the code... or use another syscall.
I am suggesting tracing
execve
instead.The text was updated successfully, but these errors were encountered: