-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
runsc unable to run bash from a guix pack #10849
Comments
Would you mind trying this with the |
It does work as expected with platform=ptrace . Let me know if you need debug logs for the working platform=ptrace run. Could it be related to the fact that I'm running gvisor on really old hardware (a macmini from 2011)? I will check on different hardware (from 2014) later today and get back. |
I just tried on a 2014 macbook air 6,2 (again running Debian 12), and both platform=ptrace and platform=kvm work as expected, but platform=systrap fails with the same bad address error. I've uploaded the Guix pack to my google drive. Here's the link https://drive.google.com/file/d/1NL6fu_h6HmUQAkvhZrzNxjFgKR9v5lXX/view?usp=sharing |
could you show /proc/cpuinfo from this machine? |
macbookair2014_cpuinfo.txt I have attached /proc/cpuinfo from both the machines on which it fails with platform=systrap ; the debug log from yesterday corresponds to macmini2011_cpuinfo.txt |
Not sure if it's relevant, but platform=kvm never worked on the 2011 macmini. runsc-sandbox just spins at 100% of cpu. I figured it's because the hardware is old so I didn't bother to report, especially since platform=systrap has been working well for over a year (until I tried the guix pack yesterday). On the 2014 macbookair, platform=kvm has been working well. Unfortunately I don't have any newer hardware running linux to check right now, but if this issue is because my hardware is old, then please feel free to close. I'll stick to the platforms that do work for my experiments with guix packs. |
@chetan-reddy I tried to run your repro steps in a gce vm and everything works as expected. Could run you the rerproducer with the enabled strace (--strace) and attach logs for both ptrace and systrap platfroms? |
runsc.ptrace.log @avagin attached the logs with strace from the 2011 mac mini. Let me know if you also want the logs from the 2014 macbook air. |
@chetan-reddy could you try to recompile runsc with this patch:
|
@chetan-reddy I reproduced the issue in my environment. The syscall patching doesn't handle the next code properly:
It revises five bytes before the syscall instruction and if they match the proper |
Sweet @avagin . You just saved me a bunch of effort trying to build runsc in a guix shell container (using the origin/go branch since no access to docker). Can't wait for the day when Guix includes runsc. |
@avagin I too can confirm that with your patch
|
Description
I'm trying to use runsc to run a software bundle built by guix pack. While it works if i use
/bin/sleep 100
as the command, runsc fails immediately if i use/bin/bash -c "sleep 100"
as the command. I first encountered this behavior using podman(where I verified thatbash
from the pack works withrunc
and only fails withrunsc
), but I've since reproduced this using just runscI've supplied the steps to reproduce and attached the logs below. I'm running guix on a Debian 12 box. Please feel free to close if this is not a supported config or if it's not worth investigating. The first error in the log is this line:
Steps to reproduce
runsc version
docker version (if using docker)
No response
uname
Linux mini2011 6.1.0-23-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.99-1 (2024-07-15) x86_64 GNU/Linux
kubectl (if using Kubernetes)
No response
repo state (if built from source)
No response
runsc debug logs (if available)
No response
The text was updated successfully, but these errors were encountered: