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

Podman-remote mangles SIGINT #5004

Closed
cevich opened this issue Jan 28, 2020 · 4 comments
Closed

Podman-remote mangles SIGINT #5004

cevich opened this issue Jan 28, 2020 · 4 comments
Assignees
Labels
kind/bug Categorizes issue or PR as related to a bug. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments.

Comments

@cevich
Copy link
Member

cevich commented Jan 28, 2020

/kind bug

Description

Discovered in master, sometime prior to commit a8bd347 under F31, the system-tests fail in 130-kill.bats.

Steps to reproduce the issue:

  1. From a clone of the repo. run 'make remotesystem' (observe test failure)

  2. Copy attached script into root of source tree, rename and execute it.
    repro.sh.txt

Describe the results you received:

[foobar@cevich-fedora-31-libpod-6413201982095360 ~]$ ./repro.sh 
Starting background varlink server
Starting background signal-recipient container
94020eaaf1d3447b9a486f21b09c88e5a4ea6e3b22a812916186d09138d495f5
Sending signal 8
got: 8
...cut...
Sending signal 20
got: 20
Sending signal 2
got: 20
Sending signal 16
got: 16
...cut...

Describe the results you expected:

Running 'make remotesystem' should pass.

Additional information you deem important (e.g. issue happens only occasionally):

Unsure if munging of signal 2 is intended or not, guess that it is.

Output of podman version:

Version:            1.7.1-dev
RemoteAPI Version:  1
Go Version:         go1.13.5
Git Commit:         61f91e5bc6c241955c189495df48949951667b08-dirty
Built:              Tue Jan 28 10:26:05 2020
OS/Arch:            linux/amd64

Output of podman info --debug:

debug:
  compiler: gc
  git commit: 61f91e5bc6c241955c189495df48949951667b08-dirty
  go version: go1.13.5
  podman version: 1.7.1-dev
host:
  BuildahVersion: 1.13.1
  CgroupVersion: v2
  Conmon:
    package: conmon-2.0.9-2.fc31.x86_64
    path: /usr/bin/conmon
    version: 'conmon version 2.0.9, commit: 7d46f3e7711aa3578488284ae2f98b447658f086'
  Distribution:
    distribution: fedora
    version: "31"
  IDMappings:
    gidmap:
    - container_id: 0
      host_id: 11025
      size: 1
    - container_id: 1
      host_id: 362144
      size: 65536
    uidmap:
    - container_id: 0
      host_id: 18143
      size: 1
    - container_id: 1
      host_id: 362144
      size: 65536
  MemFree: 2577997824
  MemTotal: 4121264128
  OCIRuntime:
    name: crun
    package: crun-0.11-1.fc31.x86_64
    path: /usr/bin/crun
    version: |-
      crun version 0.11
      commit: 4a9b272b98768549da1277ec073c66c3ef51fd5b
      spec: 1.0.0
      +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +YAJL
  SwapFree: 0
  SwapTotal: 0
  arch: amd64
  cpus: 2
  eventlogger: journald
  hostname: cevich-fedora-31-libpod-6413201982095360
  kernel: 5.4.8-200.fc31.x86_64
  os: linux
  rootless: true
  slirp4netns:
    Executable: /usr/bin/slirp4netns
    Package: slirp4netns-0.4.0-20.1.dev.gitbbd6f25.fc31.x86_64
    Version: |-
      slirp4netns version 0.4.0-beta.3+dev
      commit: bbd6f25c70d5db2a1cd3bfb0416a8db99a75ed7e
  uptime: 1h 29m 14.79s (Approximately 0.04 days)
registries:
  search:
  - docker.io
  - quay.io
  - registry.fedoraproject.org
store:
  ConfigFile: /home/foobar/.config/containers/storage.conf
  ContainerStore:
    number: 0
  GraphDriverName: overlay
  GraphOptions:
    overlay.mount_program:
      Executable: /usr/bin/fuse-overlayfs
      Package: fuse-overlayfs-0.7.3-2.fc31.x86_64
      Version: |-
        fusermount3 version: 3.6.2
        fuse-overlayfs: version 0.7.3
        FUSE library version 3.6.2
        using FUSE kernel interface version 7.29
  GraphRoot: /home/foobar/.local/share/containers/storage
  GraphStatus:
    Backing Filesystem: extfs
    Native Overlay Diff: "false"
    Supports d_type: "true"
    Using metacopy: "false"
  ImageStore:
    number: 0
  RunRoot: /run/user/18143/containers
  VolumePath: /home/foobar/.local/share/containers/storage/volumes

Additional environment details (AWS, VirtualBox, physical, etc.):

Was running as the local user "foobar". Problem does not reproduce under F30.

@openshift-ci-robot openshift-ci-robot added the kind/bug Categorizes issue or PR as related to a bug. label Jan 28, 2020
@cevich cevich self-assigned this Jan 28, 2020
@cevich
Copy link
Member Author

cevich commented Jan 28, 2020

@vrothberg PTAL

@baude
Copy link
Member

baude commented Jan 28, 2020

I have moved this to crun -> containers/crun#230

closing for now

@baude baude closed this as completed Jan 28, 2020
@giuseppe
Copy link
Member

I've changed crun to force the default for the signal handlers and behave like runc.

But I think it is safer anyway to do: ./bin/podman-remote run -d --name=foobar fedora-minimal env --default-signal sh -c "for i in ${signals[*]}; do trap \"echo got: \$i\" \$i; done; echo READY; while ! test -e /stop; do sleep 0.05; done;echo DONE"

Note the extra env --default-signal

@cevich
Copy link
Member Author

cevich commented Jan 29, 2020

Note the extra env --default-signal

Good idea, thx.

cevich added a commit to cevich/podman that referenced this issue Feb 25, 2020
snj33v pushed a commit to snj33v/libpod that referenced this issue May 31, 2020
edsantiago added a commit to edsantiago/libpod that referenced this issue Oct 7, 2020
 - images test: add test for 'table' and '\t' formatting

 - image mount test: check output from 'umount', test
   repeat umount (NOP), and test invalid-umount

 - kill test: remove kludgy workaround for crun signal bug
   ref: containers#5004 -- code is no longer needed (fingers crossed),
   and the workaround involved pulling an expensive image.

 - selinux test: add new tests for shared context in:
   * pods , w/ and w/o infra container (ref: containers#7902)
   * containers with namespace sharing: --ipc, --pid, --net

 - selinux test: new test for --pid=host (disabled pending
   propagation of container-selinux-2.146, ref: containers#7939)

Signed-off-by: Ed Santiago <[email protected]>
@github-actions github-actions bot added the locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments. label Sep 23, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
kind/bug Categorizes issue or PR as related to a bug. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments.
Projects
None yet
Development

No branches or pull requests

4 participants