Skip to content

podman machine stop SIGSEGV when performing hard stop #23654

@sshambar

Description

@sshambar

Issue Description

Stopping a podman machine on MacOS... podman machine stop was taking longer than normal, and finally crashed with a traceback.

Steps to reproduce the issue

Problem is not easily reproducible -- back-trace supplied in the hope it'll prove useful.

Describe the results you received

WARN[0090] Failed to gracefully stop machine, performing hard stop
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x40 pc=0x4dcb1da]

... traceback below...

Describe the results you expected

Machine "podman-machine-default" stopped successfully

podman info output

host:
  arch: amd64
  buildahVersion: 1.37.0
  cgroupControllers:
  - cpuset
  - cpu
  - io
  - memory
  - hugetlb
  - pids
  - rdma
  - misc
  cgroupManager: systemd
  cgroupVersion: v2
  conmon:
    package: conmon-2.1.10-1.fc40.x86_64
    path: /usr/bin/conmon
    version: 'conmon version 2.1.10, commit: '
  cpuUtilization:
    idlePercent: 87.1
    systemPercent: 8.28
    userPercent: 4.62
  cpus: 4
  databaseBackend: sqlite
  distribution:
    distribution: fedora
    variant: coreos
    version: "40"
  eventLogger: journald
  freeLocks: 2041
  hostname: localhost.localdomain
  idMappings:
    gidmap: null
    uidmap: null
  kernel: 6.9.11-200.fc40.x86_64
  linkmode: dynamic
  logDriver: journald
  memFree: 3354419200
  memTotal: 3804688384
  networkBackend: netavark
  networkBackendInfo:
    backend: netavark
    dns:
      package: aardvark-dns-1.12.0-1.20240801182221740927.main.8.g7cc82a4.fc40.x86_64
      path: /usr/libexec/podman/aardvark-dns
      version: aardvark-dns 1.13.0-dev
    package: netavark-1.12.1-1.20240802123603627403.main.4.geb4e5d3.fc40.x86_64
    path: /usr/libexec/podman/netavark
    version: netavark 1.13.0-dev
  ociRuntime:
    name: crun
    package: crun-1.15-1.20240731144341062436.main.62.ge6a1ef1.fc40.x86_64
    path: /usr/bin/crun
    version: |-
      crun version UNKNOWN
      commit: df5dc24761d582cad345e9f842f531477d4f9910
      rundir: /run/crun
      spec: 1.0.0
      +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +CRIU +LIBKRUN +WASM:wasmedge +YAJL
  os: linux
  pasta:
    executable: /usr/bin/pasta
    package: passt-0^20240624.g1ee2eca-1.fc40.x86_64
    version: |
      pasta 0^20240624.g1ee2eca-1.fc40.x86_64
      Copyright Red Hat
      GNU General Public License, version 2 or later
        <https://www.gnu.org/licenses/old-licenses/gpl-2.0.html>
      This is free software: you are free to change and redistribute it.
      There is NO WARRANTY, to the extent permitted by law.
  remoteSocket:
    exists: true
    path: /run/podman/podman.sock
  rootlessNetworkCmd: pasta
  security:
    apparmorEnabled: false
    capabilities: CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,CAP_NET_BIND_SERVICE,CAP_SETFCAP,CAP_SETGID,CAP_SETPCAP,CAP_SETUID,CAP_SYS_CHROOT
    rootless: false
    seccompEnabled: true
    seccompProfilePath: /usr/share/containers/seccomp.json
    selinuxEnabled: true
  serviceIsRemote: true
  slirp4netns:
    executable: /usr/bin/slirp4netns
    package: slirp4netns-1.2.2-2.fc40.x86_64
    version: |-
      slirp4netns version 1.2.2
      commit: 0ee2d87523e906518d34a6b423271e4826f71faf
      libslirp: 4.7.0
      SLIRP_CONFIG_VERSION_MAX: 4
      libseccomp: 2.5.5
  swapFree: 0
  swapTotal: 0
  uptime: 0h 0m 20.00s
  variant: ""
plugins:
  authorization: null
  log:
  - k8s-file
  - none
  - passthrough
  - journald
  network:
  - bridge
  - macvlan
  - ipvlan
  volume:
  - local
registries:
  search:
  - docker.io
store:
  configFile: /usr/share/containers/storage.conf
  containerStore:
    number: 3
    paused: 0
    running: 0
    stopped: 3
  graphDriverName: overlay
  graphOptions:
    overlay.imagestore: /usr/lib/containers/storage
    overlay.mountopt: nodev,metacopy=on
    overlay.use_composefs: "false"
  graphRoot: /var/lib/containers/storage
  graphRootAllocated: 99252940800
  graphRootUsed: 6074970112
  graphStatus:
    Backing Filesystem: xfs
    Native Overlay Diff: "false"
    Supports d_type: "true"
    Supports shifting: "true"
    Supports volatile: "true"
    Using metacopy: "true"
  imageCopyTmpDir: /var/tmp
  imageStore:
    number: 11
  runRoot: /run/containers/storage
  transientStore: false
  volumePath: /var/lib/containers/storage/volumes
version:
  APIVersion: 5.2.0
  Built: 1722556800
  BuiltTime: Thu Aug  1 17:00:00 2024
  GitCommit: ""
  GoVersion: go1.22.5
  Os: linux
  OsArch: linux/amd64
  Version: 5.2.0

Podman in a container

No

Privileged Or Rootless

Privileged

Upstream Latest Release

No

Additional environment details

MacOS Sonoma 14.6.1 (23G93) - Intel

Additional information

Crash backtrace:

WARN[0090] Failed to gracefully stop machine, performing hard stop 
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x40 pc=0x4dcb1da]

goroutine 1 [running]:
github.com/containers/podman/v5/pkg/machine/apple/vfkit.(*Helper).stateChange(0xc000702cf0, {0x4f3af23?, 0xc0007879b0?})
        /private/tmp/podman-20240802-5624-r7twi4/pkg/machine/apple/vfkit/helper.go:86 +0xfa
github.com/containers/podman/v5/pkg/machine/apple/vfkit.(*Helper).Stop(0xc000702cf0, 0xc0?, 0x1)
        /private/tmp/podman-20240802-5624-r7twi4/pkg/machine/apple/vfkit/helper.go:112 +0x115
github.com/containers/podman/v5/pkg/machine/applehv.(*AppleHVStubber).StopVM(0xc000787a28?, 0x4dce8a7?, 0x0?)
        /private/tmp/podman-20240802-5624-r7twi4/pkg/machine/applehv/machine.go:23 +0x25
github.com/containers/podman/v5/pkg/machine/shim.stopLocked(0xc0006469c0, {0x54b8e60, 0xc000492a20}, 0xc000099800, 0x0)
        /private/tmp/podman-20240802-5624-r7twi4/pkg/machine/shim/host.go:345 +0xcd
github.com/containers/podman/v5/pkg/machine/shim.Stop(0xc0006469c0, {0x54b8e60, 0xc000492a20}, 0xc000099800, 0x0)
        /private/tmp/podman-20240802-5624-r7twi4/pkg/machine/shim/host.go:327 +0x139
github.com/containers/podman/v5/cmd/podman/machine.stop(0x5e81b40?, {0x5f18e20?, 0x0?, 0x0?})
        /private/tmp/podman-20240802-5624-r7twi4/cmd/podman/machine/stop.go:56 +0xcf
github.com/spf13/cobra.(*Command).execute(0x5e81b40, {0xc00003e2c0, 0x0, 0x0})
        /private/tmp/podman-20240802-5624-r7twi4/vendor/github.com/spf13/cobra/command.go:985 +0xaca
github.com/spf13/cobra.(*Command).ExecuteC(0x5e74f20)
        /private/tmp/podman-20240802-5624-r7twi4/vendor/github.com/spf13/cobra/command.go:1117 +0x3ff
github.com/spf13/cobra.(*Command).Execute(...)
        /private/tmp/podman-20240802-5624-r7twi4/vendor/github.com/spf13/cobra/command.go:1041
github.com/spf13/cobra.(*Command).ExecuteContext(...)
        /private/tmp/podman-20240802-5624-r7twi4/vendor/github.com/spf13/cobra/command.go:1034
main.Execute()
        /private/tmp/podman-20240802-5624-r7twi4/cmd/podman/root.go:116 +0xb4
main.main()
        /private/tmp/podman-20240802-5624-r7twi4/cmd/podman/main.go:61 +0x4b2

Metadata

Metadata

Assignees

Labels

kind/bugCategorizes issue or PR as related to a bug.locked - please file new issue/PRAssist humans wanting to comment on an old issue or PR with locked comments.machinemacosMacOS (OSX) relatedremoteProblem is in podman-remote

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions