-
Notifications
You must be signed in to change notification settings - Fork 160
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
Support for 32bit applications in a 64bit container #350
Comments
@uazo, i was able to reproduce the issue but haven't figured out its root-cause yet. I also noticed that problem is not seen when relying on the oci-runc (with and without user-ns). Problem seems to be related to a recvfrom() syscall (id=45) executed as part of this binary and prevented (apparently) by kernel's seccomp module. Please verify that you are also seeing this in your
|
Strace capture. Crash is triggered early on, right after execve() + brk() execution:
|
thanks @rodnymolina for investigating! I confirm:
in your opinion, for what you've seen so far, can it be fixed?
it's beyond my capabilities, but if I can help you in any way, please tell me. |
I have the same problem, but I have slightly different strace output so I thought I'd share it here $ strace /tmp/32bin
execve("/tmp/32bin", ["/tmp/32bin"], 0x7fff270578b0 /* 64 vars */) = 0
strace: [ Process PID=45108 runs in 32 bit mode. ]
set_thread_area({entry_number=-1, base_addr=0x9a85810, limit=0x0fffff, seg_32bit=1, contents=0, read_exec_only=0, limit_in_pages=1, seg_not_present=0, useable=1} <unfinished ...>) = ?
+++ killed by SIGSYS +++
zsh: invalid system call strace /tmp/32bin
|
@rodnymolina, do you know if there is a workaround and/or plans to fix this, we are blocked by this problem? |
hi @isarkis, apologies for the delayed response but @rodnymolina has been out of office the last couple of weeks. I took a brief look at this issue a couple of days ago but did not spot anything obvious. We will take a closer look next week. I suspect the problem is in the way Sysbox is applying the seccomp filters. Thanks for giving Sysbox a shot in your infra. |
@ctalledo, any luck fixing this issue? |
Hi @isarkis, my apologies but I've been swamped with other Sysbox related work and have not had a chance to look into this yet. Will do my best to get to it this week, thanks for your patience. |
Hi @ctalledo and @rodnymolina , We get the same errors as others here when trying to run a 32-bit application inside the container. Is there any plan for sysbox to support 32bit applications in a 64bit container? |
@uazo can you please reproduce your issue with this statically-built sysbox-runc https://transfer.sh/0iazOfK8pn/sysbox.tar ? I managed to execute the 32-bit file without any issues. If it is OK, I will PR the patch :) |
@basilgello I thank you for your consideration, but it is not my practice to install software from sources I do not know. The best would be if your PR was first visible and then verified by those (not me) who are able to assess it. I do not doubt your good intentions nor your abilities, but since 2021 some things have changed and today I cannot afford to use software that has not been assessed by the community. However, to make it clear that I really do care about a solution to this issue, I will consider setting up a virtual machine and try it out, but only for verification purposes. |
@uazo I totally understand your point! It is for reproduction only, you can use Github runner to verify it. Or drop me an encrypted mail to the Github commit address so I can drop you the patch (its small :)) I just dont like publishing half-baked stuff and once I know it works for you, I will do documentation change, tests and publish for proper review. |
Here is the container reproducing this issue and the fix: https://github.com/basilgello/validate-sysbox/actions/runs/6248034027 By the way, the bad system call appears only in interactive mode somehow but not in headless one (without |
minimal reproduction and possible fix
this returns exit code 159 and in dmesg there is this audit log
The problem is fixed in my environment after adding |
This tests issue nestybox#350 Signed-off-by: Martin Kunkel <[email protected]>
This tests issue #350 Signed-off-by: Martin Kunkel <[email protected]>
Should be fixed by sysbox-runc PR 95(nestybox/sysbox-runc#95) and verified by the test in PR #789. Big thanks to @martinkunkel2 for fixing this. Closing now. |
Related / follow-up to issue #350 Signed-off-by: Joan Bruguera Micó <[email protected]>
Hi @ctalledo,
i am encountering another problem.
here you can see a container that with sysbox produces
Bad system call (core dumped)
when running./bytecode_builtins_list_generator
.that app is a 32 bit app and my container is 64 bit
Steps to reproduce:
sudo DOCKER_BUILDKIT=1 docker build -t uazo/test32bit .
sudo docker run --runtime=sysbox-runc -ti --rm uazo/test32bit
./bytecode_builtins_list_generator
running it without sysbox works perfectly.
is there any way to enable with sysbox 32bit application support in a 64bit container?
thank you
The text was updated successfully, but these errors were encountered: