google / google/gvisor

runsc unable to run bash from a guix pack

Open
#10,849 15 comments 0 reactions 1 assignee Claimed by @konstantin-s-bogom View on GitHub
platform:systrap type: bug
Dominant language
Go
Stars
19.3k
Forks
2k
Avg merge
3d 5h
Merged PRs (30d)
264

Description

### 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 that `bash` from the pack works with `runc` and only fails with `runsc`), but I've since reproduced this using [just runsc](https://gvisor.dev/docs/user_guide/quick_start/oci/)
I'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:

> Unhandled user fault: addr=7ee9f3a6e025 ip=7ee9f3a6e025 access=r-x sig=11 err=bad address

### Steps to reproduce

```
$ guix describe
Generation 4 Aug 13 2024 11:24:22 (current)
guix 99a81b6
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: 99a81b6f2a1386d6ea76a6ecb1942f1f7f891080
$ guix pack -S /bin=bin coreutils bash
/gnu/store/j50l1pz73w5sdncw43b6j1xzsd9l2bpx-coreutils-bash-tarball-pack.tar.gz
$ mkdir bundle
$ cd bundle/
$ mkdir --mode=0755 rootfs
$ sudo tar -xzf /gnu/store/j50l1pz73w5sdncw43b6j1xzsd9l2bpx-coreutils-bash-tarball-pack.tar.gz -C rootfs --same-owner --same-permissions
$ ls rootfs/
bin gnu
$ sudo runsc.20240820 spec -- /bin/bash -c "sleep 100"
$ ls
config.json rootfs
$ sudo runsc.20240820 -debug -debug-log=/tmp/runsc.debug.log run test
$ echo $?
139
```

### runsc version

```shell
$ runsc.20240820 -version
runsc version release-20240820.0
spec: 1.1.0-rc.1
```

### 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_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.