Skip to content
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

Recommendations and tools for debugging for users #340

Open
deliciouslytyped opened this issue Oct 24, 2022 · 1 comment
Open

Recommendations and tools for debugging for users #340

deliciouslytyped opened this issue Oct 24, 2022 · 1 comment

Comments

@deliciouslytyped
Copy link

deliciouslytyped commented Oct 24, 2022

Leveraging my experience with #338 ; (fixes https://nixos.wiki/wiki/Nix_Installation_Guide#Troubleshooting_2 )
I ran into the case where lack of support for a relatively recently added system call resulted in very strange issues.
I actually ran into such a thing twice - the first time, I was on an old version of proot that hadn't implemented statx yet.

  • The first problem with running into trouble when using proot, and trying to debug it, is that ptrace can only be used to attach to a process once.

    Are there any tools these days using any of the various new kernel tracing features (ebpf/seccomp?, ftrace+trace-cmd) to do something like strace? This way the ptrace single-attach limitation could be worked around.

  • The -v flag can help with debugging but the manual contains no information about its possible levels.

  • Would there be any way for proot to warn about unsupported system calls? The obvious issue here is that there are many system calls that proot isn't supposed to support? (I suppose those could be whitelisted.)

    If such a thing could be done, it could be good to have a "learning" mode, where it would be suggested to users to test their application in that mode first, and find out if they are doing anything unsupported. Then when they can be more sure they don't have any silent breakage they can run their application in the normal mode.

All of this might be nice for a troubleshooting section in the manual.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants