-
Notifications
You must be signed in to change notification settings - Fork 380
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
SEGSEGV with recent kernel and seccomp #106
Comments
Has been fixed by: openmole@10119a1 |
We did a bit of digging to find it with @romainreuillon but the manpage helped:
This seems to work as filters that can't be unset when set. Setting one to 0 disables the filter and enables children processes to actually capture the event. We're not experts in low-level stuff unfortunately so don't take our word for granted. Our fork was mainly to integrate the work @vincenthage did over the summer to provide Docker-like networking extensions in CARE archives used in @openmole. Would be great to team up on maintaining / pushing PRoot / CARE further if @cedric-vincent is not able to do it anymore. What do you think @alkino? |
I think we can fork it, yeah. Any advice @ivoire or @cedric-vincent? |
@alkino, @jopasserat, @vincenthage, you should have received an invitation to be owner of the "proot-me" organisation on Github. Feel free to maintain PRoot (and/or your work related to) here, if you wish. I would be glad if you maintain this project, |
Regarding this issue, maybe this could help:
|
I also sent an invitation to @meefik. |
Thank you @cedric-vincent for your trust. |
Thanks for everything around PRoot @cedric-vincent and for trusting us. Would you have any document that could be useful for us? Usage stats? Users/devs we could get in touch with? |
Just wanted to say thanks a lot for the PROOT_NO_SECCOMP=1 hint. I have been wondering why proot suddently stopped working for the last hour! Looking forward to seeing further releases under the new maintainership! |
Glad it helped @Gnurou. Please note though that early performance tests we've been running suggest a significant performance drop when disabling Seccomp (something like 4 times as slow on a IO heavy application). So we need to find an actual solution to re-enable seccomp in the future. #helpwanted ;) |
I tried the proot from openmole but got:
|
I haven't tested the qemu mode yet so it could be linked. Also, this kind of issues might be better to report on the mailing list until they're proved to be actual bugs / missing features from the project. |
Same issue without the -q flag. |
Hi. any news regarding #106 and the SECCOMP problem ? |
I'm on it. Really near now I think. |
May I ask what track you're following @alkino? We've hit so many walls trying to fix that with @romainreuillon we'd be glad to understand what was the root of the problem :) |
Hi, After posting the question, I decided to look at it over the weekend and I come out with this dirty solution changing tracee/event.c which seems to work ok. Maybe can help you to find a better solution. https://owncloud.indigo-datacloud.eu/index.php/s/yMj5yd24zY5kXIJ I'm using proot for udocker (https://github.com/indigo-dc/udocker) a tool to run docker containers without privileges. |
Could you do a PR, please? |
Done, fix event.c for seccomp and ptrace #115 |
With this "fix", I still need to use "export PROOT_NO_SECCOMP=1", and further, proot does not work at all with a PREEMPT_RT kernel. |
This issue is still present on the recent versions of proot, and have been reproduced on Sabayon 17.04 Xfce AMD64. |
No idea if that will be helpful, but just fyi: |
Hi. This happens with the newest CentOS7 kernel.
|
Hi @mboisson can you also try the recently released 5.2.0 alpha version? It solved many issues for me, however, I am running newer kernel versions. |
When running under seccomp, sometimes sysexit handlers fail to execute. This is possible when the first syscall a process makes, before seccomp is enabled, gets handled in the SIGTRAP path. However the conditions for this to occur seem fairly random, so we fork out many processes to make it likely that at least some hit this problem. This problem may be related to issue proot-me#106.
sysexit events handler to be missed if sysenter is handled during a syscall-enter-stop event instead of the seccomp ptrace event. This may be a (at least partial) fix for issue proot-me#106.
When running under seccomp, sometimes sysexit handlers fail to execute. This is possible when the first syscall a process makes, before seccomp is enabled, gets handled in the SIGTRAP path. However the conditions for this to occur seem fairly random, so we fork out many processes to make it likely that at least some hit this problem. This problem may be related to issue #106.
sysexit events handler to be missed if sysenter is handled during a syscall-enter-stop event instead of the seccomp ptrace event. This may be a (at least partial) fix for issue #106.
Seems to be OK on latest commit. |
Agreed! I'm going to close this FINALLY! |
Note that on my system (archlinux x64, armv7h and aarch64) I’m still seeing a few failures related to seccomp. In particular, the execve issued by the loader doesn’t get picked up by the enter handler and actually get sent to the kernel which resulted in a memory access error and abort of the tracee. Disabling seccomp get rid of that issue… |
When running under seccomp, sometimes sysexit handlers fail to execute. This is possible when the first syscall a process makes, before seccomp is enabled, gets handled in the SIGTRAP path. However the conditions for this to occur seem fairly random, so we fork out many processes to make it likely that at least some hit this problem. This problem may be related to issue proot-me#106.
sysexit events handler to be missed if sysenter is handled during a syscall-enter-stop event instead of the seccomp ptrace event. This may be a (at least partial) fix for issue proot-me#106.
When I use proot with a recent kernel (4.8.4 and above) I got a segv.
When I disable SECCOMP with PROOT_NO_SECCOMP=1 it works.
I dig a little but I don't know seccomp at all.
The text was updated successfully, but these errors were encountered: